- From: Axel Polleres <axel.polleres@deri.org>
- Date: Fri, 12 Jun 2009 17:13:56 +0200
- To: Stephane Corlosquet <scorlosquet@gmail.com>
- CC: Samuel Pedro <samuelcpspam@gmail.com>, Lee Feigenbaum <lee@thefigtrees.net>, public-sparql-dev@w3.org
Stephane Corlosquet wrote: > Hi Samuel, > > You cannot use ?meatClass owl:Class "Pig" in your WHERE clause because > it is not a valid pattern. You should follow the {subject property > object} pattern in your WHERE clause. owl:Class is a class and not a > property. > > Stephane. This is, strictly speaking, not entirely correct. Syntactically ?meatClass owl:Class "Pig" . is totally fine. But, as Lee already mentioned and Steph probably tried to make clearer, we'd need to know your data/schema, i.e. what property carry the "Pig" label in order to help you. Can you post some example graph on which you want to pose that query? Axel > On Fri, Jun 12, 2009 at 3:52 PM, Samuel Pedro <samuelcpspam@gmail.com > <mailto:samuelcpspam@gmail.com>> wrote: > > 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 > <mailto: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 > > > > -- Dr. Axel Polleres Digital Enterprise Research Institute, National University of Ireland, Galway email: axel.polleres@deri.org url: http://www.polleres.net/
Received on Friday, 12 June 2009 15:14:35 UTC