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






Reply via email to