- From: Axel Polleres <axel.polleres@wu.ac.at>
- Date: Tue, 4 Nov 2014 11:31:14 +0100
- To: Holger Knublauch <holger@topquadrant.com>
- Cc: public-data-shapes-wg@w3.org
On 04 Nov 2014, at 07:52, Holger Knublauch <holger@topquadrant.com> wrote: > Hi Axel, > > I believe the main problem with rdfs:domain (and range) is that it it doesn't align with the expectation that people familiar with object-oriented systems have. If "they" see ex:parent rdfs:range ex:Person then they assume that all parents must be Persons. However, the presence of such a triple doesn't restrict the value space, but rather leads to the *inference* that any parent must (also) be a Person. Similar for rdfs:domain. Likewise, the expectation of multiple domain statements is that of a union and not an intersection. > Well, I don't think we should redefine/overload the semantics here. So, if we were to define some constraining versions of these terms, we should IMHO use different vocabulary. On the other hand, I admit this is kind of a similar way as "abusing the owl-vocabulary in ICV, yes? > Our practical experience suggests that rdfs:range and rdfs:domain get misunderstood all the time, and I wouldn't base a new language on them unless there are strong other reasons to do so. See schema.org - they ended up defining their own replacements for range and domain. ... so we agree, that we don't want to overload the terms? best reagrds, Axel > I do not complain about rdfs:subClassOf (and to a lesser degree rdfs:subPropertyOf) - these are generally easy to understand. > > HTH > Holger > > > On 11/4/2014 16:41, Axel Polleres wrote: >> Hi, >> >> @Peter: are you referring to what is commonly referred to as "non-standard use" of the RDFS vocabulary? >> Cf. http://books.google.at/books?id=Ah_pAwAAQBAJ&pg=PA105 Def.5.5 >> >> >> @Holger: While I agree that non-standard use can lead to unintuitive behavior, I don't agree >> with the general statement, that >> >>>> RDFS doesn't have intuitive semantics, esp rdfs:domain and range are a source of >>>> frequent user pain. >> >> I think that the semantics of subclassOf,subPropertyOf, domain, and range is very >> straightforward... >> Can you explain in more detail what you mean by "frequent user pain" here, or was it >> only non-standard use you were referring to here? >> >> best, >> Axel >> >> -- >> Prof. Dr. Axel Polleres >> Institute for Information Business, WU Vienna >> url: http://www.polleres.net/ twitter: @AxelPolleres >> >> On 04 Nov 2014, at 04:37, Peter F. Patel-Schneider <pfpschneider@gmail.com> wrote: >> >>> Well not only subproperties of rdf:type but also subproperties of rdfs:subClassOf. >>> >>> peter >>> >>> >>> On 11/03/2014 12:58 PM, Holger Knublauch wrote: >>>> On 11/4/14, 3:06 AM, Peter F. Patel-Schneider wrote: >>>>> One aspect of this definition is that SPIN does not completely abide by the >>>>> RDFS definition of the instances of classes. >>>> Could you clarify - do you mean sub-properties of rdf:type? >>>> >>>> And in general, it is not the goal of SPIN to have full RDFS support. RDFS >>>> doesn't have intuitive semantics, esp rdfs:domain and range are a source of >>>> frequent user pain. >>>> >>>> Thanks >>>> Holger >>>> >>>> >>>>> peter >>>>> >>>>> On 10/31/2014 01:04 PM, Holger Knublauch wrote: >>>>>> Yeah that looks right. I think we only need to define the semantics of the >>>>>> CONSTRUCT case and treat ASK as syntactic sugar with default values for the >>>>>> constructed ConstraintViolations. >>>>>> >>>>>> Holger >>>>>> >>>>>> >>>>>> On 11/1/14, 4:05 AM, Peter F. Patel-Schneider wrote: >>>>>>> Here is my reconstruction of how SPIN constraints work, based on my reading >>>>>>> of various SPIN documents and various presentations about SPIN constraints. >>>>>>> Please let me know if anything is wrong. >>>>>>> >>>>>>> Conceptually a SPIN constraint system takes in two inputs: >>>>>>> 1/ an RDF graph >>>>>>> 2/ a set of SPIN constraints >>>>>>> >>>>>>> Each SPIN constraint is attached to a class and provides a constraint in the >>>>>>> form of a SPARQL query fragment plus an optional SPARQL construct clause. >>>>>>> The surface syntax may not always look like query fragments and construct >>>>>>> clauses, but the only things that determine the meaning of a SPIN >>>>>>> constraint are the query fragment and construct clause that can be generated >>>>>>> from the surface syntax. >>>>>>> >>>>>>> A constraint with SPARQL query fragment F on class C is satisfied if the >>>>>>> SPARQL query >>>>>>> ASK { >>>>>>> ?this rdf:type/rdfs:subClassOf* C . >>>>>>> F } >>>>>>> returns no bindings for the graph G >>>>>>> >>>>>>> If there is a construct clause X then the result of the constraint is the >>>>>>> result of the SPARQL query >>>>>>> CONSTRUCT { X } >>>>>>> WHERE { >>>>>>> ?this rdf:type/rdfs:subClassOf* C . >>>>>>> F } >>>>>>> evaluated against the graph G. >>>>>>> >>>>>>> >>>>>>> peter >>>>>>> >>>>>> >>>> > >
Received on Tuesday, 4 November 2014 10:31:40 UTC