Re: shapes and classes: different

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.

>>> 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.

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.

Best,
Richard

Received on Thursday, 5 February 2015 17:38:27 UTC