Re: [Specifications] Relative Template URIs (#208)

No pressure. Maybe it's a good thing that Alceaus is the reference client. Gives some freedom to do what I find useful for the consumer :). It is a release candidate because I'm finalising the internal architecture. If the spec breaks something for me I will just go to v2, v3 etc.

> It's like treating nested HTML tags as separate documents. Spec is clear and says about documents. 

Shoot, you're right, I'm wrong. 

Which does not change the fact that RDF is not HTML and the `hydra:template` is just a string. It has not semantic meaning for RDF itself. It has only meaning for a Hydra client and it is up to us to define those semantics.

> Back to the topic - is there any agreement to adding new predicates for IriTemplate that would mark it for separate template expansion algorithm

Well, there really is not an "expansion algorithm". There is but the choice of Base URI to resolve a relative URI (the algorithm explained in [section 5.2 of RFC3986](https://tools.ietf.org/html/rfc3986#section-5.2)). 

There only two good options IMO: 
- a shared base, communicated by the 

Thus, to address your proposal, I would add `hydra:resolveRelativeTo`, which would optionally point to named individuals to indicate the Base URI to use:

```turtle
<> 
  a hydra:ApiDocumentation ;
  hydra:apiBaseUri "http://example.com/" .

_:relativeToContext a hydra:IriTemplate ;
  hydra:resolveRelativeTo hydra:LinkContext .

_:relativeToBase a hydra:IriTemplate ;
  hydra:resolveRelativeTo hydra:ApiBaseUri .
```

`LinkContext` following the terminology of [RFC 5988 - Web Linking](https://tools.ietf.org/html/rfc5988#section-3)

The question is what we'd want to treat as default for `hydra:resolveRelativeTo` and what if a template wants `ApiBaseUri` but it's not set to the `ApiDocumentation`

-- 
GitHub Notification of comment by tpluscode
Please view or discuss this issue at https://github.com/HydraCG/Specifications/issues/208#issuecomment-619021522 using your GitHub account

Received on Friday, 24 April 2020 13:48:16 UTC