W3C home > Mailing lists > Public > public-linked-json@w3.org > June 2011

Re: Property-name scoping

From: Gregg Kellogg <gregg@kellogg-assoc.com>
Date: Mon, 27 Jun 2011 23:59:33 -0400
To: glenn mcdonald <glenn@furia.com>
CC: Linked JSON <public-linked-json@w3.org>
Message-ID: <B7D55CB5-4561-4CDD-BF9B-73C81F6C8656@kellogg-assoc.com>
Certainly agree that property names can often be re-used across different graphs, but this is a matter of ontology design.

In schema.org, 'name' and 'description' are both properties of 'Thing', and therefore inherited by all sub-types. However, 'jobTitle' is an attribute of Person, and so only available to sub-types of Person. It certainly doesn't make sense to define those attributes separately on each type, nor does it make sense to allow all attributes to be used against all types (Person->break->Car, Baby->break->Lamp). RDFS entailment regimes handle this nicely, but some other class-definition language (such as WebIDL) could also do.

In any case it's not up to the serialization to determine what properties are appropriate, only to allow them to be expressed. Even in RDF "Anyone can say Anything about Anything". It's the semantics that are imposed (e.g., the chose of Ontology) that can allow those statements to be validated against expectations. In my option, being able to represent most anything is the goal of JSON-LD, determining what the meaning is belongs at another layer.


On Jun 27, 2011, at 7:07 PM, glenn mcdonald wrote:

> - properties are, most of the time, synonymous with their target-type
>> How would I express that one artist is a "performer" and another is an "producer"
> With separate properties, just as you say. That's why I said "most of
> the time". The point is to allow property names to be reused across
> types, and thus to *support* the very common simplifying conflation of
> prop and target-type, not to *require* it.
Received on Tuesday, 28 June 2011 04:00:10 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:53:17 UTC