Hello all, For the university, we need to calculate the compatibility of two persons, based on their FOAF-profiles. My idea was (amongst others) to take a look at the interests of people and resolve whether they are similar. Here is what I am trying to do Person A has the following in his profile: <foaf:interest rdf:resource="http://en.wikipedia.org/wiki/Taekwondo" /> Person B has the following: <foaf:interest rdf:resource="http://en.wikipedia.org/wiki/Soccer" /> Via an ontology, I would like to conclude that they are both interested in sports: <owl:Class rdf:ID="Sports" /> <owl:Class rdf:ID="Taekwondo"> <subClassOf rdf:resource="#Sports"/> <label xml:lang="en">Taekwondo</label> <label xml:lang="nl">Taekwondo</label> <owl:sameAs rdf:resource="http://en.wikipedia.org/wiki/Taekwondo" /> </owl:Class> <owl:Class rdf:ID="Soccer"> <rdfs:subClassOf rdf:resource="#Sports" /> <label xml:lang="en">Soccer</label> <label xml:lang="nl">Voetbal</label> </owl:Class> I would like to get the information using SPARQL and that is where things go wrong: Test for one person only using Jena: Model schemaModel = ModelFactory.createDefaultModel().read(" http://localhost/f/sports.owl.txt"); Model instanceModel = ModelFactory.createDefaultModel().read(fstUrl); Model infModel = ModelFactory.createRDFSModel(schemaModel, instanceModel); String queryString = "PREFIX foaf: <http://xmlns.com/foaf/0.1/> " + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> " + "PREFIX ont: <http://localhost/f/sports.owl.rdf> " + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> " + "SELECT ?personId ?interest " + " WHERE { " + " ?person a foaf:Person . " + " ?person foaf:interest ?interest . " + " ?interest a ont:Sport . " + " OPTIONAL { ?person foaf:maker ?personId } . " + " OPTIONAL { ?person foaf:mbox ?personId } . " + " OPTIONAL { ?person foaf:mbox_sha1sum ?personId } . " + "}"; Query query = QueryFactory.create(queryString); QueryExecution qe = QueryExecutionFactory.create(query, infModel); ResultSet results = qe.execSelect(); ResultSetFormatter.out(System.out, results); Any input appreciated BarryReceived on Wednesday, 26 November 2008 12:51:05 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 26 November 2008 12:51:06 GMT