W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > January to March 2005

Re: Observations (named graphs, blank node closures)

From: Giovanni Tummarello <giovanni@wup.it>
Date: Sun, 20 Feb 2005 16:57:01 +0100
Message-ID: <4218B34D.6000602@wup.it>
To: public-rdf-dawg@w3.org


If i understand right, it  is  not the same as in my example

In my example I was binding the reification node, something defined in 
the standard, and that can be used to define the context of that triple 
with ease (you got a node, you can attach metadata to it, simple).

In the example you give the fuzzy value  must be the same for each 
triple in the graph. So in case of continuous values you would might end 
up with single GRAPH per triple. Evan admitting this was ok (And useful) 
i get the impression things complicate much more.
For example if one had to define another context called "color" (on top 
of the fuzzy on).

By using the RDF standard reification you just add the property red 
where appropriate and when querying for fuzzy >0.7 and not red you 
simply add "and not (?r hasColor "Red")" to the previous query in my 
example.

in the named graph + graph keyword...
First you have to duplicate the triples. They must appear both in each 
of their individual graphs related to their fuzzy value then in each 
graph related to the color. (since of course color and fuzzy value are 
independent from each other).
Then when querying you must come up with support for intelligent merging 
of results,
First you ask from the graphs who have fuzzyvalue>5 a list of candidate 
triples, then you ask from the graphs with the color a list of red 
triples, then you must subtract the 2 sets.
.. I hope i am exaggerating and is really much simpler than this  :-)

Giovanni

 >>Wouldnt it be fairly simple to add an automatic binding to the
 >> "statement" as a 4th node for each triple and this to bind this to the
 >> reification node/s?
 >>
 >> Example
 >>
 >> SELECT ?name ?mbox ?date WHERE
 >> (?g dc:publisher ?name ?triplecontext)
 >> (?g dc:date ?date )
 >> (?triplecontext fuzzyont:certainty ?fuzzyval) and ?fuzzyval <0.8
 >>
 >> with ?triplecontext binding to the reification node of the said triple.
 >> (if any)

 >The named graphs stuff asside, this is what the GRAPH keyword does.
 >eg. your example above becomes:
 >
 >SELECT ?name ?mbox ?date WHERE
 >       GRAPH ?triplecontext (?g dc:publisher ?name)
 >      (?g dc:date ?date ) (?triplecontext fuzzyont:certainty 
?fuzzyval) and ?fuzzyval <0.8
 >
 >My store is one of those that supports triple context via quads, 
currently using exactly the syntaxic construct you give abover. However 
I >prefer the GRAPH keyword for readability, unambiguity and 
extensibility. - Steve
Received on Sunday, 20 February 2005 15:58:43 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:22 GMT