-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to document forbidden dereferencability #217
How to document forbidden dereferencability #217
Conversation
…sOf definitions that should fix imposed resource dereferencability
"label": "Hydra Class", | ||
"comment": "The class of Hydra classes. Hydra classes and their instances are dereferenceable resources.", | ||
"comment": "The class of Hydra classes.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we explain what "The class of Hydra classes" actually mean? If a hydra:Class
is no longer dereferenceable, what good does it do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Id' leave it as is. Most of the hydra terms are rooted in hydra:Class - I believe it's enough to have it just to have those hydra terms separated.
If a hydra:Class is no longer dereferenceable,
We indeed removed this requirements as it is virtually impossible to enforce, but still I'd read something that is a hydra:Class SHOULD be dereferencable (I don't see any good reasons against it). Developers still have a possibility of not having those resource dereferencable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Summary
Please find the modifications (removal of
hydra:Resource
) of the severalrdfs:range
,rdfs:domain
andrdfs:subClassOf
definitions that should fix imposed resource dereferencability .More details
This should address issue #216 as the core issue was that several places in hydra imposed fact that resources are dereferencable, which in many cases was untrue (not to mention the fact that having i.e. an HTTP based URL doesn't mean it can be freely dereferenced).
There are still a few places where
hydra:Resource
is left:hydra:Link
andhydra:TemplatedLink
are stillhydra:Resource
. Removing it fromhydra:Link
could break hydra:apiDocumentation as it actually should be dereferencable. Also links defined by API should connect callable resources.hydra:operation
has still domain ofhydra:Resource
. Operations should be invokable on a callable resource.hydra:Collection
andhydra:PartialCollectionView
are still sub-classes ofhydra:Resource
. These are API artificial wrappers over some resource sets and should be callable.hydra:first
/hydra:last
/hydra:next
/hydra:prev
have stillhydra:Resource
as both their domains and ranges. Otherwise the described interlinked set of resources would cease to be, well, interlinked.hydra:search
andhydra:freetextQuery
have stillhydra:Resource
as it's domain. If a client came that far to have that link, it probably means that the resource is already callable.Feel free to participate in the review as this is a major modification that should improve hydra's applicability to other than RDF areas.