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.

Namespace

https://ontology.inferal.com/mappings/web-annotation-prov/

Scope

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.

Conditional Correspondences

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.

Queries

Basic Provenance Query

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.

Materialization Query

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.