From 4285edc5155a03bddd3ffbcee779b4c5f6e213d0 Mon Sep 17 00:00:00 2001 From: rortegagit <32016141+rortegagit@users.noreply.github.com> Date: Mon, 18 Dec 2017 20:55:25 +0100 Subject: [PATCH 1/9] =?UTF-8?q?Create=20Ra=C3=BAl=20Ortega=20Gonz=C3=A1lez?= =?UTF-8?q?=20-=20u120175?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...303\272l Ortega Gonz\303\241lez - u120175" | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 "Assignment3/Ra\303\272l Ortega Gonz\303\241lez - u120175" diff --git "a/Assignment3/Ra\303\272l Ortega Gonz\303\241lez - u120175" "b/Assignment3/Ra\303\272l Ortega Gonz\303\241lez - u120175" new file mode 100644 index 00000000..5aeb5e60 --- /dev/null +++ "b/Assignment3/Ra\303\272l Ortega Gonz\303\241lez - u120175" @@ -0,0 +1,73 @@ +package semanticweb.assignment3; + +import java.io.InputStream; + +import org.apache.jena.ontology.Individual; +import org.apache.jena.ontology.OntClass; +import org.apache.jena.ontology.OntModel; +import org.apache.jena.ontology.OntModelSpec; +import org.apache.jena.rdf.model.ModelFactory; +import org.apache.jena.rdf.model.Property; +import org.apache.jena.util.FileManager; +import org.apache.jena.vocabulary.VCARD; + +/** + * Task 07: Querying ontologies (RDFs) + * @author elozano + * @author isantana + * + */ +public class Task06 +{ + public static String ns = "http://somewhere#"; + public static String foafNS = "http://xmlns.com/foaf/0.1/"; + public static String foafEmailURI = foafNS+"email"; + public static String foafKnowsURI = foafNS+"knows"; + public static String stringTypeURI = "http://www.w3.org/2001/XMLSchema#string"; + + public static void main(String args[]) + { + String filename = "resources/example5.rdf"; + + // Create an empty model + OntModel model = ModelFactory.createOntologyModel(OntModelSpec.RDFS_MEM); + + // Use the FileManager to find the input file + InputStream in = FileManager.get().open(filename); + + if (in == null) + throw new IllegalArgumentException("File: "+filename+" not found"); + + // Read the RDF/XML file + model.read(in, null); + + // Create a new class named "Researcher" + OntClass researcher = model.createClass(ns+"Researcher"); + + // ** TASK 6.1: Create a new class named "University" ** + OntClass university = model.createClass(ns+"University"); + + // ** TASK 6.2: Add "Researcher" as a subclass of "Person" ** + model.getOntClass(ns+"Person").addSubClass(researcher); + + // ** TASK 6.3: Create a new property named "worksIn" ** + Property worksIn = model.createProperty(ns+"worksIn"); + + // ** TASK 6.4: Create a new individual of Researcher named "Jane Smith" ** + Individual janeSmith = researcher.createIndividual(ns+"Jane Smith"); + + + // ** TASK 6.5: Add to the individual JaneSmith the fullName, given and family names ** + janeSmith.addProperty(VCARD.FN, janeSmith); + janeSmith.addProperty(VCARD.Given, janeSmith); + janeSmith.addProperty(VCARD.Family, janeSmith); + + // ** TASK 6.6: Add UPM as the university where John Smith works ** + Individual johnSmith = model.getIndividual(ns + "John Smith"); + Individual UPM = university.createIndividual(ns + "UPM"); + johnSmith.addProperty(worksIn, UPM); + + + model.write(System.out, "RDF/XML-ABBREV"); + } +} From d16acb3cee33ce14966d22f4a6a42a4de09fcb58 Mon Sep 17 00:00:00 2001 From: rortegagit <32016141+rortegagit@users.noreply.github.com> Date: Mon, 18 Dec 2017 20:56:11 +0100 Subject: [PATCH 2/9] =?UTF-8?q?Delete=20Ra=C3=BAl=20Ortega=20Gonz=C3=A1lez?= =?UTF-8?q?=20-=20u120175?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...303\272l Ortega Gonz\303\241lez - u120175" | 73 ------------------- 1 file changed, 73 deletions(-) delete mode 100644 "Assignment3/Ra\303\272l Ortega Gonz\303\241lez - u120175" diff --git "a/Assignment3/Ra\303\272l Ortega Gonz\303\241lez - u120175" "b/Assignment3/Ra\303\272l Ortega Gonz\303\241lez - u120175" deleted file mode 100644 index 5aeb5e60..00000000 --- "a/Assignment3/Ra\303\272l Ortega Gonz\303\241lez - u120175" +++ /dev/null @@ -1,73 +0,0 @@ -package semanticweb.assignment3; - -import java.io.InputStream; - -import org.apache.jena.ontology.Individual; -import org.apache.jena.ontology.OntClass; -import org.apache.jena.ontology.OntModel; -import org.apache.jena.ontology.OntModelSpec; -import org.apache.jena.rdf.model.ModelFactory; -import org.apache.jena.rdf.model.Property; -import org.apache.jena.util.FileManager; -import org.apache.jena.vocabulary.VCARD; - -/** - * Task 07: Querying ontologies (RDFs) - * @author elozano - * @author isantana - * - */ -public class Task06 -{ - public static String ns = "http://somewhere#"; - public static String foafNS = "http://xmlns.com/foaf/0.1/"; - public static String foafEmailURI = foafNS+"email"; - public static String foafKnowsURI = foafNS+"knows"; - public static String stringTypeURI = "http://www.w3.org/2001/XMLSchema#string"; - - public static void main(String args[]) - { - String filename = "resources/example5.rdf"; - - // Create an empty model - OntModel model = ModelFactory.createOntologyModel(OntModelSpec.RDFS_MEM); - - // Use the FileManager to find the input file - InputStream in = FileManager.get().open(filename); - - if (in == null) - throw new IllegalArgumentException("File: "+filename+" not found"); - - // Read the RDF/XML file - model.read(in, null); - - // Create a new class named "Researcher" - OntClass researcher = model.createClass(ns+"Researcher"); - - // ** TASK 6.1: Create a new class named "University" ** - OntClass university = model.createClass(ns+"University"); - - // ** TASK 6.2: Add "Researcher" as a subclass of "Person" ** - model.getOntClass(ns+"Person").addSubClass(researcher); - - // ** TASK 6.3: Create a new property named "worksIn" ** - Property worksIn = model.createProperty(ns+"worksIn"); - - // ** TASK 6.4: Create a new individual of Researcher named "Jane Smith" ** - Individual janeSmith = researcher.createIndividual(ns+"Jane Smith"); - - - // ** TASK 6.5: Add to the individual JaneSmith the fullName, given and family names ** - janeSmith.addProperty(VCARD.FN, janeSmith); - janeSmith.addProperty(VCARD.Given, janeSmith); - janeSmith.addProperty(VCARD.Family, janeSmith); - - // ** TASK 6.6: Add UPM as the university where John Smith works ** - Individual johnSmith = model.getIndividual(ns + "John Smith"); - Individual UPM = university.createIndividual(ns + "UPM"); - johnSmith.addProperty(worksIn, UPM); - - - model.write(System.out, "RDF/XML-ABBREV"); - } -} From c153c5d4edd9d62277d725fabd2e243e96e931e1 Mon Sep 17 00:00:00 2001 From: rortegagit <32016141+rortegagit@users.noreply.github.com> Date: Mon, 18 Dec 2017 20:56:42 +0100 Subject: [PATCH 3/9] Create Task06.java --- .../Task06.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Assignment3/Ra-l Ortega Gonz-lez - u120175/Task06.java diff --git a/Assignment3/Ra-l Ortega Gonz-lez - u120175/Task06.java b/Assignment3/Ra-l Ortega Gonz-lez - u120175/Task06.java new file mode 100644 index 00000000..5aeb5e60 --- /dev/null +++ b/Assignment3/Ra-l Ortega Gonz-lez - u120175/Task06.java @@ -0,0 +1,73 @@ +package semanticweb.assignment3; + +import java.io.InputStream; + +import org.apache.jena.ontology.Individual; +import org.apache.jena.ontology.OntClass; +import org.apache.jena.ontology.OntModel; +import org.apache.jena.ontology.OntModelSpec; +import org.apache.jena.rdf.model.ModelFactory; +import org.apache.jena.rdf.model.Property; +import org.apache.jena.util.FileManager; +import org.apache.jena.vocabulary.VCARD; + +/** + * Task 07: Querying ontologies (RDFs) + * @author elozano + * @author isantana + * + */ +public class Task06 +{ + public static String ns = "http://somewhere#"; + public static String foafNS = "http://xmlns.com/foaf/0.1/"; + public static String foafEmailURI = foafNS+"email"; + public static String foafKnowsURI = foafNS+"knows"; + public static String stringTypeURI = "http://www.w3.org/2001/XMLSchema#string"; + + public static void main(String args[]) + { + String filename = "resources/example5.rdf"; + + // Create an empty model + OntModel model = ModelFactory.createOntologyModel(OntModelSpec.RDFS_MEM); + + // Use the FileManager to find the input file + InputStream in = FileManager.get().open(filename); + + if (in == null) + throw new IllegalArgumentException("File: "+filename+" not found"); + + // Read the RDF/XML file + model.read(in, null); + + // Create a new class named "Researcher" + OntClass researcher = model.createClass(ns+"Researcher"); + + // ** TASK 6.1: Create a new class named "University" ** + OntClass university = model.createClass(ns+"University"); + + // ** TASK 6.2: Add "Researcher" as a subclass of "Person" ** + model.getOntClass(ns+"Person").addSubClass(researcher); + + // ** TASK 6.3: Create a new property named "worksIn" ** + Property worksIn = model.createProperty(ns+"worksIn"); + + // ** TASK 6.4: Create a new individual of Researcher named "Jane Smith" ** + Individual janeSmith = researcher.createIndividual(ns+"Jane Smith"); + + + // ** TASK 6.5: Add to the individual JaneSmith the fullName, given and family names ** + janeSmith.addProperty(VCARD.FN, janeSmith); + janeSmith.addProperty(VCARD.Given, janeSmith); + janeSmith.addProperty(VCARD.Family, janeSmith); + + // ** TASK 6.6: Add UPM as the university where John Smith works ** + Individual johnSmith = model.getIndividual(ns + "John Smith"); + Individual UPM = university.createIndividual(ns + "UPM"); + johnSmith.addProperty(worksIn, UPM); + + + model.write(System.out, "RDF/XML-ABBREV"); + } +} From ca41472f7c459957d94d0e118dd11cc33bb92e75 Mon Sep 17 00:00:00 2001 From: rortegagit <32016141+rortegagit@users.noreply.github.com> Date: Mon, 18 Dec 2017 20:57:05 +0100 Subject: [PATCH 4/9] Add files via upload --- .../Task07.java | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Assignment3/Ra-l Ortega Gonz-lez - u120175/Task07.java diff --git a/Assignment3/Ra-l Ortega Gonz-lez - u120175/Task07.java b/Assignment3/Ra-l Ortega Gonz-lez - u120175/Task07.java new file mode 100644 index 00000000..b1b46163 --- /dev/null +++ b/Assignment3/Ra-l Ortega Gonz-lez - u120175/Task07.java @@ -0,0 +1,66 @@ +package semanticweb.assignment3; + +import java.io.InputStream; + +import org.apache.jena.ontology.Individual; +import org.apache.jena.ontology.OntClass; +import org.apache.jena.ontology.OntModel; +import org.apache.jena.ontology.OntModelSpec; +import org.apache.jena.rdf.model.ModelFactory; +import org.apache.jena.util.FileManager; +import org.apache.jena.util.iterator.ExtendedIterator; + +/** + * Task 07: Querying ontologies (RDFs) + * @author elozano + * @author isantana + * + */ +public class Task07 +{ + public static String ns = "http://somewhere#"; + + public static void main(String args[]) + { + String filename = "resources/example6.rdf"; + + // Create an empty model + OntModel model = ModelFactory.createOntologyModel(OntModelSpec.RDFS_MEM); + + // Use the FileManager to find the input file + InputStream in = FileManager.get().open(filename); + + if (in == null) + throw new IllegalArgumentException("File: "+filename+" not found"); + + // Read the RDF/XML file + model.read(in, null); + + + // ** TASK 7.1: List all individuals of "Person" ** + OntClass person = model.getOntClass(ns+"Person"); + ExtendedIterator it1 = model.listIndividuals(person); + while(it1.hasNext()){ + System.out.println(it1.next()); + } + + // ** TASK 7.2: List all subclasses of "Person" ** + ExtendedIterator it2 = person.listSubClasses(); + while(it2.hasNext()){ + System.out.println(it2.next()); + } + + // ** TASK 7.3: Make the necessary changes to get as well indirect instances and subclasses. TIP: you need some inference... ** + OntModel model2 = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM_RDFS_INF,model); + OntClass persona = model2.getOntClass(ns+"Person"); + ExtendedIterator it3 = model2.listIndividuals(persona); + ExtendedIterator it4 = persona.listSubClasses(); + while(it3.hasNext()){ + Individual inf = it3.next(); + System.out.println(inf.getURI()); + } + while(it4.hasNext()){ + System.out.println(it4.next()); + } + } +} From f7ed20ef2c9142847e3010aeaeffb3175e5ca5f0 Mon Sep 17 00:00:00 2001 From: rortegagit <32016141+rortegagit@users.noreply.github.com> Date: Mon, 18 Dec 2017 20:58:15 +0100 Subject: [PATCH 5/9] Rename Assignment3/Ra-l Ortega Gonz-lez - u120175/Task06.java to Assignment3/Raul Ortega Gonzalez - u120175/Task06 --- .../Task06.java => Raul Ortega Gonzalez - u120175/Task06} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Assignment3/{Ra-l Ortega Gonz-lez - u120175/Task06.java => Raul Ortega Gonzalez - u120175/Task06} (100%) diff --git a/Assignment3/Ra-l Ortega Gonz-lez - u120175/Task06.java b/Assignment3/Raul Ortega Gonzalez - u120175/Task06 similarity index 100% rename from Assignment3/Ra-l Ortega Gonz-lez - u120175/Task06.java rename to Assignment3/Raul Ortega Gonzalez - u120175/Task06 From 2e447e3232b0afb2cbd18aeb54600086a1a16a01 Mon Sep 17 00:00:00 2001 From: rortegagit <32016141+rortegagit@users.noreply.github.com> Date: Mon, 18 Dec 2017 20:58:28 +0100 Subject: [PATCH 6/9] Add files via upload --- .../Task07.java | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Assignment3/Raul Ortega Gonzalez - u120175/Task07.java diff --git a/Assignment3/Raul Ortega Gonzalez - u120175/Task07.java b/Assignment3/Raul Ortega Gonzalez - u120175/Task07.java new file mode 100644 index 00000000..b1b46163 --- /dev/null +++ b/Assignment3/Raul Ortega Gonzalez - u120175/Task07.java @@ -0,0 +1,66 @@ +package semanticweb.assignment3; + +import java.io.InputStream; + +import org.apache.jena.ontology.Individual; +import org.apache.jena.ontology.OntClass; +import org.apache.jena.ontology.OntModel; +import org.apache.jena.ontology.OntModelSpec; +import org.apache.jena.rdf.model.ModelFactory; +import org.apache.jena.util.FileManager; +import org.apache.jena.util.iterator.ExtendedIterator; + +/** + * Task 07: Querying ontologies (RDFs) + * @author elozano + * @author isantana + * + */ +public class Task07 +{ + public static String ns = "http://somewhere#"; + + public static void main(String args[]) + { + String filename = "resources/example6.rdf"; + + // Create an empty model + OntModel model = ModelFactory.createOntologyModel(OntModelSpec.RDFS_MEM); + + // Use the FileManager to find the input file + InputStream in = FileManager.get().open(filename); + + if (in == null) + throw new IllegalArgumentException("File: "+filename+" not found"); + + // Read the RDF/XML file + model.read(in, null); + + + // ** TASK 7.1: List all individuals of "Person" ** + OntClass person = model.getOntClass(ns+"Person"); + ExtendedIterator it1 = model.listIndividuals(person); + while(it1.hasNext()){ + System.out.println(it1.next()); + } + + // ** TASK 7.2: List all subclasses of "Person" ** + ExtendedIterator it2 = person.listSubClasses(); + while(it2.hasNext()){ + System.out.println(it2.next()); + } + + // ** TASK 7.3: Make the necessary changes to get as well indirect instances and subclasses. TIP: you need some inference... ** + OntModel model2 = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM_RDFS_INF,model); + OntClass persona = model2.getOntClass(ns+"Person"); + ExtendedIterator it3 = model2.listIndividuals(persona); + ExtendedIterator it4 = persona.listSubClasses(); + while(it3.hasNext()){ + Individual inf = it3.next(); + System.out.println(inf.getURI()); + } + while(it4.hasNext()){ + System.out.println(it4.next()); + } + } +} From 7ad4a85bd4ffef8b5f51333649f1ed8d34418052 Mon Sep 17 00:00:00 2001 From: rortegagit <32016141+rortegagit@users.noreply.github.com> Date: Mon, 18 Dec 2017 20:58:53 +0100 Subject: [PATCH 7/9] Rename Task06 to Task06.java --- .../Raul Ortega Gonzalez - u120175/{Task06 => Task06.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Assignment3/Raul Ortega Gonzalez - u120175/{Task06 => Task06.java} (100%) diff --git a/Assignment3/Raul Ortega Gonzalez - u120175/Task06 b/Assignment3/Raul Ortega Gonzalez - u120175/Task06.java similarity index 100% rename from Assignment3/Raul Ortega Gonzalez - u120175/Task06 rename to Assignment3/Raul Ortega Gonzalez - u120175/Task06.java From b96a1fd222297bd46bed67f6de4c38df10e0af9f Mon Sep 17 00:00:00 2001 From: rortegagit <32016141+rortegagit@users.noreply.github.com> Date: Mon, 18 Dec 2017 20:59:34 +0100 Subject: [PATCH 8/9] Delete Task07.java --- .../Task07.java | 66 ------------------- 1 file changed, 66 deletions(-) delete mode 100644 Assignment3/Raul Ortega Gonzalez - u120175/Task07.java diff --git a/Assignment3/Raul Ortega Gonzalez - u120175/Task07.java b/Assignment3/Raul Ortega Gonzalez - u120175/Task07.java deleted file mode 100644 index b1b46163..00000000 --- a/Assignment3/Raul Ortega Gonzalez - u120175/Task07.java +++ /dev/null @@ -1,66 +0,0 @@ -package semanticweb.assignment3; - -import java.io.InputStream; - -import org.apache.jena.ontology.Individual; -import org.apache.jena.ontology.OntClass; -import org.apache.jena.ontology.OntModel; -import org.apache.jena.ontology.OntModelSpec; -import org.apache.jena.rdf.model.ModelFactory; -import org.apache.jena.util.FileManager; -import org.apache.jena.util.iterator.ExtendedIterator; - -/** - * Task 07: Querying ontologies (RDFs) - * @author elozano - * @author isantana - * - */ -public class Task07 -{ - public static String ns = "http://somewhere#"; - - public static void main(String args[]) - { - String filename = "resources/example6.rdf"; - - // Create an empty model - OntModel model = ModelFactory.createOntologyModel(OntModelSpec.RDFS_MEM); - - // Use the FileManager to find the input file - InputStream in = FileManager.get().open(filename); - - if (in == null) - throw new IllegalArgumentException("File: "+filename+" not found"); - - // Read the RDF/XML file - model.read(in, null); - - - // ** TASK 7.1: List all individuals of "Person" ** - OntClass person = model.getOntClass(ns+"Person"); - ExtendedIterator it1 = model.listIndividuals(person); - while(it1.hasNext()){ - System.out.println(it1.next()); - } - - // ** TASK 7.2: List all subclasses of "Person" ** - ExtendedIterator it2 = person.listSubClasses(); - while(it2.hasNext()){ - System.out.println(it2.next()); - } - - // ** TASK 7.3: Make the necessary changes to get as well indirect instances and subclasses. TIP: you need some inference... ** - OntModel model2 = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM_RDFS_INF,model); - OntClass persona = model2.getOntClass(ns+"Person"); - ExtendedIterator it3 = model2.listIndividuals(persona); - ExtendedIterator it4 = persona.listSubClasses(); - while(it3.hasNext()){ - Individual inf = it3.next(); - System.out.println(inf.getURI()); - } - while(it4.hasNext()){ - System.out.println(it4.next()); - } - } -} From 7a1de0ddd684377c3995c9232e5d2297db4ec659 Mon Sep 17 00:00:00 2001 From: rortegagit <32016141+rortegagit@users.noreply.github.com> Date: Mon, 18 Dec 2017 21:00:07 +0100 Subject: [PATCH 9/9] Rename Assignment3/Ra-l Ortega Gonz-lez - u120175/Task07.java to Assignment3/Raul Ortega Gonzalez - u120175/Task07.java --- .../Task07.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Assignment3/{Ra-l Ortega Gonz-lez - u120175 => Raul Ortega Gonzalez - u120175}/Task07.java (100%) diff --git a/Assignment3/Ra-l Ortega Gonz-lez - u120175/Task07.java b/Assignment3/Raul Ortega Gonzalez - u120175/Task07.java similarity index 100% rename from Assignment3/Ra-l Ortega Gonz-lez - u120175/Task07.java rename to Assignment3/Raul Ortega Gonzalez - u120175/Task07.java