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 ...


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

        Andy


Tara



Reply via email to