- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 05 Feb 2015 10:53:01 -0800
- To: Richard Cyganiak <richard@cyganiak.de>
- CC: Jose Emilio Labra Gayo <jelabra@gmail.com>, Holger Knublauch <holger@topquadrant.com>, "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 02/05/2015 09:37 AM, Richard Cyganiak wrote: > Peter, > >> On 5 Feb 2015, at 12:03, Peter F. Patel-Schneider >> <pfpschneider@gmail.com> wrote: >> >>>> What is a class definition in RDF or RDFS? >>> >>> I’ll answer by giving an example. Here’s the definition of the class >>> qb:Dataset: >>> >>> http://www.w3.org/TR/void/#dataset >>> >>> A pitifully small part of that definition is also written down in the >>> associated RDFS file here: >>> >>> [[[ void:Dataset a rdfs:Class, owl:Class; rdfs:label "dataset"; >>> rdfs:comment "A set of RDF triples that are published, maintained or >>> aggregated by a single provider." . ]]] >> >> So some triples in some RDFS file that have the class as a subject are >> in the definition. But which triples? > > For the purposes of this conversations, the ones that affect the > to-be-defined notion of “validity” mentioned below. How about just saying that some predicates are used to determine how to do validation, and leave out any notion of definition. >>>> What does it mean to include a shape in a class definition? >>> >>> Here’s what I mean when I use these words: >>> >>> 1. The shape is published in the RDFS file that defines the class >>> (assuming shapes can be expressed in triples). >> >> Again, this depends on being able to determine which RDFS file defines >> the class. >> >>> 2. If an RDF graph G includes a statement that claims a resource X >>> to be a member of the class, but the description of X in G doesn’t >>> fit the shape, then G is “invalid”, for some to-be-defined notion of >>> “validity”. The important thing is that a validator can detect the >>> condition. >> [I'm assuming that you mean "includes a triple X rdf:type C" or >> something like that.] > > Yes, thanks. > >> So to determine validity one has to find the RDFS file that defines the >> class. How is this done? > > So, G is “invalid”, for some to-be-defined notion of “validity”. Maybe > this notion involves that G is “invalid with respect to D”, where D is > the graph in the RDFS file. And how exactly one finds that graph maybe > doesn’t have to be answered by this WG. > > In other words, one validates against a particular graph containing > definitions. Well, one could validate against a particular graph, and this only makes sense if the graph has validation information. This sidesteps any need to define what a definition is. > > That being said, I’d say that a reasonable place to look for the graph > is by dereferencing the URI of the class. I think this follows from the > general framework of web architecture. The graph you get from > dereferencing the URI is “authoritative”, and philosophically speaking, > we get the best interoperability if everyone uses that one. But in > practice people will often use graphs obtained in other ways, for all > sorts of reasons. For example, the graph may need to be “patched” a bit > to work with their particular toolset, or is missing labels that are > needed for UI purposes. I agree that this is a reasonable thing to do in some cases. However, there are cases where the "canonical" place does not have what is needed. > Best, Richard peter -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJU07wNAAoJECjN6+QThfjz9ocH/RpxM4+1bBx9CBUAOB0pLLWd UCeoBCOCh1yiduDQ9e5bTuBHCM0vtO5Ml7fWdMr34wWM+9d/b/gR8m+draGocPaM QeZr37u1PeoN3XS4wnR4Ykzls8wBt2UCt31Ih2E/NZAHJJix9YNNP0Fr/VYO5qdK CzrfTRyeV+uCYGUik28hpyzBfCxs6Ta6Q6Byv2i6M0sVUDrN0dklr2GFeVJyVamr rFJzYHKVOWPjCV0/yuqoYtbZFc4bDcO7whRDWfOdC/JNz8Wo90SXVoWgDS+f2SjO C3rKqFVZuwssUctWTwSVEj5ph+2pjompmo4eN+MWV3fwEftI/lvh3tsvGf2CGN8= =vvd8 -----END PGP SIGNATURE-----
Received on Thursday, 5 February 2015 19:06:06 UTC