Skip to content

Revisiting the member extraction algorithm (MEA) section #139

@pietercolpaert

Description

@pietercolpaert

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:

Proposed re-work

The MEA should include:

  1. CBD on the first focus node (subject-based star patterns including blank nodes recursively)
  2. Named Graphs support
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions