- From: Lee Feigenbaum <feigenbl@us.ibm.com>
- Date: Wed, 14 Jun 2006 10:41:16 -0400
- To: Faisal.Alkhateeb@inrialpes.fr, public-rdf-dawg-comments@w3.org
Hello, Thank you for your feedback. I've attempted to address your questions and comments inline below. --- Please respond indicating whether you are or are not satisfied with this response. If you are, you can help our issue tracking system by prefixing the subject of your response with [CLOSED] (where this subject has [OK?]). --- Faisal Alkhateeb wrote on 06/14/2006 04:33:52 AM: > > Hi, > > While reading the last version of SPARQL, I am surprised with the following > definition. I don't know if the semantics of RDF (and consequently SPARQL) is > changed. > > > Definition: Triple Pattern > > A triple pattern is member of the set: > (RDF-T union V) x (I union V) x (RDF-T union V) > > >From the above definition, the literals are allowed in the subject position. > However, they are not allowed in RDF. So, I want to know if it is a > mistake or > not? As per the text following this definition at http://www.w3.org/TR/rdf-sparql-query/#BasicGraphPattern: """ This definition of Triple Pattern includes literal subjects. This has been noted by RDF-core. "[The RDF core Working Group] noted that it is aware of no reason why literals should not be subjects and a future WG with a less restrictive charter may extend the syntaxes to allow literals as the subjects of statements." Any SPARQL triple pattern with a literal as subject will fail to match on any RDF graph. """ That is to say, the syntax for triple patterns within SPARQL does indeed allow literals as subjects, but because current RDF syntax does not allow literal subjects, such a triple pattern will not match against an RDF graph. > - For blanks in SPARQL, I want to know if they act as variables or not, that > is, if a blank can be mapped to any RDF term (or just to a resource)? I need > some explannation on that, because blanks = anonymous variables. What is a > resource? Is it a literal or an IRI or just an IRI? Blank nodes in a triple pattern can match any type of RDF Term (URI reference, (plain or typed) literal, or blank node) in the target dataset. (This is a consequence of the simple-entailment based definition of pattern matching in http://www.w3.org/TR/rdf-sparql-query/#BGPgeneral and the definitions of simple entailment and graph instances as per http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#entail and http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#graphdefs .) For the most part, then, blank nodes function as non-distinguished variables, with the caveat be that blank node labels are scoped only to basic graph patterns. (Therefore, for instance { { _:a :p :o } { _:a :p2 :o2 } } is the same graph pattern as { { _:a :p :o } { _:b :p :o } }. > - Is the case that blanks are not allowed in the predicate position? SPARQL does allow blank nodes in the predicate position of triple patterns. As per http://www.w3.org/TR/rdf-sparql-query/#BasicGraphPattern: """ This definition also allows blank nodes in the predicate position. """ thanks, Lee > > Best regards, > Faisal Alkhateeb > Ph.d. student, INRIA Rhône-Alpes >
Received on Wednesday, 14 June 2006 14:44:07 UTC