W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > October to December 2004

Re: CONSTRUCT / template merging.

From: Pat Hayes <phayes@ihmc.us>
Date: Sat, 18 Dec 2004 21:25:42 -0800
Message-Id: <p06001f12bdeabda8bd3a@[192.168.1.7]>
To: "Seaborne, Andy" <andy.seaborne@hp.com>
Cc: public-rdf-dawg@w3.org
>
>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 GMT

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