prov/commit

IMPROVED: use file modification date for prov:generatedAtTime when subject is a file

authorJacco van Ossenbruggen
Wed Jul 26 11:07:55 2017 +0200
committerJacco van Ossenbruggen
Wed Jul 26 11:07:55 2017 +0200
commitf8f9243a37820e7ad67b1a21aef3dc5ea5368a45
tree4fad2655994364fbdd2f741d4620a04a6b16c61e
parent3f8d9e7f26344cf8f4c7f372e3eb2e540640e743
Diff style: patch stat
diff --git a/lib/prov_schema.pl b/lib/prov_schema.pl
index a0d5aba..4951e86 100644
--- a/lib/prov_schema.pl
+++ b/lib/prov_schema.pl
@@ -220,11 +220,15 @@ log_entity_create(File, Options) :-
     option(activity(Activity), Options),
     option(prov(ProvBundle), Options),
     option(graph(Graph), Options, none),
+    (   access_file(File, read),
+        time_file(File, Time)
+    ->  xsd_timestamp(Time, TimeStamp)
+    ;   xsd_now(TimeStamp)
+    ),
     (   uri_is_global(File)
     ->  Entity = File
     ;   uri_file_name(Entity, File)
     ),
-    xsd_now(TimeStamp),
     rdf_retractall(Entity, _, _, ProvBundle),
     rdf_assert(Entity, rdf:type, prov:'Entity', ProvBundle),
     rdf_assert(Entity, prov:generatedAtTime, TimeStamp^^xsd:dateTime,  ProvBundle),