Skip to content

DPROD Contracts: path-traversal sandboxing and grammar (6.2) #190

Description

@jgeluk

Track: DPROD 1.1 data-contracts post-merge follow-up from PR #156. Adalbert (Matthias Autrata) feedback.

Plan item 6.2 of `dprod-contracts/docs/changes-plan.md`. Downstream of #186 (`dprod:path` OWL typing).

DPROD evaluators that resolve `dprod:path` against a backing knowledge graph need a well-defined grammar for what paths are allowed and a sandboxing story for what they can reach. Today the path syntax is described informally (simple IRI, RDF-list sequence) and the formal-semantics doc has a `traverse()` function but no normative grammar or termination guarantees.

Concrete deliverables:

  1. Normative grammar for `dprod:path` values — pin down whether SPARQL inverse / alternative / negated-property paths are supported, or whether DPROD restricts to forward-only sequence paths
  2. Termination / cycle handling — what an evaluator does when paths produce infinite traversal or large cartesian products
  3. Sandboxing — Adalbert's `deref` deals with this in his branch (PR Add adalbert-contracts: ODRL 2.2 profile for data governance #160); decide whether DPROD adopts the same approach or its own

Recommend resolving #186 first (it pins down the OWL semantics of `dprod:path` itself), then formalise the grammar here.

cc @tonyseale @matthiasautrata

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Data ContractsWork related to DPROD data contracts, agreements, data rights, and the ODRL profile.modelingModeling decisions & ontology design

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions