- From: Irene Polikoff <irene@topquadrant.com>
- Date: Tue, 16 Dec 2014 20:08:49 -0500
- To: "'Peter F. Patel-Schneider'" <pfpschneider@gmail.com>, "'Holger Knublauch'" <holger@topquadrant.com>, <public-data-shapes-wg@w3.org>
I have not seen examples of nor requirements for 2.b and 4 type of scoping, but yes one could possibly scope based on these criteria. -----Original Message----- From: Peter F. Patel-Schneider [mailto:pfpschneider@gmail.com] Sent: Tuesday, December 16, 2014 7:58 PM To: Irene Polikoff; 'Holger Knublauch'; public-data-shapes-wg@w3.org Subject: Re: associating RDF nodes with shapes Yes, at least roughly. Perhaps a better way of thinking about things is that there are four main ways to determine the targets or a constraint. 1/ All nodes (or maybe all IRIs) in the graph. 2/ All nodes that meet a certain condition, usually either a/ belonging to a particular class or b/ having a (or a particular) value for a particular property. 3/ A particular node. 4/ All triples with a particular property as predicate. The structure of the association can be done in several ways: 1/ There can be explicit links from individuals or classes or properties to constraints, as in SPIN or OSLC Resource Shapes. 2/ The association can be part of the constraint itself, as in OWL Constraints (Stardog ICV). 3/ The association can part of the validation process, as in ShEx. peter PS: There are no resources in an RDF graph. The working group should not be talking about running constraints on a resource. On 12/16/2014 04:37 PM, Irene Polikoff wrote: > Ignoring the question "why" for a moment, I see this document as one that identifies ways to scope constraints and, thus, validation. > >>From that perspective, the page currently lists three scoping mechanisms: > > 1. based on the class memberships: as in "run these constraints for members of this class" - constraint is associated with a class > 2. based on a specific resource: as in "run these constraints for this resource" - constraint is associated with a resource > 3. based on the graph: as in "run these constraints for all triples in a graph" - constraint is associated with a graph > > There are variations on #3 discussing how exactly this may be specified ranging from a direct association of a graph with some constraints to more of a "late binding" approach where when the validation engine is called graphs and constraints are passed as parameters or validation engine is smart enough to run some logic to determine what it should use to validate what. These are all details, but the bottom line is that the scope is a graph or a group of graphs. > > "Constraints on the shape of a value" does not seem to fit at all. I think this doesn't belong here. > > -----Original Message----- > From: Holger Knublauch [mailto:holger@topquadrant.com] > Sent: Tuesday, December 16, 2014 6:48 PM > To: public-data-shapes-wg@w3.org > Subject: Re: associating RDF nodes with shapes > > I am not sure how to proceed here. If you want, you could start a separate page where we try out your structure and we copy it over when we are done. Your draft below is omitting too many details and is very OWL centric to be a direct substitution. I also don't understand your example syntax, e.g. what does this mean: > > <code>some ex:property ex:value <= constraint</code> > > The bigger question is: why are we writing this document at all. > Shouldn't our goal be to collect Requirements? > > Holger > > > On 12/17/2014 4:43, Peter F. Patel-Schneider wrote: >> I took a close look at the node/shape association page, >> https://www.w3.org/2014/data-shapes/wiki/ISSUE-5:_Resource_Shape_Assoc >> iation >> >> I would prefer an organization more like the following, as I think >> that it presents a clearer picture. >> >> >> Where are Shapes/Constraints Validated >> >> 1/ A particular node >> >> A shape/constraint may be validated only on a particular node in an >> RDF graph. >> >> In ShEx this would be done via a validation call that explicitly >> contains the node and the shape. >> >> In OWL constraints this would be done via an axiom of the form >> >> <code>ex:node in constraint</code> >> >> 2/ Nodes that are instances of a class >> >> A shape/constraint may be validated against all members of a class. >> The membership determination may be via explicit direct >> <code>rdf:type</code> links, via class membership in some >> RDF-compatible semantics, or via some intermediate process. >> >> In SPIN this would be done via a <code>spin:constraint</code> link >> from the class to a SPIN constraint. >> >> In OWL constraints this would be done via an axiom of the form >> >> <code>ex:Class <= constraint</code> >> >> 3/ Nodes that have a particular property value >> >> A shape/constraint may be validated against nodes that have a >> particular property value. >> >> In OWL constraints this would be done via an axiom of the form >> >> <code>some ex:property ex:value <= constraint</code> >> >> 4/ All nodes >> >> A shape/constraint may be validated against all nodes (maybe only >> non-literal nodes?). >> >> In SPIN this would be done via a constraint on rdfs:Resource. >> >> In OWL constraints this would be done via an axiom of the form >> >> <code>owl:Thing <= constraint</code> >> >> In ShEx this would be done by a validation call that explicitly >> mentions a shape that all nodes are supposed to match. >> >> 5/ Triples with a particular predicate >> >> A shape/constraint may be validated against all triples of a predicate. >> >> In OWL constraints this would be done via >> >> <code>ex:predicate <= constraint</code> >> >> 5/ Implicit >> >> The form of a shape/constraint might determine how it is validated. >> >> This is the general situation for OWL constraints. An OWL constraint >> is just an axiom that is supposed to be true. Some kinds of OWL >> constraints can be thought of being one of the types above, but other >> kinds of OWL constraints have particular validation patterns. For >> example, an OWL constraint could require that a property is symmetric >> or transitive or that the nodes that satisfy one constraint are >> precisely the same as those that satisfy another, as in >> >> <code>ex:Person and some ex:SSN = ex:USResident and age > 2</code> >> >> > > > >
Received on Wednesday, 17 December 2014 01:09:44 UTC