Profiles and interoperability
Add domain selectors while retaining W3C PROV semantics.
Profiles
The core protocol uses generic entities, locators, selectors, activities, and attributes. A profile adds domain vocabulary without changing the derivation model.
Profiles can define:
- selector types for document regions, database rows, source-code ranges, or media time ranges
- activity-type conventions
- namespaced attributes
- entity and agent conventions
Profile identifiers are strings. Namespaced attributes keep profile data separate from the stable core schema.
For example, the OpenParser extraction profile defines
document-region selectors, OCR confidence methods, and openparser:*
attributes. Those conventions ship from @openparser/lineage/openparser; the
core package remains useful to producers that know nothing about documents or
OCR. The profile pages cover
verbatim extraction,
evidence and confidence, and
human review.
Complementary standards
These systems preserve related information at different levels. They can be connected without making one format pretend to replace the others.
Which exact inputs and operation produced this value?
- W3C PROV
How can provenance be exchanged using shared semantics?
The semantic foundation for entities, activities, agents, and PROV-JSON export.
- OpenLineage
Which job transformed which dataset?
Jobs, runs, datasets, and column-level dependencies.
- OpenTelemetry
What happened while the operation was running?
Runtime traces, spans, timing, and operational diagnostics.
- in-toto / C2PA
Can this artifact’s origin and integrity be verified?
Signed attestations over artifacts and media.
W3C PROV
lineage@1 adopts the semantics of the
W3C PROV Data Model:
- a lineage entity maps to
prov:Entity - an activity maps to
prov:Activity - an agent maps to
prov:Agent - derivations map to
wasDerivedFrom,wasGeneratedBy, andused - associations, attributions, specializations, alternates, and collection membership retain their PROV meaning
toProvJson() exports a validated graph to
PROV-JSON.
OpenLineage
OpenLineage describes jobs, runs, datasets, and column dependencies. Activities can carry OpenLineage run and job identifiers, while value entities point to dataset fields.
Derivation inputs use OpenLineage's direct and indirect distinction and can
record transformation vocabulary such as identity, aggregation, join, filter,
window, or conditional.
OpenTelemetry
OpenTelemetry records runtime execution and timing. Store trace and span identifiers on activities to connect operational telemetry with durable derivation history.
Signed provenance
in-toto and C2PA provide signed attestations for software artifacts and media. Entity digests and lineage document identifiers provide stable subjects for those attestations.
These systems answer complementary questions. lineage@1 focuses on the data
derivation itself: which exact inputs and operation produced this value?