Axiom Events Timeline — Ontology Crosswalk
Schema: schemas/events-timeline/v1.0.md
Target standards: W3C PROV-DM (primary), schema.org/Event (secondary), DCAT-US v3.0 (dataset-level)
Authority: W3C (PROV-DM, schema.org), U.S. Dept. of Commerce (DCAT-US)
Status: FAIR-aligned, Level 3 DCAT-US conformance
Dataset SPDX license: CC-BY-4.0 (research) · proprietary commercial license for paid tiers
1. Why this pairing
The Events Timeline is a provenance-heavy dataset — every row represents a real-world activity with a cause-effect chain via metadata.related_event_ids (schema §8). W3C PROV-DM is the canonical vocabulary for activity graphs, making it the natural primary target. schema.org/Event is the consumer-facing complement that gets JSON-LD-shaped records into Google / Bing / enterprise semantic indexes.
2. Dataset-level (DCAT-US v3.0)
| DCAT-US field | Value |
|---|---|
dct:identifier |
urn:axiom:codex:dataset:events-timeline:v1.0.0 |
dct:title |
"Axiom Events Timeline Dataset" |
dct:description |
"Unified, normalized event stream spanning maritime, civic, regulatory, environmental, economic, and risk signals with cascading cause-effect linkage." |
dcat:keyword |
["events", "timeline", "provenance", "cascade", "maritime", "civic", "regulatory"] |
dcat:theme |
["http://publications.europa.eu/resource/authority/data-theme/ECON", "...GOVE", "...ENVI"] (multi-theme) |
dct:temporal |
derived from MIN(started_at) / MAX(started_at) |
dct:accessRights |
tiered: PUBLIC (research) / RESTRICTED (commercial+) |
dct:license |
https://creativecommons.org/licenses/by/4.0/ (research) |
3. Record-level crosswalk — PROV-DM (primary)
Each Events Timeline row IS a prov:Activity. Cascade chains via metadata.related_event_ids translate naturally into prov:wasInformedBy edges.
| Codex field | PROV-DM term | Notes |
|---|---|---|
id |
prov:Activity IRI |
Serialized as urn:axiom:event:{uuid} |
event_type |
prov:type |
Dotted namespace → preserved as string |
event_category |
prov:category (extension) |
maritime, civic, etc. |
started_at |
prov:startedAtTime |
Required for every activity |
resolved_at |
prov:endedAtTime |
Null = still in progress |
entity_id |
prov:used or prov:generated |
An Entity IRI referenced by this Activity |
entity_type |
target of prov:wasAssociatedWith |
Vessel / parcel / permit / etc. maps to prov:Entity class |
source |
prov:wasAssociatedWith |
Points to the prov:Agent = ingest pipeline |
source_ref |
prov:hadPrimarySource |
Source-native reference |
metadata.related_event_ids[] |
prov:wasInformedBy |
Core cascade linkage |
downstream_outcome |
prov:wasInfluencedBy (reverse) |
Forward pointer to effect events |
confidence |
Codex extension (axiom:confidence) |
No PROV-DM slot |
magnitude |
Codex extension (axiom:magnitude) |
Polymorphic unit |
3.1 Example PROV-DM JSON-LD for a dark event
{
"@context": [
"https://www.w3.org/ns/prov.jsonld",
{"axiom": "https://axiomcodex.io/ns/v1/"}
],
"@id": "urn:axiom:event:c5a8e4f2-9b7d-4c1e-b3a5-1f2d8c0e7a93",
"@type": "prov:Activity",
"prov:type": "dark_event",
"axiom:eventCategory": "maritime",
"prov:startedAtTime": "2026-03-14T18:02:00Z",
"prov:endedAtTime": "2026-03-17T06:11:00Z",
"prov:used": {
"@id": "urn:aprs:record:maritime:vessel:9432871",
"@type": "prov:Entity",
"prov:type": "vessel"
},
"prov:wasAssociatedWith": {
"@id": "urn:axiom:agent:kinematic-fingerprints/1.2.1",
"@type": "prov:Agent"
},
"prov:wasInformedBy": {
"@id": "urn:axiom:event:c09a3d41-22ff-4aef-bc8c-d61e1a9f2e5d"
},
"axiom:confidence": 0.94,
"axiom:magnitude": 60.15,
"axiom:magnitudeUnit": "hours"
}
4. Record-level crosswalk — schema.org/Event (secondary)
For consumer-facing / SEO-facing distributions, Codex emits a parallel schema.org/Event view.
| Codex field | schema.org |
|---|---|
id |
Event.identifier |
event_type |
Event.additionalType |
event_category |
Event.eventAttendanceMode (repurposed) or custom Event.categorization |
entity_name |
Event.about.name |
location |
Event.location.Place.geo.GeoCoordinates |
location_name |
Event.location.Place.name |
started_at |
Event.startDate |
resolved_at |
Event.endDate |
source_uri |
Event.url |
source_system |
Event.recordedIn.Dataset.name |
product |
Event.isPartOf.Product.name |
metadata.related_event_ids[] |
Event.superEvent / Event.subEvent (directionally assigned) |
schema.org does not have semantic slots for confidence, magnitude, downstream_outcome, or outcome_lag_days. These are published under the axiom: namespace alongside the schema.org view.
5. Cascade graph as PROV-DM
The metadata.related_event_ids array is the single most important semantic feature of this dataset. PROV-DM models it natively:
- A cascades to B → in PROV-DM,
B prov:wasInformedBy A - A generates entity E, B uses E →
A prov:generated E+B prov:used E
Both patterns are emitted in the JSON-LD distribution. Consumers running a SPARQL endpoint over the JSON-LD can traverse cascades with:
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX axiom: <https://axiomcodex.io/ns/v1/>
SELECT ?downstream ?lag
WHERE {
?rezoning a prov:Activity ;
prov:type "council.approved" ;
prov:startedAtTime ?t0 .
?downstream prov:wasInformedBy ?rezoning ;
prov:type ?type ;
prov:startedAtTime ?t1 .
BIND((?t1 - ?t0) AS ?lag)
FILTER(STRSTARTS(?type, "permit."))
}
ORDER BY ?lag
Equivalent to the SQL example in v1.0.md §9.1, but over the JSON-LD surface.
6. FAIR compliance
| Principle | Status | Evidence |
|---|---|---|
| Findable | ✅ | Every event gets urn:axiom:event:{uuid} + DCAT-US catalog entry |
| Accessible | ✅ | Parquet + JSON-LD over HTTPS; MCP server surface |
| Interoperable | ✅ | PROV-DM + schema.org + DCAT-US all emitted side-by-side |
| Reusable | ✅ | SPDX license, versioned schema, documented deprecation policy |
DCAT-US v3.0 conformance level: 3
PROV-DM conformance: Core classes (Activity, Entity, Agent) + core relations (used, generated, wasInformedBy, wasAssociatedWith, hadPrimarySource, startedAtTime, endedAtTime). PROV-O (OWL layer) is compatible but Codex does not publish OWL axioms — the data is meant for traversal, not reasoning.
7. Deviations
entity_idis polymorphic acrossentity_type(see schema §4). In PROV-DM we always wrap in aprov:EntityIRI; theprov:typeon that entity disambiguates.magnitudehas polymorphic units (schema §5). We publishaxiom:magnitudeas a raw float andaxiom:magnitudeUnitas a unit string derived fromevent_type. Consumers should not compare magnitudes across types without consulting the unit field.- PROV-DM has no "confidence" slot.
confidenceis a Codex extension, not a PROV-DM term. This is consistent with how DCAT / PROV traditionally handle quality metrics (they're out of scope). downstream_outcomeis a denormalization of what PROV-DM would express as a reversewasInformedBy. Retained for query ergonomics — the full graph is available via the cascade chain.
8. Changelog
- v1.0 (2026-04-16) — Initial crosswalk. PROV-DM primary, schema.org/Event secondary, DCAT-US at dataset level.