Skip to content
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

Conversation

alien-mcl
Copy link
Member

Summary

Please find the modifications (removal of hydra:Resource) of the several rdfs:range, rdfs:domain and rdfs: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:

  • both hydra:Link and hydra:TemplatedLink are still hydra:Resource. Removing it from hydra:Link could break hydra:apiDocumentation as it actually should be dereferencable. Also links defined by API should connect callable resources.
  • the hydra:operation has still domain of hydra:Resource. Operations should be invokable on a callable resource.
  • both hydra:Collection and hydra:PartialCollectionView are still sub-classes of hydra:Resource. These are API artificial wrappers over some resource sets and should be callable.
  • all hydra links like hydra:first/hydra:last/hydra:next/hydra:prev have still hydra:Resource as both their domains and ranges. Otherwise the described interlinked set of resources would cease to be, well, interlinked.
  • both hydra:search and hydra:freetextQuery have still hydra: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.

…sOf definitions that should fix imposed resource dereferencability
spec/latest/core/core.jsonld Outdated Show resolved Hide resolved
spec/latest/core/core.jsonld Outdated Show resolved Hide resolved
spec/latest/core/core.jsonld Outdated Show resolved Hide resolved
spec/latest/core/core.jsonld Outdated Show resolved Hide resolved
spec/latest/core/core.jsonld Outdated Show resolved Hide resolved
spec/latest/core/core.jsonld Outdated Show resolved Hide resolved
spec/latest/core/core.jsonld Outdated Show resolved Hide resolved
spec/latest/core/core.jsonld Outdated Show resolved Hide resolved
spec/latest/core/core.jsonld Outdated Show resolved Hide resolved
spec/latest/core/core.jsonld Outdated Show resolved Hide resolved
"label": "Hydra Class",
"comment": "The class of Hydra classes. Hydra classes and their instances are dereferenceable resources.",
"comment": "The class of Hydra classes.",
Copy link
Member

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?

Copy link
Member Author

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.

Copy link
Contributor

@tpluscode tpluscode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@alien-mcl alien-mcl merged commit a8405ae into HydraCG:master Oct 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants