- From: Holger Knublauch <holger@topquadrant.com>
- Date: Tue, 10 May 2016 10:29:40 +1000
- To: public-data-shapes-wg@w3.org
- Message-ID: <a149b3b9-73cf-9a0e-ad66-154ac9518890@topquadrant.com>
On 10/05/2016 10:11, Tom Johnson wrote:
> Irene, you say:
>
> > "Doing more" doesn't create a problem, but, on the other hand, it is
> not required.
>
> I'm really uncertain about this. Couldn't inferring further class
> relations (e.g., by using the entailment mechanism included in the
> spec) cause different results for basically every operation in SHACL?
Can you think of a specific example? sh:entailment would potentially
produce additional triples. But this is the user's choice, and then the
user may expect to see additional validation results...
Thanks,
Holger
>
> In lieu of a repeat of previous conversations, I'll just say: For me,
> as an implementer in waiting, this is a huge problem. On last reading,
> very little seemed unambiguously defined.
>
> - Tom
>
> On Mon, May 9, 2016 at 12:14 PM, Irene Polikoff <irene@topquadrant.com
> <mailto:irene@topquadrant.com>> wrote:
>
> Karen,
>
> As I understand it, RDFS inferencing is one way to address this.
> However,
> RDFS inferencing would do more than what is specified here. "Doing
> more²
> doesn¹t create a problem, but, on the other hand, it is not required.
>
> Another way to address this is to run a query as follows:
>
> SELECT ?resource
> WHERE {
>
> ?class rdfs:subClassOf* example:Class1 .
> ?resource a ?class .
>
> }
>
> Running this query would not change any graphs. As an aside, RDFS
> inferencing is also often done without modifying any graphs.
> Inferences
> are calculated on the fly when users/systems query data without any
> materialization of inferred triples. At least, this is how triple
> stores
> that support RDFS inferencing typically work.
>
> Does your concern have to do with where the rdfs:subClassOf
> triples come
> from - would they exist in the data graph, would they exist in the
> shapes
> graph? They could be in either. If no subclass triples are there,
> then the
> first triple match simply binds ?class to example:Class1 and the query
> result is the same as if we were only looking for nodes that are
> connected
> to example:Class1 via rdf:type link.
>
> It doesn¹t seem to be a role of SHACL to mandate where these triples
> should be located. If they are available in either of the graphs,
> a SHACL
> engine should take them into account. If they are not available,
> than it
> doesn¹t take them into account.
>
> In our experience, users typically put the subclass triples into the
> shapes graph. At the same time, they need flexibility to do
> whatever fits
> their architecture and processes.
>
>
> Irene Polikoff
>
>
> On 5/9/16, 1:47 PM, "Karen Coyle" <kcoyle@kcoyle.net
> <mailto:kcoyle@kcoyle.net>> wrote:
>
> >Type
> >The types of a node are its values of rdf:type as well as the
> >superclasses of these values.
> >
> >This conflates two different relationships: the relationship of a
> >subject to a class (as defined in RDF/RDFS), defining the subject
> as an
> >instance of the class; and the sub-/super-class relationships between
> >classes. I dont' see how this can be achieved without inferencing.
> >
> >If we assume some pre-processing of the data graph to include the
> >superclasses, then type is precisely as it is defined in RDF -
> there are
> >just more type statements in the graph.
> >
> >As stated, this is quite an expansion of the meaning of type. In
> >addition, it appears to require modifications to the data graph to
> >include the super classes of each class (presumably up to and
> including
> >rdfs:Resource).
> >
> >I think it would be best if SHACL defined the shape and data
> graphs as
> >immutable, thus expecting that all operations read but do not
> modify the
> >graphs. I thought we had come to that conclusion.
> >
> >kc
>
>
>
>
>
>
> --
> -Tom Johnson
Received on Tuesday, 10 May 2016 00:30:15 UTC