├── .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 |
6 |
7 |
8 |
9 |
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 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
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 |
--------------------------------------------------------------------------------