- From: Samuel Pedro <samuelcpspam@gmail.com>
- Date: Fri, 12 Jun 2009 15:52:39 +0100
- To: Lee Feigenbaum <lee@thefigtrees.net>
- Cc: public-sparql-dev@w3.org
- Message-ID: <cc48d5440906120752r35b28803rf5c30df25ecc17c@mail.gmail.com>
This is my owl file, i had to add labels to the classes, and do this: SELECT ?equivalentClass ?meatClass WHERE { ?equivalentClass owl:equivalentClass ?meatClass . ?meatClass rdfs:label "Pig" . (in owl file i have Pig and Pig2) } and why this query doesnt work, why it only works for labels? (I'm trying to understand sparql but...) SELECT ?equivalentClass ?meatClass WHERE { ?equivalentClass owl:equivalentClass ?meatClass . ?meatClass owl:Class "Pig" . } 2009/6/12 Lee Feigenbaum <lee@thefigtrees.net> > Samuel Pedro wrote: > >> Im trying to do this query... >> >> SELECT ?subject ?object >> WHERE { ?subject owl:equivalenteClass ?object FILTER( ?object = "Meat") } >> >> im trying to find the equivalente Class of meat, but it doesn't return >> what i want, what am i doing wrong? >> >> if i do this... >> >> SELECT ?subject ?object >> WHERE { ?subject owl:equivalenteClass ?object FILTER( ?object != "Meat") } >> >> i get all the equivalent class that there is in the owl. why? >> > > Without seeing your data, it's hard to say for sure, but I think it's > pretty likely that your classes are resources (URIs) and "Meat" is just a > label for the class. If this is right, you probably want a query similar to: > > SELECT ?equivalentClass ?meatClass > WHERE { > ?equivalentClass owl:equivalentClass ?meatClass . > ?meatClass rdfs:label "Meat" . > } > > > The details will vary depending on what predicate is used to give a label > to your classes (in my example I assume that it's rdfs:label). Also, note > that the label needs to be exactly "Meat" for this to work. > > hope this helps, > Lee >
Attachments
- application/octet-stream attachment: twoExamples.owl
Received on Friday, 12 June 2009 14:53:16 UTC