-
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
collections with manages block & Triple Pattern Fragments #142
Comments
Following up on #148 (comment) We may also need to clarify when we use The first (view) seems more like client driven data fragment/partition, while the second (collection) seems more like server driven data fragment/partition. |
This commit replaces 'collection' centric approach, with triple centric approach. Client instead of looking for collection with manages block would just rely on TPF to get the same information. 33ab45a |
@rubensworks @joachimvh @mielvds @pietercolpaert Any thoughts on this? |
A TPF could also have a manage block, right? You could have multiple TPF startfragments that manage different types? I don’t quite understand the question here though: why would LDF be something different than a Hydra API? |
I don't really follow either. What is the exact difference? What are the semantics of |
Hi @pietercolpaert & @mielvds , please let me try to explain better. You can find information on how In my example snippet above taken from UC#1EntryPoint "manages": {
"property": "rdf:type",
"object": "schema:Event"
} Simply means that members in that collection all follow "manages": {
"property": "schema:knows",
"subject": "/alice"
} It simply means that all members follow So far I don't see major difference from using TPF to get IRIs of resources matching given triple pattern. Collections can inline / JSON-LD embedd representations of those resources in the representation of the collection, still given HTTP/2 I don't see it an advantage for all application scenarios, for example based on capability to cache representation of each resource. As a person developing web services (acting mostly as servers) and web applications (acting mostly as clients) using API based on Hydra. Currently I don't see clear guidance on when to use collections with Another difference relates to creating new resources, currently UC#5 provides example of creating new resources using HTTP POST while UC#5.1 using HTTP PUT and Without collections, relying on proposed in #158 I consider making PR which would enable TPF based approach for the current set of use cases. It wold co-exist with collection based approach and we could see where they play well together and where they seem to step on each other toes. |
It depends on who do you want to enable to utilize your API. Hydra will be more generic, TPF is on top of Hydra and may introduce it's own mechanism that won't be visible for Hydra generic client. You may end up with conclusion that Hydra itself is not enough and you may be forced to use other means of expression - still, it depends on the target audience. |
Continuing from #137 (comment)
If we look at snippet in UC#1EntryPoint
This
manages
block works very similar to what I looked at doing withvoid:classPartition
#126 (comment)At the same time single
manages
block seems to work very closely to Triple Pattern Fragments. Actually with HTTP/2, Etag etc. I consider in projects I work on not to use collections which return members inline but rely on TPF and just fetch new members or members that have changed.I think we should take some time to clarify how collections with
manages
block and TPF supposed to work together, maybe even write side by side comparison with guidelines about strengths and weaknesses of each one.The text was updated successfully, but these errors were encountered: