- From: Dimitris Kontokostas <kontokostas@informatik.uni-leipzig.de>
- Date: Fri, 3 Apr 2015 13:25:42 +0300
- To: Richard Cyganiak <richard@cyganiak.de>
- Cc: Holger Knublauch <holger@topquadrant.com>, "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
- Message-ID: <CA+u4+a1L9i3fqZBud0_wd=UQEGvjvn53-urOzuVke4MGZu0b0w@mail.gmail.com>
On Fri, Apr 3, 2015 at 1:12 PM, Richard Cyganiak <richard@cyganiak.de> wrote: > In a punning design, I think the main difference would be that the triple > { rdfs:Class rdfs:subClassOf sh:Shape } would be absent. > > To make specialisation work, the cleanest version would appeal to RDFS > inference to get additional rdf:type triples, and thus any constraints that > happen to be attached to these types would go into effect as well. (I’m not > saying that this would necessarily be my preferred solution, because it > sucks for implementers. It’s just the simplest to specify.) > > In both your draft design and a punning design, the difference between > sh:valueType and sh:valueShape is very subtle and difficult to explain. > Shape authors that decide to attach constraints directly to classes would > likely be confused which of those to use. > I am not too familiar with punning as well but, what if we made a distinction between e.g. sh:ClassShape and sh:ResourceShape (both subclasses of sh:Shape) and used punning only on sh:ClassShape? > > Best, > Richard > > > > On 2 Apr 2015, at 23:36, Holger Knublauch <holger@topquadrant.com> > wrote: > > > > It may be more productive to look at specific proposals to this issue > and then have those who have objections speak up and propose alternatives. > > > > My current draft has this implemented as follows: > > > > - There is a class sh:Shape which defines the system properties > sh:property, sh:inverseProperty and sh:constraint. > > - The class rdfs:Class is declared to be rdfs:subClassOf sh:Shape (in > the context of the SHACL system vocabulary). > > - As a result, any RDFS/OWL class is also a Shape. > > - Some core language elements such as sh:valueShape and sh:OrConstraint > take sh:Shapes as arguments, which means that people could also use classes > there. > > - Specialization of shapes (ISSUE-24) is addressed via the usual > rdfs:subClassOf mechanism. > > - People may prefer to instantiate sh:Shape directly to avoid conflicts > with RDFS classes, but these cannot have specialization (i.e. I don't think > we should have both rdfs:subClassOf and sh:extends). > > > > I believe this is the best possible compromise, especially for an > incremental adoption path and existing data models. Another option that I > could happily live with would be to delete sh:Shape and only have classes, > but we had too much opposition to this earlier design called LDOM. > > > > See also the ISSUE 2 at http://w3c.github.io/data-shapes/shacl/#shapes > > > > Regards, > > Holger > > > > > > On 4/3/2015 6:27, Richard Cyganiak wrote: > >> Arthur, > >> > >> I personally don’t see a problem with shapes being classes, but there > is significant opposition to this notion from parts of the WG. I tried to > paraphrase some of the justifications mentioned in the issue description. > >> > >> Richard > >> > >> > >>> On 2 Apr 2015, at 21:20, Arthur Ryman <arthur.ryman@gmail.com> wrote: > >>> > >>> Richard, > >>> > >>> Thx. I believe that OWL needed to introduce punning because in strict > >>> Description Logic there is a partitioning of resources into disjoint > >>> sets, i.e. Class, Property, Individual. > >>> > >>> I don't believe that we are basing SHACL on DL. Therefore there is no > >>> problem with SHACL triples having a their subject as a Class. Is there > >>> some problem with this? What am I missing? Do you imagine that a SHACL > >>> engine would need some way to distinguish a Shape from a Class? i.e. > >>> given an IRI, if it's a Class to one thing else if it's a Shape do > >>> some other thing? > >>> > >>> -- Arthur > >>> > >>> On Thu, Apr 2, 2015 at 4:00 PM, Richard Cyganiak <richard@cyganiak.de> > wrote: > >>>> > >>>>> On 2 Apr 2015, at 20:44, Arthur Ryman <arthur.ryman@gmail.com> > wrote: > >>>>> > >>>>> I am not familiar with the term "punning" in this context. Have you > >>>>> got a reference? Thx. > >>>> Arthur, > >>>> > >>>> In logic, “punning” means to use the same name for multiple distinct > things. In our context, it means using the same IRI for multiple distinct > things. I’m only familiar with the concept through its use in OWL 2, where > a single IRI can denote multiple things, for example a class and an > individual. So I don’t have any deeper background references to offer, but > the examples here should be enlightening: > >>>> > >>>> http://www.w3.org/TR/owl2-new-features/#F12:_Punning > >>>> > >>>> In the context of SHACL, a punning approach would mean that classes > and shapes are still conceptually distinct, but SHACL authors could use a > single IRI to refer to both a class and a shape. Informally stated, I could > dangle some subClassOf triples and some sh:constraint triples off the same > RDF node. The semantics of SHACL would have to be carefully written to > tease apart these separate aspects, so that the RDFS-related mechanisms and > the SHACL-related mechanisms don’t trip each other up. > >>>> > >>>> Best, > >>>> Richard > >>>> > >>>> > >>>> > >>>> > >>>>> -- Arthur > >>>>> > >>>>> On Sat, Mar 28, 2015 at 4:14 PM, RDF Data Shapes Working Group Issue > >>>>> Tracker <sysbot+tracker@w3.org> wrote: > >>>>>> shapes-ISSUE-23 (punning): Shapes, classes and punning [SHACL Spec] > >>>>>> > >>>>>> http://www.w3.org/2014/data-shapes/track/issues/23 > >>>>>> > >>>>>> Raised by: Richard Cyganiak > >>>>>> On product: SHACL Spec > >>>>>> > >>>>>> Some people want to apply different shapes to the same class. > >>>>>> Some peope want to apply shapes to data that doesn't include type > statements. > >>>>>> Some people want to associate shapes directly with class > definitions. > >>>>>> Some people want to “inherit” shapes down existing class > hierarchies. > >>>>>> Some people want to “specialise” shapes where there are no existing > class hierarchies. > >>>>>> Some people don't want shapes to have anything to do with classes > at all to avoid reinventing RDFS, badly. > >>>>>> > >>>>>> No proposal seems to satisfy all people. > >>>>>> > >>>>>> > >>>>>> > >> > > > > > > > > -- Dimitris Kontokostas Department of Computer Science, University of Leipzig Research Group: http://aksw.org Homepage:http://aksw.org/DimitrisKontokostas
Received on Friday, 3 April 2015 10:26:39 UTC