Abstract
Data integration typically relies on more than raw triples: provenance, quality indicators, usage policies,
and signatures are often required as in-band contextual statements. In the Resource Description Framework
(RDF), such annotations are expressed through a range of annotation models and method-specific practices.
In this space, mature systems such as DQV, nanopublications, RO-Crates, and W3C Verifiable Credentials
differ both in how they model annotations and how the annotation target is defined, with contextual
information encoded in the annotation system rather than at the data level. This heterogeneity limits the
uniform storage, exchange, discovery, and querying of contextual information associated with target
statements. We present Context Associations, an approach for uniformly modeling and querying associations
between contextual information and statements in an RDF knowledge graph. Our approach enables a lossless
and reversible conversion of existing annotations into a single association model based on blank-node
graphs. We evaluate Context Associations across the aforementioned annotation systems and show that
contextual information can be uniformly associated with target statements and queried across applications.
We further show that the original formats can be fully reconstructed when method-specific modeling
assumptions are made explicit. By providing a uniform representation of contextual information associated
with RDF statements, Context Associations supports the discovery, exchange, storage, and processing of
heterogeneous annotations.
This paper comes with a spec
The paper is accompanied by the
Context Associations specification,
which turns the paper's annotation model into a concrete RDF vocabulary and processing convention.
The spec defines how a graph of context statements can be associated with a graph of target statements
using named graphs and an anchor relation such as ca:aboutGraph. It also makes graph
references local through ca:graphName, covers the default graph with
ca:DefaultGraph, and describes integrity support through graph hashes.
This gives implementers the terms needed to encode existing
annotation methods, keep data and context boundaries explicit, and query associated context uniformly
across RDF datasets.