-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Opening an issue for an ongoing discussion in the TREE CG meetings:
The Member Extraction Algorithm (MEA) is optional to implement (MAY), as it depends on the goals of the client (e.g., if the client wants to select a specific BGP, it does not need the MEA). Nevertheless, it is very important for LDES, where a consumer needs to be able to replicate a set of quads per member. We will therefore talk about TREE/LDES below.
Problem
The member extraction algorithm (MEA) is difficult to implement as it is written trying to solve member extraction in all possible cases, supporting all possible RDF-based APIs. In reality, we see clients that only partially support member extraction based on the needs of their ecosystem. This however hinders cross-domain interoperability of TREE/LDES clients and we argue that we might want to move the goal posts on what we want to achieve. Instead of having a member extraction algorithm that works for everything, it would already be nice to have a member extraction algorithm subset that works for TREE/LDES.
E.g., a member extraction algorithm for TREE/LDES probably does not need support for partial out of band members, but this is added in the algorithm for supporting APIs like LDP or IIIF-CD, without any practical benefit for TREE/LDES.
What is the minimum that we want to mandate? And what do we make optional to implement? And if something is optional, how do we indicate what a client wants?
Related issue:
- Extending the MEA with blank node graphs for associating context: Member extraction algorithm: supporting multiple named graphs in one member #113
- Clearing out the definition of
tree:shape: Clear out tree:shape definition #75
Proposed re-work
The MEA should include:
- CBD on the first focus node (subject-based star patterns including blank nodes recursively)
- Named Graphs support
- Somehow support for blank node graphs and more elaborate context associations cfr. what is being proposed/discussed in Member extraction algorithm: supporting multiple named graphs in one member #113?
When these 3 steps would result in no triples at all, then an extra HTTP requests will be done to the focus node.
While the tree:shape MAY thus point at more data than the CBD and the named graph(s), it is not automatically fulfilled. The client MAY implement a mode however to fetch all data needed to perform a validation of the tree:shape. This however will be optional to implement, and we can then still refer to the shape topology algorithm that can evolve separately from the TREE spec.