- From: Bijan Parsia <bparsia@isr.umd.edu>
- Date: Wed, 13 Apr 2005 08:53:17 -0400
- To: andy.seaborne@hp.com
- Cc: DAWG Mailing List <public-rdf-dawg@w3.org>
On Apr 13, 2005, at 4:14 AM, Seaborne, Andy wrote: > Bijan Parsia wrote: >> http://www.w3.org/2001/sw/DataAccess/rq23/#GraphPatternMatching >> I find the example: >> SELECT ?x ?v WHERE ( ?x ?x ?v ) >> against >> rdf:type rdf:type rdf:Property . >> and >> rdfs:seeAlso rdf:type rdf:Property . >> To be a bit abstruse, involving reflection on the rdf syntax. Perhaps >> the following would do just as well, and be more in the spirit of the >> other examples: >> SELECT ?x ?v WHERE ( ?x ?v ?x) >> against: >> :bob ns:loves :bob >> and >> :bob ns:loves :mary > > I will see about a new example. Great! All I care about is that it's not tricky. >> (Actually, I don't know how this query would behave/ought to behave >> in the presense of equivalentTos and other OWLisms) > > Is there an example you woudl provide to illusrate the problems? Not really. I can't remember what I was thinking. > As an RDF query language, all that matters is the appearance of the > graph to graph pattern matching. How that graph came about is outside > pattern matching. This relies on always getting a graph of the right form. I'm unclear how well this works with more expressive languages. It is something I am investigating. (Of course, the simplest thing to do is to be very conservative about queries. So, for example, in OWL DL, since in the *abstract model*, the only triply part is the ABox, perhaps one should fail all the queries that reflect on the tbox or on class expression syntax. That's viable, I think.) >> In any case, something a bit more concrete seems to be in order. >> Actually, you could just have >> SELECT ?x ?v WHERE ( ?x foaf:knows :mary) >> against >> :bob foaf:knows :mary. > > That is a bit odd because FOAF is typically bNodes for people, not > URIs. Generally, we have tried to use FOAF in "the usual way" (an > undefined term :-). Yes, sorry. I was just trying to grap a known term. So SELECT ?x WHERE (?x dc:creator "Dance Steps for the Legally Clumsy") against :trippy dc:creator "Dance Steps for the Legally Clumsy" and :trippy dc:creator "How to Wear your hat" The main point being is that match failure can be done with a single variable or no variable. Cheers, Bijan.
Received on Wednesday, 13 April 2005 12:53:20 UTC