- From: Pat Hayes <phayes@ihmc.us>
- Date: Sat, 18 Dec 2004 21:25:42 -0800
- To: "Seaborne, Andy" <andy.seaborne@hp.com>
- Cc: public-rdf-dawg@w3.org
- Message-Id: <p06001f12bdeabda8bd3a@[192.168.1.7]>
> >The intent of the CONSTRUCT is that it should not create two different bNodes: Yes, OK, I see that now. So right, the language to use is that the result is the union of the pattern instances, not the merge. However, there are some more issues with CONSTRUCT. First, there is the issue of whether the pattern after the CONSTRUCT is allowed to contain bnodes. Patterns are not allowed to contain bnodes; and yet in an earlier email you seemed to be saying (?) that the pattern pat1 in CONSTRUCT pat1 WHERE pat2 can contain bnodes. If so, it's not a pattern as we have defined it; and since it can contain variables its not a graph, so it will have to be an entirely new kind of thing. Which is OK, we can do that, but we need to be clear (I need to be clear). So, what's the story here? Bnodes allowed in pat1 or not? Second, what do we do if there is an instance mapping S for pat2 such that S(pat1) is not a legal RDF graph? For example: CONSTRUCT (ex:a ?x ex:b) WHERE ?y foo ?x with a target containing the triple ex:aa foo "13"^^xsd:number . which would try to put a literal into the predicate position. As we have defined it, this would be a legal pattern instance, but it wouldn't be a legal RDF triple. So what gets constructed in a case like this? More generally, why do we restrict pat1 to be RDF in particular? Wouldnt it make sense to allow any kind of text to be constructed here? >Now "CONSTRUCT * WHERE pattern" is supposed to be a shorthand for >using the pattern as the template: > >"CONSTRUCT pattern WHERE pattern" OK, that makes sense. Id suggest then introducing the longer form first in the document and then explaining the '*' case exactly in this way. Pat -- --------------------------------------------------------------------- IHMC (850)434 8903 or (650)494 3973 home 40 South Alcaniz St. (850)202 4416 office Pensacola (850)202 4440 fax FL 32502 (850)291 0667 cell phayes@ihmc.us http://www.ihmc.us/users/phayes
Received on Sunday, 19 December 2004 05:26:37 UTC