I've changed the rdfs:range of hydra:expects and hydra:returns predicates from hydra:Class to hydra:Resource and introduced schema:rangeIncludes for both.
I've also mentioned that fact in the spec.
More details
This PR addresses issues #22 and #199 but does NOT resolves them. It is also an alternative approach to PRs #186 and #187.
Sole purpose is to enable the vocabulary to expect and return non-RDF resources. Previous specification placed a hydra:Class in the range the proper predicates making it difficult to use other types of resources.
Unfortunately, modification within the rdfs:range of the aforementioned predicates may introduce possible issues within current implementations and specifications built on top of the vocabulary. Still, it seems to be the least intrusive method due to facts:
the hydra:Class used previously is still compliant with newly introduced hydra:Resource
schema:rangeIncludes introduced does not apply strict RDF type entailing rules yet still provides semantic hints on possible values.
Summary
I've changed the
rdfs:range
ofhydra:expects
andhydra:returns
predicates fromhydra:Class
tohydra:Resource
and introducedschema:rangeIncludes
for both. I've also mentioned that fact in the spec.More details
This PR addresses issues #22 and #199 but does NOT resolves them. It is also an alternative approach to PRs #186 and #187.
Sole purpose is to enable the vocabulary to expect and return non-RDF resources. Previous specification placed a
hydra:Class
in the range the proper predicates making it difficult to use other types of resources. Unfortunately, modification within therdfs:range
of the aforementioned predicates may introduce possible issues within current implementations and specifications built on top of the vocabulary. Still, it seems to be the least intrusive method due to facts:hydra:Class
used previously is still compliant with newly introducedhydra:Resource
schema:rangeIncludes
introduced does not apply strict RDF type entailing rules yet still provides semantic hints on possible values.