TREEcg / specification

RDF vocabulary and hypermedia specification to publish your Linked Data using search trees
https://w3id.org/tree/specification
27 stars 12 forks source link

Discussing a rework for conditional imports #90

Open pietercolpaert opened 8 months ago

pietercolpaert commented 8 months ago

Problems

The member extraction algorithm resolved a part of the use cases for having conditional imports in the spec. However, two problems imports solve still remain valid:

Problem 1: Fragmenting on external paths

A property is being used as a tree:path parameter, but it is not part of the actual member. Therefore, when the

Example of when this might be useful:

Problem 2: importing streams

One should be able to register on a pubsub stream when the node or collection is going to update at a certain moment through that stream.

Solution

Conditional imports

A conditional import can be defined as follows - it defines an extra HTTP request that can be done if from the current page it must follow the link if it needs graph patterns that match the path.

ex:N1 tree:import [
    tree:path ( lc:departureStop gsp:asWKT );
    tree:import <stops.ttl> 
] .

Import Stream

Also tree:importStream was defined which allows one the subscribe on a websockets stream or an SSE stream.

Questions

Conditional imports: Is this design still adequate to the use case? Is the term import correctly chosen?

ImportStream: what can be expected from that stream? Should we constrain it to only view descriptions so that it always updates the full set of members? Or should we also allow to it being defined on a subset? Should we also define it to describe its updates through activity streams, as members can also be deleted?

pietercolpaert commented 7 months ago

From the call of 2023-11-08:

That way, imports could be entirely removed from the TREE specification.

pietercolpaert commented 4 weeks ago

From the call of 2024-06-05:

Conditional imports should go: they don’t work on mixed collections/streams

Actions:

  1. Remove the imports section all together
  2. Open a work item to describe interconnectedness/dependencies between datasets in the discovery spec that is being split off
  3. ImportStreams, maybe based on VOCALS, should become a work item in LDES