W3C home > Mailing lists > Public > public-sparql-dev@w3.org > April to June 2009

Re: Sparql query help

From: Samuel Pedro <samuelcpspam@gmail.com>
Date: Tue, 16 Jun 2009 18:49:32 +0100
Message-ID: <cc48d5440906161049x4733b34brcc9e057d190722c7@mail.gmail.com>
To: Paul Gearon <gearon@ieee.org>, Lee Feigenbaum <lee@thefigtrees.net>
Hi Paul, Hi Lee,

the query

PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX plate: <http://www.owl-ontologies.com/testFood2.owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?ingredients
 plate:ChickenWithTomato rdfs:subClassOf [
   owl:onProperty plate:hasIngridients ;
   owl:someValuesFrom ?ingredients

works fine in protégé, with jena not so ever but like paul said i need
pellet to work (must search how i do that)

but with

WHERE { plate:ChickenWithTomato plate:hasIngredients ?ingredients }

it doesn't work. i'm trying to install also IsaViz to see the graph but with
no sucess so far.

I have more questions, what do you mean by "You have the query the direct
triples"? You mean this?

<owl:Class rdf:about="#RedMeat">
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Red Meat</rdfs:label>
      <owl:Class rdf:about="#Meat"/>

 ( I really have to put IsaViz to work to understand this better.)

and other thing, in the last query
plate:ChickenWithTomato rdfs:subClassOf [
   owl:onProperty plate:hasIngridients ;
   owl:someValuesFrom ?ingredients...

can please explain better why it works? i'm trying to "read" it but i dont
understand it.

-> "the plate chicken with tomato (subject ) is subclass of (property)
((object) onProperty of the subject it hasIngredients; ((object) (have)
someValuesFrom ?ingredients"

ok, its wrong what im saying, but i'm just trying to understand what's
there... I notice that i'm search the "<rdfs:subClassOf>" of the node, is
that correct?

2009/6/14 Paul Gearon <gearon@ieee.org>

> On Sat, Jun 13, 2009 at 1:21 PM, Samuel Pedro<samuelcpspam@gmail.com>
> wrote:
> > I changed the ontology, have now this class,
> <snip/>
> At a glance it looks better. I haven't looked at it in detail though.
> > If i want to know which ingredients have the plate "Chicken with Onions"?
> > Shouldn´t be...
> >
> > PREFIX owl:<http://www.w3.org/2002/07/owl#>
> > PREFIX plate:<http://www.owl-ontologies.com/testFood2.owl#">
> > SELECT ?ingredients
> >
> > WHERE { ?ingredients owl:someValuesFrom plate:ChickenWithTomato } -->
> (how
> > do you read this?)
> >
> > what's wrong this time?
> For a start, Lee is right. You have the query the direct triples
> (unless you have something to generate inferred triples for you, like
> Pellet).
> Secondly, your use of owl:someValuesFrom in inappropriate. This is a
> predicate that is used to describe how a predicate works. It isn't
> used for specific instances of anything. In your ontology, you've used
> this predicate to describe a constraint on the use of #hasIngredient.
> Presuming you have a reasoner running (generating inferred triples),
> then you should be asking:
> WHERE { plate:ChickenWithTomato plate:hasIngredients ?ingredients }
> Paul

Samuel Pedro
Received on Tuesday, 16 June 2009 17:50:04 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:15:50 UTC