├── .idea ├── .gitignore ├── runConfigurations.xml ├── compiler.xml ├── misc.xml └── jarRepositories.xml ├── README.md ├── target └── classes │ ├── mk │ └── ukim │ │ └── finki │ │ └── model │ │ ├── JenaModel.class │ │ ├── Medicine.class │ │ └── RDFReader.class │ └── DataForRDF.xml └── src └── main ├── resources └── DataForRDF.xml └── java └── mk └── ukim └── finki └── model ├── Medicine.java ├── RDFReader.java └── JenaModel.java /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Resource Description Framework also known as RDF 2 | Used syntaxes for developing this repository: 3 | - RDF/XML 4 | - N-TRIPLES 5 | - TURTLE 6 | - pretty RDF/XML 7 | -------------------------------------------------------------------------------- /target/classes/mk/ukim/finki/model/JenaModel.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gabrieldim/Resource-Description-Framework/HEAD/target/classes/mk/ukim/finki/model/JenaModel.class -------------------------------------------------------------------------------- /target/classes/mk/ukim/finki/model/Medicine.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gabrieldim/Resource-Description-Framework/HEAD/target/classes/mk/ukim/finki/model/Medicine.class -------------------------------------------------------------------------------- /target/classes/mk/ukim/finki/model/RDFReader.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gabrieldim/Resource-Description-Framework/HEAD/target/classes/mk/ukim/finki/model/RDFReader.class -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /target/classes/DataForRDF.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | Test Label 6 | Test Name 7 | 8 | 9 | test street 19 10 | email@test.com 11 | MK 12 | Gabriel D. 13 | 14 | -------------------------------------------------------------------------------- /src/main/resources/DataForRDF.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | Test Label 6 | Test Name 7 | 8 | 9 | test street 19 10 | email@test.com 11 | MK 12 | Gabriel D. 13 | 14 | -------------------------------------------------------------------------------- /src/main/java/mk/ukim/finki/model/Medicine.java: -------------------------------------------------------------------------------- 1 | package mk.ukim.finki.model; 2 | 3 | import org.apache.jena.rdf.model.Model; 4 | import org.apache.jena.rdf.model.ModelFactory; 5 | import org.apache.jena.util.FileManager; 6 | 7 | import java.io.InputStream; 8 | 9 | public class Medicine { 10 | public static void main(String[] args) { 11 | 12 | Model model = ModelFactory.createDefaultModel(); 13 | String filePDFReaderFromCourses = "/home/gabrieldim/Desktop/7mi semestar/vbs_lab/src/main/resources/hifm-dataset.ttl"; 14 | 15 | InputStream in = FileManager.get().open(filePDFReaderFromCourses); 16 | 17 | if(in == null){ 18 | throw new IllegalArgumentException("File: "+ filePDFReaderFromCourses); 19 | } 20 | 21 | model.read(in, "TURTLE"); 22 | 23 | model.write(System.out, "TURTLE"); 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 14 | 15 | 19 | 20 | -------------------------------------------------------------------------------- /src/main/java/mk/ukim/finki/model/RDFReader.java: -------------------------------------------------------------------------------- 1 | package mk.ukim.finki.model; 2 | 3 | import org.apache.jena.rdf.model.Model; 4 | import org.apache.jena.rdf.model.ModelFactory; 5 | import org.apache.jena.rdf.model.Resource; 6 | import org.apache.jena.util.FileManager; 7 | import org.apache.jena.vocabulary.VCARD; 8 | 9 | import java.io.InputStream; 10 | 11 | public class RDFReader { 12 | public static void main(String[] args) { 13 | 14 | Model model = ModelFactory.createDefaultModel(); 15 | 16 | String fileRDFReader = "/home/gabrieldim/Desktop/7mi semestar/vbs_lab/src/main/resources/DataForRDF.xml"; 17 | String profileURI = "https://www.linkedin.com/in/gabriel-dimitrievski-a678761a9/"; 18 | 19 | InputStream in = FileManager.get().open(fileRDFReader); 20 | 21 | if(in == null){ 22 | throw new IllegalArgumentException("File: "+ fileRDFReader); 23 | } 24 | 25 | model.read(in, "RDF/XML"); 26 | 27 | model.write(System.out, "TURTLE"); 28 | 29 | Resource myLinkedInProfile = model.getResource(profileURI); 30 | 31 | String email = myLinkedInProfile 32 | .getProperty(VCARD.EMAIL) 33 | .getString(); 34 | 35 | System.out.println("PRINT THE EMAIL: " + email); 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/mk/ukim/finki/model/JenaModel.java: -------------------------------------------------------------------------------- 1 | package mk.ukim.finki.model; 2 | 3 | import org.apache.jena.rdf.model.*; 4 | import org.apache.jena.vocabulary.VCARD; 5 | 6 | public class JenaModel { 7 | public static void main(String[] args) { 8 | 9 | String profileURI = "https://www.linkedin.com/in/gabriel-dimitrievski-a678761a9/"; 10 | String fullName = "Gabriel D."; 11 | 12 | Model model = ModelFactory.createDefaultModel(); 13 | 14 | Resource myLinkedInProfile = model.createResource(profileURI); 15 | 16 | myLinkedInProfile.addProperty(VCARD.FN, fullName) 17 | .addProperty(VCARD.Country, "MK") 18 | .addProperty(VCARD.EMAIL, "email@test.com") 19 | .addProperty(VCARD.Street,"test street 19") 20 | .addProperty(VCARD.ORG, model.createResource()) 21 | .addProperty(VCARD.NAME, "Test Name") 22 | .addProperty(VCARD.LABEL, "Test Label"); 23 | 24 | System.out.println("Printing with model.listStatements(): "); 25 | StmtIterator iter = model.listStatements(); 26 | 27 | while(iter.hasNext()){ 28 | Statement stmt = iter.nextStatement(); // get next statement 29 | Resource subject = stmt.getSubject(); // get the subject 30 | Property predicate = stmt.getPredicate(); // get the current predicate 31 | RDFNode object = stmt.getObject(); // get the object 32 | 33 | System.out.print(subject.toString()); 34 | System.out.print(" " + predicate.toString() + " "); 35 | if(object instanceof Resource){ 36 | System.out.print(object.toString()); 37 | } else{ 38 | // object is a literal 39 | System.out.print(" \"" + object.toString() + "\""); 40 | } 41 | System.out.println(" ."); 42 | } 43 | 44 | 45 | System.out.println("Printing with model.print(), in Turtle: "); 46 | 47 | System.out.println("Print as RDF/XML"); 48 | model.write(System.out); 49 | 50 | System.out.println("Print as pretty RDF/XML"); 51 | model.write(System.out, "RDF/XML-ABBREV"); 52 | 53 | System.out.println("Print as N-Triples:"); 54 | model.write(System.out,"N-TRIPLES"); 55 | 56 | System.out.println("Print as Turtle: "); 57 | model.write(System.out, "TURTLE"); 58 | } 59 | } 60 | --------------------------------------------------------------------------------