Views in Triple Stores

Views are an important feature of relational databases, providing a way to abstract over complex queries, subset data to just the minium required for a given task, as well as providing a point around which a schema can be refactored without having to (immediately) change the applications that use it.
So far I’m not aware that there’s any similar construct in RDF Triple Stores, and I’m curious why.
The scenario I’m imagining is this:
I’ve obtained a reference to a resource in an RDF graph, perhaps via a query. From this node in the graph I want to pull out a subset of the data accessible by navigating from this resource.
I can see two possible ways to create that subset, and these may be used in conjunction.
The first is to apply a “window” on the graph, and only extract the data that’s within a certain distance of my origin. The MusicBrainz API has a similar notion of query depth; see the ASCII art under “Select & Get Documentation” section in in the docs, and the subsequent section for more information.
The second subset may be created by filtering out the classes and properties extracted from the database based on their namespaces. For example I might have a triple store containing a mixture of public/private data, with the latter in a separate namespace and I want to pull out just the public aspects for returning from a web service.
I see the combination of these subsetting techniques, along with a declarative mechanism to state how and when they should be applied as broadly analagous to a relational view.
Has anyone implemented anything like this, or aware of triple stores (or more likely APIs) that offer this facility?
Does anyone else see the utility of such a mechanism?
(Answers via email or trackback please as commenting is disabled ‘cos of spam)

One thought on “Views in Triple Stores

  1. Views in triple stores

    Leigh Dodds wants views in triple stores:
    Views are an important feature of relational databases, providing a way to abstract over complex queries, subset data to just the minium required for a given task, as well as providing a point around which a…

Comments are closed.