- From: Ruben Verborgh via GitHub <sysbot+gh@w3.org>
- Date: Mon, 08 Jun 2020 07:19:44 +0000
- To: public-hydra-logs@w3.org
> I know TPF is close to RDF and downgrading hydra ranges for some of the terms will break reasoning process. Resources will be no more `hydra:Resource`, thus any implementation relying on this will get broken.
The only thing that `hydra:Resource` offered over the REST or RDF notion of a resource (which, BTW, are the same), was a promise of dereferenceability—but it was not in the position to make such a promise. So I have never been able to rely on that anyway. It's always been just a REST/RDF resource for me.
> > To me, usage of HTTP URLs implies dereferenceability
>
> This is the issue - one of our community members has issues with this assumption.
That's how Web architecture works though.
> He uses HTTP Urls for identifying resources be for some circumstances he knows that server won't provide any of these resources.
The easy answer is of course "don't", and I speaking from a Web arch perspective here, not even RDF. But I assume there are reasons.
> Not using `hydra:Resource` will somehow help as it won't impose a resource is somehow guaranteed to have a GET operation supported
It does not make a difference at all, and perhaps it's important that everyone in the thread understands.
`hydra:Resource` was _never_ able to make that promise, and here is why.
Take this example, here in JSON-LD notation:
```json
{
"@context": "http://www.w3.org/ns/hydra/context.jsonld",
"@id": "http://example.org/my/resource",
"@type": "Resource"
}
```
and here in Turtle:
```turtle
<http://example.org/my/resource> a <http://www.w3.org/ns/hydra/core#Resource> .
```
What it is `supposed` to say according to Hydra is:
- I can dereference the URL `http://example.org/my/resource` through `GET`
However, the above interpretation is not possible in RDF. It's not.
Because what it _actually_ says is:
- The thing **identified by** http://example.org/my/resource (but also infinitely many other identifiers) is a Hydra resource
I.e., the assertion is on the _node_ not on the identifier of that node. We _cannot_ assert that a node is dereferenceable; only URIs can be.
What Hydra _should_ have done is something like
```turtle
<http://example.org/my/resource> ex:hasDereferenceableUri "http://example.org/my/resource"^^xsd:anyURI .
```
But `hydra:Resource` has been meaningless all along, so removing that meaning does not change or break anything.
--
GitHub Notification of comment by RubenVerborgh
Please view or discuss this issue at https://github.com/HydraCG/Specifications/issues/216#issuecomment-640416339 using your GitHub account
Received on Monday, 8 June 2020 07:19:46 UTC