On 11/29/15 5:33 AM, Andy Seaborne wrote:
On 29/11/15 01:45, Tara Athan wrote:
Update: In a private reply, someone mentioned that it is possible to
create and update named graphs in a Graph Store, e.g. with the SPARQL
Update language. However, in my usecase, I am only interested in
creating an immutable RDF Dataset, not a mutable Graph Store. This hint
was useful in letting me see what a CONSTRUCT for an RDF Dataset might
look like, though (patterned after INSERT).
For example, suppose I want to filter an RDF Dataset to extract a new
dataset where only named graphs having a metadata triple in the default
graph matching a certain filter are retained. It might be expressed so:
CONSTRUCT
{ ?name ex:observedAt ?date
GRAPH ?name
{ ?s ?p ?o}
}
WHERE
{
{ ?name ex:observedAt ?date }
GRAPH ?name
{?s ?p ?o}
FILTER (?date > 2015-06-01)
}
In this particular example, do the results need to exactly conform to
the structure of the dataset? If the ex:observedAt is put in the
results in the same graph:
CONSTRUCT
{ ?name ex:observedAt ?date
?s ?p ?o
}
WHERE ...
In this particular example, the aim is to reproduce the original
structure of the dataset.
Is there any theoretical or technical obstacle to this?
There's no obstacle. A Google Summer of Code project added this to
Apache Jena this year and it'll be in the next release.
It follows the design you gave:
https://jena.apache.org/documentation/query/construct-quad.html
Thanks - that is exactly what I was looking for!
Now with a Jena implementation in place, what is the likelihood that
this extended CONSTRUCT syntax will get incorporated into the SPARQL
Standard?
Tara
Andy
Tara