From 9854be4db2aa10ec75b228314f8316b15c5a2ae2 Mon Sep 17 00:00:00 2001 From: Luigi Asprino Date: Mon, 2 Sep 2024 20:15:21 +0200 Subject: [PATCH] Add information when the cached graph was created #149 --- .../sparqlanything/engine/DatasetGraphCreator.java | 13 ++++++++----- .../io/github/sparqlanything/model/Triplifier.java | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/sparql-anything-engine/src/main/java/io/github/sparqlanything/engine/DatasetGraphCreator.java b/sparql-anything-engine/src/main/java/io/github/sparqlanything/engine/DatasetGraphCreator.java index 3794833a..98359506 100644 --- a/sparql-anything-engine/src/main/java/io/github/sparqlanything/engine/DatasetGraphCreator.java +++ b/sparql-anything-engine/src/main/java/io/github/sparqlanything/engine/DatasetGraphCreator.java @@ -18,6 +18,9 @@ import io.github.sparqlanything.metadata.MetadataTriplifier; import io.github.sparqlanything.model.*; +import org.apache.jena.datatypes.RDFDatatype; +import org.apache.jena.datatypes.xsd.XSDDatatype; +import org.apache.jena.datatypes.xsd.XSDDateTime; import org.apache.jena.graph.Node; import org.apache.jena.graph.NodeFactory; @@ -31,16 +34,15 @@ import org.apache.jena.sparql.core.DatasetGraph; import org.apache.jena.sparql.core.DatasetGraphFactory; import org.apache.jena.sparql.engine.ExecutionContext; +import org.apache.jena.vocabulary.DCTerms; import org.apache.jena.vocabulary.RDF; import org.apache.jena.vocabulary.VOID; +import org.apache.jena.vocabulary.XSD; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Properties; -import java.util.Set; +import java.util.*; public class DatasetGraphCreator { @@ -190,8 +192,9 @@ private void createAuditGraph(DatasetGraph dg, Properties p, boolean b) { auditGraph.addProperty(RDF.type, ResourceFactory.createResource(SD.concat("NamedGraph"))); auditGraph.addProperty(ResourceFactory.createProperty(SD.concat("name")), g.getURI()); auditGraph.addLiteral(VOID.triples, dg.getGraph(g).size()); -// auditGraph.addLiteral(VOID., dg.getGraph(g).size()); auditGraph.addLiteral(auditGraph.getModel().createProperty(Triplifier.FACADE_X_CACHED_GRAPH), b); + auditGraph.addProperty(auditGraph.getModel().createProperty(Triplifier.FACADE_X_CACHED_GRAPH_CREATION),new XSDDateTime(Calendar.getInstance()).toString(), XSDDatatype.XSDdateTime); + } dg.addGraph(nodeGraph, audit.getGraph()); } diff --git a/sparql-anything-model/src/main/java/io/github/sparqlanything/model/Triplifier.java b/sparql-anything-model/src/main/java/io/github/sparqlanything/model/Triplifier.java index d9db4632..6b97ac53 100644 --- a/sparql-anything-model/src/main/java/io/github/sparqlanything/model/Triplifier.java +++ b/sparql-anything-model/src/main/java/io/github/sparqlanything/model/Triplifier.java @@ -48,6 +48,7 @@ public interface Triplifier { String FACADE_X_SLOT_KEY = FACADE_X_CONST_NAMESPACE_IRI + "slot-key"; String FACADE_X_TYPE_PROPERTIES = FACADE_X_CONST_NAMESPACE_IRI + "properties"; String FACADE_X_CACHED_GRAPH = FACADE_X_CONST_NAMESPACE_IRI + "cachedGraph"; + String FACADE_X_CACHED_GRAPH_CREATION = FACADE_X_CONST_NAMESPACE_IRI + "cachedGraphCreation"; Logger log = LoggerFactory.getLogger(Triplifier.class); UnicodeEscaper basicEscaper = new PercentEscaper("_.-~", false);