- From: Karen Coyle <kcoyle@kcoyle.net>
- Date: Wed, 17 Dec 2014 11:58:55 -0800
- To: public-data-shapes-wg@w3.org
Irene, what about: every dce:subject must have a literal value; every dct:subject must have a value from http://id.loc.gov/sh/. In extremely simple metadata there is a single graph with a handful of properties, so it makes sense to validate at a property level. Admittedly, in some cases this validation merely mirrors the property definitions in the ontology, but it can be more specific, as with the above dct example. kc On 12/17/14 10:48 AM, Irene Polikoff wrote: > Having thought about this some more, I am against 2.b on the basis of practicality. As Holger pointed, out it would be impractical to try have in the context association language the ability to enumerate all the possible conditions. We would be duplicating the constraint definition language. > > I am against 4 on the basis of parsimony. I believe it is already well covered. For example, if there is a constraint that says that for every triple ?s :foo ?o, there must be a triple ?s :bar ?o, this constraint could be associated with a graph. In most implementations of the validation algorithm, it would only be checked against the triples with these predicates, anyhow. Thus, there is no need to further narrow the scope. Similarly, if it was associated with rdfs:Resource class. > > Irene > > -----Original Message----- > From: Peter F. Patel-Schneider [mailto:pfpschneider@gmail.com] > Sent: Tuesday, December 16, 2014 8:19 PM > To: Irene Polikoff; 'Holger Knublauch'; public-data-shapes-wg@w3.org > Subject: Re: associating RDF nodes with shapes > > The example about bug reports is in 2b. Nodes that have "Submitted" as a value for ex:status are evaluated against a particular shape. > > I don't think that we have seen explicit examples of 4 yet. It would be used for constraints requiring a property to be transitive or symmetric, in the "The Model's Broken". > > peter > > > On 12/16/2014 05:08 PM, Irene Polikoff wrote: >> 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_Ass >>>> oc >>>> 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> >>>> >>>> >>> >>> >>> >>> >> > > > -- Karen Coyle kcoyle@kcoyle.net http://kcoyle.net m: 1-510-435-8234 skype: kcoylenet/+1-510-984-3600
Received on Wednesday, 17 December 2014 19:59:25 UTC