Skip to content

Provenance

Luigi Asprino edited this page Jul 22, 2019 · 4 revisions

Provenance

Con il termine Provenance si intendono tutte quelle informazioni associate ad una certa entità che descrivono come quella entità è stata generata. Queste informazioni sono associate a qualsiasi tipo di entità (sia essa di tipo Persona, Organizzazione, Progetto ecc.). Per descrivere le informazioni di provenance associate ad una certa entità è stata adottata l'ontologia PROV-O.

Il prefisso prov è associato al valore http://www.w3.org/ns/prov#.

Come esempio verrà descritto come associare le informazioni di provenance ad una entità https://example.org/resource.

Innanzitutto bisogna dichiarare https://example.org/resource come appartenente alla classe prov:Entity.

<prov:Entity rdf:about="https://example.org/resource">
	....
</prov:Entity>

Associare all'enttità generata un'attività tramite la object property prov:wasGeneratedBy.

<prov:Entity rdf:about="https://example.org/resource">
	<prov:wasGeneratedBy>
		<prov:Activity>
			...
		</prov:Activity>
	</prov:wasGeneratedBy>
</prov:Entity> 

Associare all'attività:

  1. Una descrizione tramite rdfs:comment in cui viene descritta in maniera generica l'attività che ha portato alla creazione del dato (e.g. "Attività di inserimento manuale compiuta da Mario Rossi").
<prov:Entity rdf:about="https://example.org/resource">
	<prov:wasGeneratedBy>
		<prov:Activity>
			<rdfs:comment><![CDATA[Attività di inserimento manuale]]></rdfs:comment>
				...			
		</prov:Activity>
	</prov:wasGeneratedBy>
</prov:Entity>
  1. L'agente che ha compiuto l'attività tramite la object property prov:wasAssociatedWith. L'agente può essere descritto come foaf:Agent.
<prov:Entity rdf:about="https://example.org/resource">
		<prov:wasGeneratedBy>
			<prov:Activity>
				...
				<prov:wasAssociatedWith>
					<foaf:Agent rdf:about="https://w3id.org/ecodigit/person/mario.rossi">
						<foaf:name>Mario Rossi</foaf:name>
					</foaf:Agent>
					...
				</prov:wasAssociatedWith>
			</prov:Activity>
		</prov:wasGeneratedBy>
	</prov:Entity>
  1. Eventualmente, una o più fonti, specificate con la proprietà prov:used (indicate con delle URL) usate per produrre i dati.
<prov:Entity rdf:about="https://example.org/resource">
		<prov:wasGeneratedBy>
			<prov:Activity>
				...
				<prov:used rdf:resource="https://example.org/fonte1" />
				...
			</prov:Activity>
		</prov:wasGeneratedBy>
	</prov:Entity>
  1. Eventualmente, l'inizio e la fine dell'attività di produzione dei dati, specificate rispettivamente con le proprietà prov:startedatTime e prov:endedAtTime.
<prov:Entity rdf:about="https://example.org/resource">
		<prov:wasGeneratedBy>
			<prov:Activity>
				...
				<prov:startedAtTime rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2019-05-01T03:40:00Z</prov:startedAtTime>
				<prov:endedAtTime rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2019-05-01T03:40:00Z</prov:endedAtTime>
			</prov:Activity>
		</prov:wasGeneratedBy>
	</prov:Entity>

Esempio completo

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
	xmlns:foaf="http://xmlns.com/foaf/0.1/"
	xmlns:prov="http://www.w3.org/ns/prov#">
	<prov:Entity rdf:about="https://example.org/resource">
		<prov:wasGeneratedBy>
			<prov:Activity>
				<rdfs:comment><![CDATA[Attività di inserimento manuale]]></rdfs:comment>
				<prov:wasAssociatedWith>
					<foaf:Agent rdf:about="https://w3id.org/ecodigit/person/mario.rossi">
						<foaf:name>Mario Rossi</foaf:name>
					</foaf:Agent>
				</prov:wasAssociatedWith>
				<prov:used rdf:resource="https://example.org/fonte1" />
				<prov:startedAtTime rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2019-05-01T03:40:00Z</prov:startedAtTime>
				<prov:endedAtTime rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2019-05-01T03:40:00Z</prov:endedAtTime>
			</prov:Activity>
		</prov:wasGeneratedBy>
	</prov:Entity>

</rdf:RDF>

Clone this wiki locally