From 0693645c683227c17b48ec383f7bc3f6c4216eb2 Mon Sep 17 00:00:00 2001 From: Enrico Ottonello Date: Mon, 4 Oct 2021 15:13:16 +0200 Subject: [PATCH] added precision information to spatial data --- .../ariadneplus/elasticsearch/model/Spatial.java | 2 +- .../src/main/resources/application.properties | 10 ++++++++++ .../sparql/read_record_data_template.sparql | 6 ++++++ .../ariadneplus/GraphDbReaderAndESIndexTest.java | 4 ++-- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/model/Spatial.java b/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/model/Spatial.java index efd7220..9b6c4ce 100644 --- a/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/model/Spatial.java +++ b/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/model/Spatial.java @@ -14,8 +14,8 @@ public class Spatial { private String boundingbox; private String polygon; private String spatialPrecision; + private String coordinatePrecision; - private transient String coordinatePrecision; private transient String boundingBoxMaxLat; private transient String boundingBoxMaxLon; private transient String boundingBoxMinLat; diff --git a/dnet-ariadneplus-graphdb-publisher/src/main/resources/application.properties b/dnet-ariadneplus-graphdb-publisher/src/main/resources/application.properties index 9c3a5b9..f458182 100644 --- a/dnet-ariadneplus-graphdb-publisher/src/main/resources/application.properties +++ b/dnet-ariadneplus-graphdb-publisher/src/main/resources/application.properties @@ -150,6 +150,16 @@ class.map.specifications={\ "substring": "no",\ "element_type": "java.lang.String"\ },\ +"https://www.ariadne-infrastructure.eu/property/precisionUnit": {\ +"class_field": "SpatialPrecision",\ +"substring": "no",\ +"element_type": "java.lang.String"\ +},\ +"https://www.ariadne-infrastructure.eu/property/precisionValue": {\ +"class_field": "CoordinatePrecision",\ +"substring": "no",\ +"element_type": "java.lang.String"\ +},\ "https://www.ariadne-infrastructure.eu/property/geoPoint": {\ "class_field": "PolygonGeoPoints",\ "substring": "no",\ diff --git a/dnet-ariadneplus-graphdb-publisher/src/main/resources/eu/dnetlib/ariadneplus/sparql/read_record_data_template.sparql b/dnet-ariadneplus-graphdb-publisher/src/main/resources/eu/dnetlib/ariadneplus/sparql/read_record_data_template.sparql index 9015ebf..53d1b60 100644 --- a/dnet-ariadneplus-graphdb-publisher/src/main/resources/eu/dnetlib/ariadneplus/sparql/read_record_data_template.sparql +++ b/dnet-ariadneplus-graphdb-publisher/src/main/resources/eu/dnetlib/ariadneplus/sparql/read_record_data_template.sparql @@ -58,6 +58,8 @@ CONSTRUCT { ?spatialRegionBox aoprop:boxMaxLon ?spatialLocationBBMaxLon . ?spatialRegionBox aoprop:boxMinLat ?spatialLocationBBMinLat . ?spatialRegionBox aoprop:boxMinLon ?spatialLocationBBMinLon . +?spatialRegionBox aoprop:precisionUnit ?spatialPrecisionUnit . +?spatialRegionBox aoprop:precisionValue ?spatialPrecisionValue . %record aoprop:spatialRegionPolygon ?spatialRegionPolygon . ?spatialRegionPolygon aoprop:geoPoint ?geoPoint . ?geoPoint aoprop:lat ?lat . @@ -128,6 +130,10 @@ where { optional { %record aocat:has_visual_component ?visualComponent . } + optional { + ?record aocat:has_spatial_precision / aocat:has_unit / skos:prefLabel ?spatialPrecisionUnit . + ?record aocat:has_spatial_precision / aocat:has_value ?spatialPrecisionValue . + } } optional { diff --git a/dnet-ariadneplus-graphdb-publisher/test/java/eu/dnetlib/ariadneplus/GraphDbReaderAndESIndexTest.java b/dnet-ariadneplus-graphdb-publisher/test/java/eu/dnetlib/ariadneplus/GraphDbReaderAndESIndexTest.java index 084f5d0..b3d7b72 100644 --- a/dnet-ariadneplus-graphdb-publisher/test/java/eu/dnetlib/ariadneplus/GraphDbReaderAndESIndexTest.java +++ b/dnet-ariadneplus-graphdb-publisher/test/java/eu/dnetlib/ariadneplus/GraphDbReaderAndESIndexTest.java @@ -345,8 +345,8 @@ public class GraphDbReaderAndESIndexTest { // @Ignore public void uploadDimeBoundingBoxTest() throws Exception { boolean isRecord = true; - String recordId = "https://ariadne-infrastructure.eu/aocat/Resource/F9398BD5-DECB-3FF5-8077-D96893D0D0C6"; - String datasource = ":aarhusdime"; + String recordId = "https://ariadne-infrastructure.eu/aocat/Resource/DIME/F9398BD5-DECB-3FF5-8077-D96893D0D0C6"; + String datasource = "aarhusdime"; String collectionId = "test"; readAndIndexTest(isRecord, recordId, datasource, collectionId); }