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

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
29 changes: 8 additions & 21 deletions spec/latest/core/core.jsonld
Original file line number Diff line number Diff line change
Expand Up @@ -95,17 +95,16 @@
{
"@id": "hydra:Resource",
"@type": "hydra:Class",
"subClassOf": "rdfs:Resource",
"label": "Hydra Resource",
"comment": "The class of dereferenceable resources.",
"comment": "The class of dereferenceable resources by means a client can attempt to dereference; however, the received responses should still be verified.",
"vs:term_status": "testing"
},
{
"@id": "hydra:Class",
"@type": [ "hydra:Resource", "rdfs:Class" ],
"subClassOf": [ "hydra:Resource", "rdfs:Class" ],
"subClassOf": [ "rdfs:Class" ],
"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.

"vs:term_status": "testing"
},
{
Expand Down Expand Up @@ -148,7 +147,7 @@
"label": "supported classes",
"comment": "A class known to be supported by the Web API",
"domain": "hydra:ApiDocumentation",
"range": "hydra:Class",
"range": "rdfs:Class",
"vs:term_status": "testing"
},
{
Expand All @@ -165,14 +164,13 @@
"@type": "hydra:Link",
"label": "supported properties",
"comment": "The properties known to be supported by a Hydra class",
"domain": "hydra:Class",
"domain": "rdfs:Class",
"range": "hydra:SupportedProperty",
"vs:term_status": "testing"
},
{
"@id": "hydra:SupportedProperty",
"@type": "hydra:Class",
"subClassOf": "hydra:Resource",
"label": "Supported Property",
"comment": "A property known to be supported by a Hydra class.",
"vs:term_status": "testing"
Expand Down Expand Up @@ -219,7 +217,7 @@
"label": "supported operation",
"comment": "An operation supported by instances of the specific Hydra class or the target of the Hydra link",
"range": "hydra:Operation",
"domainIncludes": ["hydra:Class", "hydra:Link", "hydra:TemplatedLink", "hydra:SupportedProperty"],
"domainIncludes": ["rdfs:Class", "hydra:Class", "hydra:Link", "hydra:TemplatedLink", "hydra:SupportedProperty"],
"vs:term_status": "testing"
},
{
Expand All @@ -234,7 +232,6 @@
{
"@id": "hydra:Operation",
"@type": "hydra:Class",
"subClassOf": "hydra:Resource",
"label": "Operation",
"comment": "An operation.",
"vs:term_status": "testing"
Expand All @@ -254,8 +251,7 @@
"label": "expects",
"comment": "The information expected by the Web API.",
"domain": "hydra:Operation",
"range": "hydra:Resource",
"rangeIncludes": ["hydra:Resource", "hydra:Class"],
"rangeIncludes": ["rdfs:Resource", "hydra:Resource", "rdfs:Class", "hydra:Class"],
"vs:term_status": "testing"
},
{
Expand All @@ -264,14 +260,12 @@
"label": "returns",
"comment": "The information returned by the Web API on success",
"domain": "hydra:Operation",
"range": "hydra:Resource",
"rangeIncludes": ["hydra:Resource", "hydra:Class"],
"rangeIncludes": ["rdfs:Resource", "hydra:Resource", "rdfs:Class", "hydra:Class"],
"vs:term_status": "testing"
},
{
"@id": "hydra:Status",
"@type": "hydra:Class",
"subClassOf": "hydra:Resource",
"label": "Status code description",
"comment": "Additional information about a status code that might be returned.",
"vs:term_status": "testing"
Expand Down Expand Up @@ -340,7 +334,6 @@
"@type": "hydra:Link",
"label": "collection",
"comment": "Collections somehow related to this resource.",
"domain": "hydra:Resource",
"range": "hydra:Collection",
"vs:term_status": "testing"
},
Expand Down Expand Up @@ -369,16 +362,13 @@
"label": "member",
"comment": "A member of the collection",
"domain": "hydra:Collection",
"range": "hydra:Resource",
"vs:term_status": "testing"
},
{
"@id": "hydra:view",
"@type": "hydra:Link",
"label": "view",
"comment": "A specific view of a resource.",
"domain": "hydra:Resource",
"range": "hydra:Resource",
"vs:term_status": "testing"
},
{
Expand Down Expand Up @@ -463,7 +453,6 @@
{
"@id": "hydra:IriTemplate",
"@type": "hydra:Class",
"subClassOf": "hydra:Resource",
"label": "IRI Template",
"comment": "The class of IRI templates.",
"vs:term_status": "testing"
Expand Down Expand Up @@ -499,7 +488,6 @@
{
"@id": "hydra:VariableRepresentation",
"@type": "hydra:Class",
"subClassOf": "hydra:Resource",
"label": "VariableRepresentation",
"comment": "A representation specifies how to serialize variable values into strings.",
"vs:term_status": "testing"
Expand Down Expand Up @@ -530,7 +518,6 @@
{
"@id": "hydra:IriTemplateMapping",
"@type": "hydra:Class",
"subClassOf": "hydra:Resource",
"label": "IriTemplateMapping",
"comment": "A mapping from an IRI template variable to a property.",
"vs:term_status": "testing"
Expand Down