Warning:
This wiki has been archived and is now read-only.
Feature:Constructing containers and collections
Contents
Feature: Constructing containers and collections
Feature description
At present it is not possible to construct or reconstruct an rdf:List or an RDF container of an arbitrary size in a SPARQL CONSTRUCT query. This means that CONSTRUCT cannot be used to reconstruct some data that exists in the graph, nor can it be used to create some legal forms of RDF.
A DESCRIBE query is only a viable alternative only if the collection/container is a bnode and the default algorithm generates a bounded description that includes the list contents. But even then not all of the desired context (e.g. properties of the list members) would be included.
Example
Don't have a concrete example of this in practice. It may be that a combination of assignment to a variable (to create the container or collection resource), and then application of a property function similar to that implemented in ARQ would enable this.
Existing Implementation(s)
None known.
Existing Specification / Documentation
None known.
Compatibility
Expect this would be a pure extension.
Links to postponed Issues
None known.
Champions
Use cases
Remove the current restrictions on being able to CONSTRUCT RDF Container/Collections.
The primary example of where this was an issue was with working with a bibliographic dataset in which the Table of Contents for an issue of a journal or a book was modelled as an RDF List (i.e. as an ordered collection with a fixed membership). It was not possible to write CONSTRUCT queries to extract the information required to present a user interface showing all the desired data. The work around was to use a CONSTRUCT with ARQ list extensions to get the core data, a SELECT query and custom code to reconstitute the structure of the original list, and then a merge of the data graphs. Support for list construction in the query language would avoid the need for the extra code and queries.
References
Originally suggested by Leigh Dodds in a message of 2009-Mar-06.