Warning:
This wiki has been archived and is now read-only.

Feature:Constructing containers and collections

From SPARQL Working Group
Jump to: navigation, search


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.