The Web Annotation to PROV-O Mapping is an executable SPARQL projection. It supports audit trails for review comments, edit requests, assessments, and other targeted feedback without changing the global meaning of terms in either vocabulary.
This is an unofficial 0.1 Editor's Draft maintained in the Inferal ontology repository.
https://ontology.inferal.com/mappings/web-annotation-prov/
Web Annotation is optimized for describing a statement, body, target, motivation, selector, and state. PROV-O is optimized for describing entities, activities, agents, usage, generation, attribution, and derivation. This mapping treats annotations and resource selections as provenance entities and uses generated activity nodes when a consumer needs explicit creation, serialization, or rendering provenance.
The mapping publishes no subclass, subproperty, or equivalence axioms on Web Annotation terms. An annotation target is not always a provenance input, a body is not always a derivation source, and a motivation is not an activity type. The SPARQL mapping applies correspondences only when its source graph patterns match. A small auxiliary vocabulary defines the mapping-owned creation, serialization, and rendering activity classes used in generated output.
| Web Annotation term | Generated PROV-O view | Reason |
|---|---|---|
oa:Annotation |
rdf:type prov:Entity |
An annotation is a resource that can be generated, attributed, revised, and cited. |
oa:SpecificResource, oa:ResourceSelection, oa:Selector, oa:State |
rdf:type prov:Entity |
These resources identify selected representations, selection descriptions, and state descriptions. |
oa:hasSource |
prov:specializationOf |
A selected resource is a more specific resource derived from the source it selects. |
oa:via |
prov:hadPrimarySource |
The source resource was retrieved through another resource. |
oa:sourceDate |
prov:generatedAtTime |
The source state records the timestamp at which the source representation applies. |
The basic provenance query reads provenance-like facts directly from
existing Web Annotation records. It does not create new activity
nodes. Instead, each result row names the annotation, the subject
resource, the PROV-O relation being projected, the object, and the
source predicate from the original graph. Entity typing,
oa:hasSource, oa:via,
oa:sourceDate, attribution, and body or target usage are
all explicit query branches. No branch depends on RDFS alignment
axioms. Rows for
dcterms:creator also expose user identity fields attached
to the creator agent, including identifiers, names, mailboxes,
accounts, alternate identities, and delegation links.
The materialization query projects ordinary Web Annotation records into
explicit PROV-O activities. The query mints stable fragment IRIs from
annotation and target IRIs, such as #annotation-creation
and #resource-rendering. It only emits activity-specific
triples when the corresponding Web Annotation or Dublin Core metadata is
present. Creator identity and linked FOAF account facts are preserved,
but account ownership alone does not imply delegation or association
with the creation activity.