Re: remove hydra:Resource and hydra:Class

Hi Ruben,

I thought about this in the past but settled with the simple fact that
the difference is the fact that hydra:Resource hints for the ability to 
dereference.
But with the rise of Linked Data 
(http://en.wikipedia.org/wiki/Linked_data) and its
principle #2: "Use HTTP URIs so that these things can be referred to and 
looked up ("dereferenced") by people and user agents."
It's indeed questionable whether we still need this.

But aren't statements like this the actual problem?:

     {
       "@id": "hydra:entrypoint",
       "@type": "hydra:Link",
       "domain": "hydra:ApiDocumentation",
       "label": "entrypoint",
       "range": "hydra:Resource"
     }

If we change to this:

     {
       "@id": "hydra:entrypoint",
       "@type": "hydra:Link",
       "domain": "hydra:ApiDocumentation",
       "label": "entrypoint",
       "range": "rdfs:Resource"
     }

Isn't this saying that if we have a rdfs:Resource which
has an hydra:entrypoint, the resource is also a hydra:ApiDocumentation.
I'm not sure whether we want this.

Greets, Thomas

On 01/05/2015 12:58 PM, Ruben Verborgh wrote:
> Dear all,
>
> For reasons of simplicity and vocabulary reuse,
> could we remove hydra:Resource and hydra:Class?
>
> Right now, everything in the Hydra Core Vocabulary
> is a hydra:Resource, and all classes are hydra:Class.
>
> The only difference between hydra:Resource and rdfs:Resource
> is that hydra:Resource instances are dereferenceable;
> and rdfs:Resource itself adds no semantics whatsoever, since
> “all things described by RDF are instances of the class rdfs:Resource” [1].
>
> Dereferenceability is orthogonal to ontological relationships,
> and should IMHO be a recommended practice in the spec
> rather than an ontological relationship. It does not add anything at all:
> - If a client wants to dereference, the absence of hydra:Resource
>    does *not* mean something is *not* dereferenceable.
> - If a client wants to dereference a hydra:Resource,
>    it takes the exact same steps it would for something
>    that is not explicitly labeled a hydra:Resource.
> - The only difference is the “guarantee” offered by the ontology
>    that something is dereferenceable; but actually doing the dereferencing
>    and finding out whether something is dereferenceable
>    involves the exact same step, i.e., GETting the thing.
>    No gain there.
>
> In addition, hydra:Class is simply the disjunction
> of hydra:Resource and rdfs:Class,
> so by the above reasoning, we can simply make it rdfs:Class.
>
> It seems to me that hydra:Resource and hydra:Class
> are artifacts of something that no longer has importance.
> I therefore propose to simplify and clarify the ontology by:
> - removing hydra:Resource and mentions of it;
> - removing hydra:Class and replace mentions of it by rdfs:Class.
> If necessary, we can add something to the spec about dereferencing,
> but I don't think that this would add something.
>
> Any thoughts on this?
> If we all agree, I can make the necessary edits to the spec.
>
> Best,
>
> Ruben
>
> [1] http://www.w3.org/TR/rdf-schema/#ch_resource

Received on Monday, 5 January 2015 15:17:42 UTC