W3C home > Mailing lists > Public > public-sparql-dev@w3.org > October to December 2015

Re: CONSTRUCT an RDF Datest

From: james anderson <james@dydra.com>
Date: Sat, 5 Dec 2015 17:38:38 +0000
Message-ID: <0000015173395ddb-8aeec938-179b-490f-b9e2-7a9b0d7bceae-000000@eu-west-1.amazonses.com>
To: public-sparql-dev@w3.org
good evening;

> On 2015-12-05, at 14:29, Tara Athan <taraathan@gmail.com> wrote:
> 
> Given that this extension provides closure in SPARQL over RDF datasets, is it now possible to form nested CONSTRUCTs over RDF datasets, or in some other way specify a chain of RDF dataset queries?
> 
> I looked at the extended CONSTRUCT form, but I didn't see any spot to plug in another CONSTRUCT to indicate the derived RDF dataset to be queried.

the bnf phrases which define sub-selects,


[53]  GroupGraphPattern	::=  	'{' ( SubSelect | GroupGraphPatternSub ) ‘}’ (1)
[8]  	SubSelect	  		::=  	SelectClause WhereClause SolutionModifier ValuesClause (2)

restrict the sub-expression to be a select form only.
the simple explanation is that the other forms do not include the requisite dimensions for the projected fields and, as such, cannot produce legitimate arguments for the algebra operators.

this could be rectified, by permitting at least construct and describe variants which included projection dimensions, but that would be an extension.


---
(1) http://www.w3.org/TR/2013/REC-sparql11-query-20130321/#rGroupGraphPattern
(2) http://www.w3.org/TR/2013/REC-sparql11-query-20130321/#rSubSelect

> 
> Tara
> 
> On 11/30/15 4:20 AM, Andy Seaborne wrote:
>> On 29/11/15 23:40, Tara Athan wrote:
>>> On a related note, I see that ARQ Construct quad could easily be used > to construct quads where the name is a blank node. Having the quad
>>> name be a blank node is fine according to RDF
>>> http://www.w3.org/TR/rdf11-datasets/#sec-introduction (and is
>>> desirable in my usecase), but is not permitted according to SPARQL.
>> 
>> Yes, that should be there.  I'll add it.
>> 
>> When it gets into TriG or N-Quads it will become a document-scoped blank node only, as do any other blank nodes.
>> 
>>> Are such quads
>>> accepted in practice, or does this cause significant interoperability
>>> problems?
>> 
>> It's RDF 1.1 that has taken over defining RDF Datasets and the syntaxes for them, which allow blank nodes for graphs. I presume that any SPARQL revision by a W3C WG would remove the definition of RDF Dataset from SPARQL and use the RDF 1.1 one in its place with all the consequences. SPARQL should not take a different position on data.
>> 
>> There is a long standing wrinkle that blank nodes aren't allow by syntax in GRAPH in a WHERE clause.
>> 
>> RDF 1.1 adds in a natural requirement for blank nodes in quad data templates in the graph position.
>> 
>> It's in the SPARQL errata.
>> 
>> http://www.w3.org/2013/sparql-errata
>> 
>> (because I have just added it :-)
>> 
>>> 
>>> Tara
>> 
>> ARQ supports blank node addressing for when you must.
>> IRI(blank node) returns a suitable IRI.
>> 
>>   Andy
>> 
>> 
>> 
> 
> 



---
james anderson | james@dydra.com | http://dydra.com
Received on Saturday, 5 December 2015 17:39:08 UTC

This archive was generated by hypermail 2.3.1 : Saturday, 5 December 2015 17:39:08 UTC