...
Code Block |
---|
language | xml |
---|
title | event2.sparql |
---|
|
prefix audit: <http://fedora.info/definitions/v4/audit#>
prefix premis: <http://www.loc.gov/premis/rdf/v1#>
prefix premisEvent: <http://id.loc.gov/vocabulary/preservation/eventType/>
prefix prov: <http://www.w3.org/ns/prov#>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
insert data {
<http://example.org/event2> rdf:type prov:InstantaneousEvent .
<http://example.org/event2> rdf:type premis:Event .
<http://example.org/event2> rdf:type audit:ExternalEvent .
<http://example.org/event2> premis:hasEventRelatedAgent "jquser"^^xsd:string .
<http://example.org/event2> premis:hasEventRelatedAgent "rsync 2.6.9"^^xsd:string .
<http://example.org/event2> premis:hasEventRelatedAgent "backup-repository.example.edu"^^xsd:string .
<http://example.org/event2> premis:hasEventType premisEvent:rep .
<http://example.org/event2> premis:hasEventRelatedObject <http://localhost:8080/fcrepo/rest/55/59/ec/05/5559ec05-6ab1-4d61-905a-a5f3da360b23> .
<http://example.org/event2> premis:hasEventDateTime "2012-04-30T20:40:40"^^xsd:dateTime .
} |
...
External audit events can be added to an LDP Container as a repository resource. For each object, create an LDP Container that manages the audit event relationship automatically (Where ../foo/audit is configured with param -Dfcrepo.audit.container=/foo/audit) When using Internal Audit Events, the audit container will be created automatically. Otherwise, a container for audit events can be created in the usual way:
Code Block |
---|
|
curl -X PUT --data-binary @audit_container.ttl POST -H "Content-typeSlug: text/turtleaudit" http://localhost:8080/fcrepo4fcrepo/rest/foo/audit |
Code Block |
---|
language | xml |
---|
title | audit_container.ttl |
---|
|
@prefix ldp: <http://www.w3.org/ns/ldp#> .
@prefix premis: <http://www.loc.gov/premis/rdf/v1#>
<> a ldp:DirectContainer;
ldp:membershipResource <http://localhost:8080/fcrepo4/rest/foo>;
ldp:hasMemberRelation premis:hasEvent . |
For Then, for each event, post the RDF for the event to the audit container:
Code Block |
---|
|
curl -X POST --data-binary @audit_event.ttl -H "Content-type: text/turtle" http://localhost:8080/fcrepo4fcrepo/rest/fooaudit/audit |
Code Block |
---|
language | xml |
---|
title | audit_event.ttl |
---|
|
@prefix audit: <http://fedora.info/definitions/v4/audit#> .
@prefix premis: <http://www.loc.gov/premis/rdf/v1#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<> a prov:InstantaneousEvent, premis:Event, audit:ExternalEvent ;
premis:hasEventRelatedAgent "jquser"^^xsd:string,
"ImageMagick 6.8.8-9"^^xsd:string,
"thumbnail-generator.example.edu"^^xsd:string ;
premis:hasEventType audit:derivativeCreation ;
premis:hasEventRelatedObject <http://localhost:8080/fcrepo/rest/foo>some-existing-resource> ;
premis:hasEventDateTime "2012-04-30T20:40:40"^^xsd:dateTime . |
...