Documenting implicit rdfs:domains of Hydra properties

Hi,

in the last few days I was trying to grasp Hydra. I started with the
Hydra's specification and continued with reading the public-hydra mailing
list, which helped me to clarify a few bits of the Hydra's approach, but
still left me with several questions open.

One of the key aids that helped me to understand Hydra is its diagram (
http://www.hydra-cg.com/spec/latest/core/vocabulary.png), which provides a
good overview of how Hydra's vocabulary terms are related. However, what I
find confusing is that some of the relations depicted in the diagram aren't
present in Hydra's description in RDF (http://bit.ly/hydra-core-ttl). In
particular, I'm missing rdfs:domain (or schema:domainIncludes) axioms,
which would help me (and, presumably, other developers with semantic web
background) to orient in the vocabulary. Having rdfs:domain explicitly set
for properties would help to recognize which classes are the properties
compatible with; even if this is to be treated with open world assumption
as just a hint.

I've scanned through the RDF description of the Hydra Core Vocabulary and
found the following properties, which could be enriched with rdfs:domain or
schema:domainIncludes, which would likely be a better fit in this case. For
each property I tried to guess, mostly using the Hydra's vocabulary diagram
(http://www.hydra-cg.com/spec/latest/core/vocabulary.png), what are its
compatible classes.

* hydra:apiDocumentation - I assume that any hydra:Resource is compatible
with this property.
* hydra:description - hydra:description schema:domainIncludes
hydra:ApiDocumentation, hydra:StatusCodeDescription .
* hydra:freetextQuery - hydra:Resource?
* hydra:property - schema:domainIncludes hydra:SupportedProperty,
hydra:IriTemplateMapping .
* hydra:required - schema:domainIncludes hydra:SupportedProperty,
hydra:IriTemplateMapping .
* hydra:search - hydra:Resource?
* hydra:statusCodes - schema:domainIncludes hydra:ApiDocumentation,
hydra:Operation .
* hydra:supportedOperation - schema:domainIncludes hydra:Class, hydra:Link .
* hydra:title - schema:domainIncludes hydra:ApiDocumentation,
hydra:StatusCodeDescription .

Is this a more or less correct understanding? I think having these
relationships explicitly documented in the vocabulary (and not only in the
vocabulary's diagram) would make its intended uses clearer.

Best,

Jindřich

-- 
Jindřich Mynarz
http://mynarz.net/#jindrich

Received on Sunday, 15 June 2014 12:56:41 UTC