Skip to main content

prov:Agent

#PROV-O#RDF Class#Agent#Entity Detail

The prov:Agent class identifies entities that take responsibility for actions or data in provenance models. In SDL, prov:Agent is used to associate people, systems, or organizations with datasets, samples, workflows, or activities.


Definition

URI: http://www.w3.org/ns/prov#Agent

An prov:Agent is something that bears some form of responsibility for an activity taking place, for the existence of an entity, or for another agent’s activity.


Usage in SDL

In SDL, prov:Agent is used to:

  • Attribute dataset creation or processing to people or systems
  • Link activities to executing agents
  • Support traceability and accountability in workflows
  • Represent both human and non-human actors (e.g., instruments, scripts)

Agents may be used as:

  • prov:wasAttributedTo target for prov:Entity
  • prov:wasAssociatedWith target for prov:Activity

Properties

Property Description Optional
prov:actedOnBehalfOf Identifies a delegation relationship between agents Yes
prov:atLocation Physical or digital location of the agent Yes
foaf:name Name of the agent No
foaf:mbox Email address Yes
foaf:homepage Web page or profile link Yes
dcterms:identifier Agent identifier Yes
rdf:type Used to distinguish types like foaf:Person, prov:SoftwareAgent, prov:Organization No

Composition

Agents in SDL are usually subclassed or typed with more specific classes like:

  • foaf:Person
  • prov:SoftwareAgent
  • prov:Organization
ex:agent1 a prov:Agent , foaf:Person ;
  foaf:name "Dr. Alice Example" ;
  dcterms:identifier "alice@example.org" .

Examples

Dataset Attribution

ex:dataset1 a dcat:Dataset , prov:Entity ;
  dcterms:title "Root Zone Temperature Readings" ;
  prov:wasAttributedTo ex:agent1 .

ex:agent1 a prov:Agent , prov:SoftwareAgent ;
  foaf:name "Sensor Platform A" .

Software Agent

ex:scriptAgent a prov:Agent , prov:SoftwareAgent ;
  foaf:name "Automated QC Script" ;
  dcterms:identifier "agent:script-qc-2023" ;
  foaf:homepage <https://example.org/scripts/qc> .

ex:activity1 a prov:Activity ;
  prov:wasAssociatedWith ex:scriptAgent ;
  prov:startedAtTime "2023-07-01T10:00:00Z"^^xsd:dateTime .

Organization and Delegation

ex:labOrg a prov:Agent , prov:Organization ;
  foaf:name "Soil Ecology Lab" ;
  dcterms:identifier "org:soil-ecology" .

ex:technicianB a prov:Agent , foaf:Person ;
  foaf:name "Technician B" ;
  prov:actedOnBehalfOf ex:labOrg .

ex:activity2 a prov:Activity ;
  prov:wasAssociatedWith ex:technicianB ;
  prov:startedAtTime "2024-04-01T09:30:00Z"^^xsd:dateTime .

  • prov:Entity — the thing that was created or modified
  • prov:Activity — the process or execution trace
  • foaf:Person, prov:Organization — subclasses of prov:Agent

See Also

Provenance agents form the human and computational backbone of scientific data lifecycles in SDL — enabling accountability, transparency, and proper attribution.