- From: Holger Knublauch <holger@topquadrant.com>
- Date: Tue, 31 Mar 2015 09:06:09 +1000
- To: public-data-shapes-wg@w3.org
FWIW my prototype uses two properties
- sh:include (points from a graph to another data graph to include
similar to owl:imports)
- sh:library (points from a graph to a graph with constraint definitions
These properties could be used to dynamically determine which other
subgraphs need to be added into the query graph (visible in the WHERE
clauses by default), versus the "compile-time" graph that is needed to
figure out which constraints to validate at all.
This assumes that a typical set up is roughly like
my:InstanceGraph
sh:include/owl:imports my:ClassGraph (may include constraints)
sh:library SHACL namespace + other template libraries etc
In that case, the query graph would consist of the first two graphs
only, but exclude those graphs referenced via sh:library only.
Another set up would be
my:InstanceGraph
sh:include/owl:imports my:ClassGraph (just the schema)
sh:library my:ConstraintsGraph (constraints for schema)
sh:include my:ClassGraph
in which case the query graph would consist of the first two graphs
only, while my:ConstraintsGraph would only be visible at "compile time".
I had hinted at such a solution when I wrote down the requirements
https://www.w3.org/2014/data-shapes/wiki/Requirements#Organizing_Constraints_in_Named_Graphs
https://www.w3.org/2014/data-shapes/wiki/Requirements#Including_Named_Graphs_for_Query_Evaluation
which did not get any support yet. Maybe this problem was deemed too far
down, and I am still not convinced that now is the best time to discuss
these details - I believe we have more critical questions to answer first.
Holger
On 3/31/2015 3:11, Karen Coyle wrote:
>
>
> On 3/29/15 3:49 PM, Richard Cyganiak wrote:
> This though assumes that you have control over the instance data,
> which is not always the case. So although this may work for some
> applications, others will be operating over data created by third
> parties who have their own data model. I mention this just so we can
> keep in mind that we have both situations to address.
>>
>> I don't follow. Why does the described design require that I have
>> control of the instance data, and why wouldn't it work with
>> third-party data?
>>
>> Richard
>>
>
> Richard, I may have misunderstood your example, but the situation I am
> referring to is one in which you are unlikely to know what graphs are
> used in someone else's instance data, but you still need to validate
> properties and values.
>
> kc
>
Received on Monday, 30 March 2015 23:07:26 UTC