diff --git a/build/annotated/geo/topo/features/topo-arc/schema-oas3.0.json b/build/annotated/geo/topo/features/topo-arc/schema-oas3.0.json index bc1052d..0ba0043 100644 --- a/build/annotated/geo/topo/features/topo-arc/schema-oas3.0.json +++ b/build/annotated/geo/topo/features/topo-arc/schema-oas3.0.json @@ -36,8 +36,18 @@ "references": { "minItems": 3, "maxItems": 3 + }, + "orientation": { + "type": "string", + "enum": [ + "cw", + "ccw" + ] } - } + }, + "required": [ + "orientation" + ] }, { "properties": { @@ -51,10 +61,18 @@ }, "radius": { "type": "number" + }, + "orientation": { + "type": "string", + "enum": [ + "cw", + "ccw" + ] } }, "required": [ - "radius" + "radius", + "orientation" ] }, { diff --git a/build/annotated/geo/topo/features/topo-arc/schema-oas3.0.yaml b/build/annotated/geo/topo/features/topo-arc/schema-oas3.0.yaml index 931674b..e77734f 100644 --- a/build/annotated/geo/topo/features/topo-arc/schema-oas3.0.yaml +++ b/build/annotated/geo/topo/features/topo-arc/schema-oas3.0.yaml @@ -22,6 +22,13 @@ x-defs: references: minItems: 3 maxItems: 3 + orientation: + type: string + enum: + - cw + - ccw + required: + - orientation - properties: type: type: string @@ -31,8 +38,14 @@ x-defs: maxItems: 2 radius: type: number + orientation: + type: string + enum: + - cw + - ccw required: - radius + - orientation - properties: type: type: string diff --git a/build/annotated/geo/topo/features/topo-arc/schema.json b/build/annotated/geo/topo/features/topo-arc/schema.json index e654aca..3acbcae 100644 --- a/build/annotated/geo/topo/features/topo-arc/schema.json +++ b/build/annotated/geo/topo/features/topo-arc/schema.json @@ -35,8 +35,18 @@ "references": { "minItems": 3, "maxItems": 3 + }, + "orientation": { + "type": "string", + "enum": [ + "cw", + "ccw" + ] } - } + }, + "required": [ + "orientation" + ] }, { "properties": { @@ -50,10 +60,18 @@ }, "radius": { "type": "number" + }, + "orientation": { + "type": "string", + "enum": [ + "cw", + "ccw" + ] } }, "required": [ - "radius" + "radius", + "orientation" ] }, { diff --git a/build/annotated/geo/topo/features/topo-arc/schema.yaml b/build/annotated/geo/topo/features/topo-arc/schema.yaml index a0cba77..1631bc5 100644 --- a/build/annotated/geo/topo/features/topo-arc/schema.yaml +++ b/build/annotated/geo/topo/features/topo-arc/schema.yaml @@ -21,6 +21,13 @@ allOf: references: minItems: 3 maxItems: 3 + orientation: + type: string + enum: + - cw + - ccw + required: + - orientation - properties: type: type: string @@ -30,8 +37,14 @@ allOf: maxItems: 2 radius: type: number + orientation: + type: string + enum: + - cw + - ccw required: - radius + - orientation - properties: type: type: string diff --git a/build/bblocks.jsonld b/build/bblocks.jsonld index 81bd443..0e740b0 100644 --- a/build/bblocks.jsonld +++ b/build/bblocks.jsonld @@ -100,14 +100,14 @@ "validationPassed": true, "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/datatypes/topology/", "documentation": { - "markdown": { - "mediatype": "text/markdown", - "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/datatypes/topology/index.md" - }, "json-full": { "mediatype": "application/json", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/datatypes/topology/index.json" }, + "markdown": { + "mediatype": "text/markdown", + "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/datatypes/topology/index.md" + }, "slate": { "mediatype": "text/html", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/datatypes/topology/" @@ -137,8 +137,8 @@ ], "shaclRules": { "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "shaclClosures": [ @@ -158,14 +158,14 @@ "validationPassed": true, "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-feature/", "documentation": { - "markdown": { - "mediatype": "text/markdown", - "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature/index.md" - }, "json-full": { "mediatype": "application/json", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json" }, + "markdown": { + "mediatype": "text/markdown", + "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature/index.md" + }, "slate": { "mediatype": "text/html", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-feature/" @@ -196,20 +196,20 @@ ], "shaclRules": { "ogc.geo.topo.features.topo-arc": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ], "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "shaclClosures": [ "../topo-feature/examples/points.ttl" ], "dependsOn": [ - "ogc.geo.topo.features.topo-feature", - "ogc.geo.topo.datatypes.topology" + "ogc.geo.topo.datatypes.topology", + "ogc.geo.topo.features.topo-feature" ], "schema": { "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/schema.yaml", @@ -220,14 +220,14 @@ "validationPassed": true, "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-arc/", "documentation": { - "markdown": { - "mediatype": "text/markdown", - "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md" - }, "json-full": { "mediatype": "application/json", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json" }, + "markdown": { + "mediatype": "text/markdown", + "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md" + }, "slate": { "mediatype": "text/html", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-arc/" @@ -259,13 +259,13 @@ ], "shaclRules": { "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "dependsOn": [ - "ogc.geo.topo.features.topo-feature", - "ogc.geo.topo.datatypes.topology" + "ogc.geo.topo.datatypes.topology", + "ogc.geo.topo.features.topo-feature" ], "schema": { "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-line/schema.yaml", @@ -276,14 +276,14 @@ "validationPassed": true, "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-line/", "documentation": { - "markdown": { - "mediatype": "text/markdown", - "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-line/index.md" - }, "json-full": { "mediatype": "application/json", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-line/index.json" }, + "markdown": { + "mediatype": "text/markdown", + "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-line/index.md" + }, "slate": { "mediatype": "text/html", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-line/" @@ -307,12 +307,12 @@ "sources": [], "shaclRules": { "ogc.geo.topo.features.topo-feature-collection": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ], "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "maturity": "development", @@ -335,14 +335,14 @@ "validationPassed": true, "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-feature-collection/", "documentation": { - "markdown": { - "mediatype": "text/markdown", - "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature-collection/index.md" - }, "json-full": { "mediatype": "application/json", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json" }, + "markdown": { + "mediatype": "text/markdown", + "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature-collection/index.md" + }, "slate": { "mediatype": "text/html", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-feature-collection/" diff --git a/build/bblocks.ttl b/build/bblocks.ttl index 771c2e5..a325732 100644 --- a/build/bblocks.ttl +++ b/build/bblocks.ttl @@ -11,12 +11,12 @@ bblocks:ogc.geo.topo.features.topo-arc a skos:Concept, rdfs:label "Non-linear Arc and Spline Descriptions using Point topology" ; dct:abstract "Defines options for describing Arcs, Circles, Splines using point features as canonical source of geometry coordinates" ; dct:created "2023-11-01T00:00:00+00:00"^^xsd:dateTime ; - dct:description [ dct:format "text/markdown" ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json" ], + [ dct:format "text/markdown" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md" ], [ dct:format "text/html" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-arc/" ], - [ dct:format "application/json" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json" ] ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-arc/" ] ; dct:hasVersion "0.1" ; dct:modified "2023-05-24"^^xsd:date ; skos:inScheme ; @@ -55,12 +55,12 @@ bblocks:ogc.geo.topo.features.topo-line a skos:Concept, rdfs:label "Line using Point References" ; dct:abstract "Demonstration of a schema using coordinates of points, without duplication. Reuses context but constrains to Line types" ; dct:created "2023-04-05T00:00:00+00:00"^^xsd:dateTime ; - dct:description [ dct:format "application/json" ; + dct:description [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-line/index.md" ], + [ dct:format "application/json" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-line/index.json" ], [ dct:format "text/html" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-line/" ], - [ dct:format "text/markdown" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-line/index.md" ] ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-line/" ] ; dct:hasVersion "0.1" ; dct:modified "2023-05-24"^^xsd:date ; skos:inScheme ; @@ -77,12 +77,12 @@ bblocks:ogc.geo.topo.datatypes.topology a skos:Concept, rdfs:label "Geometry using references" ; dct:abstract "Demonstration of a schema using coordinates of points, withpout duplication" ; dct:created "2023-04-05T00:00:00+00:00"^^xsd:dateTime ; - dct:description [ dct:format "text/html" ; + dct:description [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/datatypes/topology/index.md" ], + [ dct:format "text/html" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/datatypes/topology/" ], [ dct:format "application/json" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/datatypes/topology/index.json" ], - [ dct:format "text/markdown" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/datatypes/topology/index.md" ] ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/datatypes/topology/index.json" ] ; dct:hasVersion "0.1" ; dct:modified "2023-05-24"^^xsd:date ; skos:inScheme ; @@ -99,10 +99,10 @@ bblocks:ogc.geo.topo.features.topo-feature a skos:Concept, dct:created "2023-07-05T00:00:00+00:00"^^xsd:dateTime ; dct:description [ dct:format "text/markdown" ; rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature/index.md" ], - [ dct:format "application/json" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json" ], [ dct:format "text/html" ; - rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-feature/" ] ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-feature/" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json" ] ; dct:hasVersion "0.1" ; dct:modified "2023-07-05"^^xsd:date ; skos:inScheme ; @@ -118,14 +118,14 @@ bblocks:ogc.geo.topo.features.topo-feature a skos:Concept, skos:prefLabel "OGC Building Blocks Register" . [] a prov:Activity ; - prov:endedAtTime "2023-12-13T07:04:11.776474"^^xsd:dateTime ; - prov:startedAtTime "2023-12-13T07:04:11.709919"^^xsd:dateTime ; + prov:endedAtTime "2023-12-14T21:27:48.330346"^^xsd:dateTime ; + prov:startedAtTime "2023-12-14T21:27:48.262215"^^xsd:dateTime ; prov:used [ a prov:Entity ; - dct:format "application/yaml" ; - rdfs:seeAlso ], - [ a prov:Entity ; dct:format "application/json" ; - rdfs:seeAlso ] ; + rdfs:seeAlso ], + [ a prov:Entity ; + dct:format "application/yaml" ; + rdfs:seeAlso ] ; prov:wasAssociatedWith [ a prov:Agent, schema:SoftwareApplication ; rdfs:label "OGC-NA tools" ; diff --git a/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json b/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json index d33e0fa..47d4b25 100644 --- a/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json +++ b/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json @@ -20,20 +20,20 @@ ], "shaclRules": { "ogc.geo.topo.features.topo-arc": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ], "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "shaclClosures": [ "../topo-feature/examples/points.ttl" ], "dependsOn": [ - "ogc.geo.topo.features.topo-feature", - "ogc.geo.topo.datatypes.topology" + "ogc.geo.topo.datatypes.topology", + "ogc.geo.topo.features.topo-feature" ], "schema": { "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/schema.yaml", @@ -56,12 +56,12 @@ "shacl-closure": [ "../topo-feature/examples/points.ttl" ], - "code": "{\n \"id\": \"1853004\",\n \"type\": \"Feature\",\n \"featureType\": \"my:ArcFeature\",\n \"geometry\": null,\n \"topology\": {\n \"type\": \"ArcWithCenter\",\n \"x-description\": \"References is an ordered list of features with point geometries Start,End,Center\",\n \"references\": [\n \"P1\",\n \"P2\",\n \"PC\"\n ]\n },\n \"properties\": {\n \"arcLength\": 25.615,\n \"radius\": 105.438\n }\n}", + "code": "{\n \"id\": \"1853004\",\n \"type\": \"Feature\",\n \"featureType\": \"my:ArcFeature\",\n \"geometry\": null,\n \"topology\": {\n \"type\": \"ArcWithCenter\",\n \"x-description\": \"References is an ordered list of features with point geometries Start,End,Center\",\n \"references\": [\n \"P1\",\n \"P2\",\n \"PC\"\n ],\n \"orientation\": \"cw\"\n },\n \"properties\": {\n \"arcLength\": 25.615,\n \"radius\": 105.438\n }\n}", "url": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/features/topo-arc/example_1_1.json" }, { "language": "jsonld", - "code": "{\n \"id\": \"1853004\",\n \"type\": \"Feature\",\n \"featureType\": \"my:ArcFeature\",\n \"geometry\": null,\n \"topology\": {\n \"type\": \"ArcWithCenter\",\n \"x-description\": \"References is an ordered list of features with point geometries Start,End,Center\",\n \"references\": [\n \"P1\",\n \"P2\",\n \"PC\"\n ]\n },\n \"properties\": {\n \"arcLength\": 25.615,\n \"radius\": 105.438\n },\n \"@context\": \"https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/context.jsonld\"\n}", + "code": "{\n \"id\": \"1853004\",\n \"type\": \"Feature\",\n \"featureType\": \"my:ArcFeature\",\n \"geometry\": null,\n \"topology\": {\n \"type\": \"ArcWithCenter\",\n \"x-description\": \"References is an ordered list of features with point geometries Start,End,Center\",\n \"references\": [\n \"P1\",\n \"P2\",\n \"PC\"\n ],\n \"orientation\": \"cw\"\n },\n \"properties\": {\n \"arcLength\": 25.615,\n \"radius\": 105.438\n },\n \"@context\": \"https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/context.jsonld\"\n}", "url": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/features/topo-arc/example_1_1.jsonld" }, { @@ -108,12 +108,12 @@ "shacl-closure": [ "../topo-feature/examples/points.ttl" ], - "code": "{\n \"id\": \"chord1\",\n \"type\": \"Feature\",\n \"featureType\": \"my:ArcChordFeature\",\n \"geometry\": null,\n \"topology\": {\n \"type\": \"ArcByChord\",\n \"x-description\": \"References is an ordered list of features with for an Arc Chord, radius and length determine geometry\",\n \"references\": [\n \"P1\",\n \"P2\"\n ],\n \"radius\": 105.438\n },\n \"properties\": {\n \"arcLength\": 25.615\n }\n}", + "code": "{\n \"id\": \"chord1\",\n \"type\": \"Feature\",\n \"featureType\": \"my:ArcChordFeature\",\n \"geometry\": null,\n \"topology\": {\n \"type\": \"ArcByChord\",\n \"x-description\": \"References is an ordered list of features with for an Arc Chord, radius and length determine geometry\",\n \"references\": [\n \"P1\",\n \"P2\"\n ],\n \"radius\": 105.438,\n \"orientation\": \"cw\"\n },\n \"properties\": {\n \"arcLength\": 25.615\n }\n}", "url": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/features/topo-arc/example_3_1.json" }, { "language": "jsonld", - "code": "{\n \"id\": \"chord1\",\n \"type\": \"Feature\",\n \"featureType\": \"my:ArcChordFeature\",\n \"geometry\": null,\n \"topology\": {\n \"type\": \"ArcByChord\",\n \"x-description\": \"References is an ordered list of features with for an Arc Chord, radius and length determine geometry\",\n \"references\": [\n \"P1\",\n \"P2\"\n ],\n \"radius\": 105.438\n },\n \"properties\": {\n \"arcLength\": 25.615\n },\n \"@context\": \"https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/context.jsonld\"\n}", + "code": "{\n \"id\": \"chord1\",\n \"type\": \"Feature\",\n \"featureType\": \"my:ArcChordFeature\",\n \"geometry\": null,\n \"topology\": {\n \"type\": \"ArcByChord\",\n \"x-description\": \"References is an ordered list of features with for an Arc Chord, radius and length determine geometry\",\n \"references\": [\n \"P1\",\n \"P2\"\n ],\n \"radius\": 105.438,\n \"orientation\": \"cw\"\n },\n \"properties\": {\n \"arcLength\": 25.615\n },\n \"@context\": \"https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/context.jsonld\"\n}", "url": "https://ogcincubator.github.io/topo-feature/build/tests/geo/topo/features/topo-arc/example_3_1.jsonld" }, { @@ -202,7 +202,7 @@ ] } ], - "annotatedSchema": "$schema: https://json-schema.org/draft/2020-12/schema\ndescription: Arc Feature with geometry by reference\nallOf:\n- $ref: ../topo-feature/schema.json\n- properties:\n topology:\n allOf:\n - $ref: ../../datatypes/topology/schema.json\n - oneOf:\n - properties:\n type:\n type: string\n const: Arc\n references:\n minItems: 3\n maxItems: 3\n - properties:\n type:\n type: string\n const: ArcWithCenter\n references:\n minItems: 3\n maxItems: 3\n - properties:\n type:\n type: string\n const: ArcByChord\n references:\n minItems: 2\n maxItems: 2\n radius:\n type: number\n required:\n - radius\n - properties:\n type:\n type: string\n const: CircleByCenter\n references:\n minItems: 1\n maxItems: 1\n radius:\n type: number\n required:\n - radius\n - properties:\n type:\n type: string\n const: CubicSpline\n references:\n minItems: 3\n not:\n required:\n - startTangentVector\n - endTangentVector\n - properties:\n type:\n type: string\n const: CubicSpline\n references:\n minItems: 2\n startTangentVector:\n properties:\n references:\n minItems: 2\n endTangentVector:\n properties:\n references:\n minItems: 2\n required:\n - startTangentVector\n - endTangentVector\n radius:\n type: number\n description: optional property of the feature defining radius according to coordinate\n reference system of the referenced geometry. Note where necessary to define\n geometry this is a mandatory sub-property of the topology property.\n arcLength:\n type: number\n description: optional property of the feature defining arcLength according to\n coordinate reference system of the referenced geometry.\n required:\n - topology\n", + "annotatedSchema": "$schema: https://json-schema.org/draft/2020-12/schema\ndescription: Arc Feature with geometry by reference\nallOf:\n- $ref: ../topo-feature/schema.json\n- properties:\n topology:\n allOf:\n - $ref: ../../datatypes/topology/schema.json\n - oneOf:\n - properties:\n type:\n type: string\n const: Arc\n references:\n minItems: 3\n maxItems: 3\n - properties:\n type:\n type: string\n const: ArcWithCenter\n references:\n minItems: 3\n maxItems: 3\n orientation:\n type: string\n enum:\n - cw\n - ccw\n required:\n - orientation\n - properties:\n type:\n type: string\n const: ArcByChord\n references:\n minItems: 2\n maxItems: 2\n radius:\n type: number\n orientation:\n type: string\n enum:\n - cw\n - ccw\n required:\n - radius\n - orientation\n - properties:\n type:\n type: string\n const: CircleByCenter\n references:\n minItems: 1\n maxItems: 1\n radius:\n type: number\n required:\n - radius\n - properties:\n type:\n type: string\n const: CubicSpline\n references:\n minItems: 3\n not:\n required:\n - startTangentVector\n - endTangentVector\n - properties:\n type:\n type: string\n const: CubicSpline\n references:\n minItems: 2\n startTangentVector:\n properties:\n references:\n minItems: 2\n endTangentVector:\n properties:\n references:\n minItems: 2\n required:\n - startTangentVector\n - endTangentVector\n radius:\n type: number\n description: optional property of the feature defining radius according to coordinate\n reference system of the referenced geometry. Note where necessary to define\n geometry this is a mandatory sub-property of the topology property.\n arcLength:\n type: number\n description: optional property of the feature defining arcLength according to\n coordinate reference system of the referenced geometry.\n required:\n - topology\n", "gitRepository": "https://github.com/ogcincubator/topo-feature", "gitPath": "_sources/features/topo-arc" } \ No newline at end of file diff --git a/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json b/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json index 6f452ed..21d4dc4 100644 --- a/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json +++ b/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json @@ -13,12 +13,12 @@ "sources": [], "shaclRules": { "ogc.geo.topo.features.topo-feature-collection": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ], "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "maturity": "development", diff --git a/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json b/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json index e2116b4..70125fd 100644 --- a/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json +++ b/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json @@ -19,8 +19,8 @@ ], "shaclRules": { "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "shaclClosures": [ diff --git a/build/generateddocs/json-full/geo/topo/features/topo-line/index.json b/build/generateddocs/json-full/geo/topo/features/topo-line/index.json index 25632e9..bb434eb 100644 --- a/build/generateddocs/json-full/geo/topo/features/topo-line/index.json +++ b/build/generateddocs/json-full/geo/topo/features/topo-line/index.json @@ -21,13 +21,13 @@ ], "shaclRules": { "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "dependsOn": [ - "ogc.geo.topo.features.topo-feature", - "ogc.geo.topo.datatypes.topology" + "ogc.geo.topo.datatypes.topology", + "ogc.geo.topo.features.topo-feature" ], "schema": { "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-line/schema.yaml", diff --git a/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md b/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md index 76004af..d5444df 100644 --- a/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md +++ b/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md @@ -47,7 +47,8 @@ radius and arcLength are implicit but may be provided as optional properties of "P1", "P2", "PC" - ] + ], + "orientation": "cw" }, "properties": { "arcLength": 25.615, @@ -70,7 +71,8 @@ radius and arcLength are implicit but may be provided as optional properties of "P1", "P2", "PC" - ] + ], + "orientation": "cw" }, "properties": { "arcLength": 25.615, @@ -183,7 +185,8 @@ Arc by Chord example. "P1", "P2" ], - "radius": 105.438 + "radius": 105.438, + "orientation": "cw" }, "properties": { "arcLength": 25.615 @@ -205,7 +208,8 @@ Arc by Chord example. "P1", "P2" ], - "radius": 105.438 + "radius": 105.438, + "orientation": "cw" }, "properties": { "arcLength": 25.615 @@ -453,6 +457,13 @@ allOf: references: minItems: 3 maxItems: 3 + orientation: + type: string + enum: + - cw + - ccw + required: + - orientation - properties: type: type: string @@ -462,8 +473,14 @@ allOf: maxItems: 2 radius: type: number + orientation: + type: string + enum: + - cw + - ccw required: - radius + - orientation - properties: type: type: string diff --git a/build/generateddocs/slate-build/geo/topo/features/topo-arc/index.html b/build/generateddocs/slate-build/geo/topo/features/topo-arc/index.html index 9095aad..6f1fd96 100644 --- a/build/generateddocs/slate-build/geo/topo/features/topo-arc/index.html +++ b/build/generateddocs/slate-build/geo/topo/features/topo-arc/index.html @@ -415,7 +415,8 @@

Examples

Examples

Example GeoJSON fea "P1", "P2" ], - "radius": 105.438 + "radius": 105.438, + "orientation": "cw" }, "properties": { "arcLength": 25.615 @@ -583,7 +586,8 @@

Example GeoJSON fea "P1", "P2" ], - "radius": 105.438 + "radius": 105.438, + "orientation": "cw" }, "properties": { "arcLength": 25.615 @@ -845,6 +849,13 @@

JSON Schema

references:
               minItems: 3
               maxItems: 3
+            orientation:
+              type: string
+              enum:
+              - cw
+              - ccw
+          required:
+          - orientation
         - properties:
             type:
               type: string
@@ -854,8 +865,14 @@ 

JSON Schema

maxItems: 2
             radius:
               type: number
+            orientation:
+              type: string
+              enum:
+              - cw
+              - ccw
           required:
           - radius
+          - orientation
         - properties:
             type:
               type: string
@@ -1009,14 +1026,14 @@ 

Validation

SHACL Shapes

  • Non-linear Arc and Spline Descriptions using Point topology ogc.geo.topo.features.topo-arc
  • Feature with topology ogc.geo.topo.features.topo-feature
  • For developers

    diff --git a/build/generateddocs/slate-build/geo/topo/features/topo-feature-collection/index.html b/build/generateddocs/slate-build/geo/topo/features/topo-feature-collection/index.html index 93d630b..598faef 100644 --- a/build/generateddocs/slate-build/geo/topo/features/topo-feature-collection/index.html +++ b/build/generateddocs/slate-build/geo/topo/features/topo-feature-collection/index.html @@ -998,14 +998,14 @@

    Validation

    SHACL Shapes

  • TopoFeatureCollection ogc.geo.topo.features.topo-feature-collection
  • Feature with topology ogc.geo.topo.features.topo-feature
  • For developers

    diff --git a/build/generateddocs/slate-build/geo/topo/features/topo-feature/index.html b/build/generateddocs/slate-build/geo/topo/features/topo-feature/index.html index 0710446..943ebb5 100644 --- a/build/generateddocs/slate-build/geo/topo/features/topo-feature/index.html +++ b/build/generateddocs/slate-build/geo/topo/features/topo-feature/index.html @@ -618,8 +618,8 @@

    Validation

    SHACL Shapes

  • Feature with topology ogc.geo.topo.features.topo-feature
  • For developers

    diff --git a/build/generateddocs/slate-build/geo/topo/features/topo-line/index.html b/build/generateddocs/slate-build/geo/topo/features/topo-line/index.html index f8fb51c..7ded140 100644 --- a/build/generateddocs/slate-build/geo/topo/features/topo-line/index.html +++ b/build/generateddocs/slate-build/geo/topo/features/topo-line/index.html @@ -550,8 +550,8 @@

    Validation

    SHACL Shapes

  • Feature with topology ogc.geo.topo.features.topo-feature
  • For developers

    diff --git a/build/generateddocs/slate/geo/topo/features/topo-arc/index.html.md b/build/generateddocs/slate/geo/topo/features/topo-arc/index.html.md index bd8436d..bf21b97 100644 --- a/build/generateddocs/slate/geo/topo/features/topo-arc/index.html.md +++ b/build/generateddocs/slate/geo/topo/features/topo-arc/index.html.md @@ -76,7 +76,8 @@ radius and arcLength are implicit but may be provided as optional properties of "P1", "P2", "PC" - ] + ], + "orientation": "cw" }, "properties": { "arcLength": 25.615, @@ -107,7 +108,8 @@ radius and arcLength are implicit but may be provided as optional properties of "P1", "P2", "PC" - ] + ], + "orientation": "cw" }, "properties": { "arcLength": 25.615, @@ -262,7 +264,8 @@ Arc by Chord example. "P1", "P2" ], - "radius": 105.438 + "radius": 105.438, + "orientation": "cw" }, "properties": { "arcLength": 25.615 @@ -292,7 +295,8 @@ Arc by Chord example. "P1", "P2" ], - "radius": 105.438 + "radius": 105.438, + "orientation": "cw" }, "properties": { "arcLength": 25.615 @@ -630,6 +634,13 @@ allOf: references: minItems: 3 maxItems: 3 + orientation: + type: string + enum: + - cw + - ccw + required: + - orientation - properties: type: type: string @@ -639,8 +650,14 @@ allOf: maxItems: 2 radius: type: number + orientation: + type: string + enum: + - cw + - ccw required: - radius + - orientation - properties: type: type: string @@ -796,11 +813,11 @@ You can find the full JSON-LD context here: The following sets of SHACL shapes are used for validating this building block: * Non-linear Arc and Spline Descriptions using Point topology ogc.geo.topo.features.topo-arc - * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl) * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl) -* Feature with topology ogc.geo.topo.features.topo-feature * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl) +* Feature with topology ogc.geo.topo.features.topo-feature * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl) + * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl) # For developers diff --git a/build/generateddocs/slate/geo/topo/features/topo-feature-collection/index.html.md b/build/generateddocs/slate/geo/topo/features/topo-feature-collection/index.html.md index 8b8c376..6ecc27d 100644 --- a/build/generateddocs/slate/geo/topo/features/topo-feature-collection/index.html.md +++ b/build/generateddocs/slate/geo/topo/features/topo-feature-collection/index.html.md @@ -730,11 +730,11 @@ You can find the full JSON-LD context here: The following sets of SHACL shapes are used for validating this building block: * TopoFeatureCollection ogc.geo.topo.features.topo-feature-collection - * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl) * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl) -* Feature with topology ogc.geo.topo.features.topo-feature * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl) +* Feature with topology ogc.geo.topo.features.topo-feature * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl) + * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl) # For developers diff --git a/build/generateddocs/slate/geo/topo/features/topo-feature/index.html.md b/build/generateddocs/slate/geo/topo/features/topo-feature/index.html.md index 9d8094b..73ff518 100644 --- a/build/generateddocs/slate/geo/topo/features/topo-feature/index.html.md +++ b/build/generateddocs/slate/geo/topo/features/topo-feature/index.html.md @@ -332,8 +332,8 @@ You can find the full JSON-LD context here: The following sets of SHACL shapes are used for validating this building block: * Feature with topology ogc.geo.topo.features.topo-feature - * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl) * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl) + * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl) # For developers diff --git a/build/generateddocs/slate/geo/topo/features/topo-line/index.html.md b/build/generateddocs/slate/geo/topo/features/topo-line/index.html.md index 2589d59..53912eb 100644 --- a/build/generateddocs/slate/geo/topo/features/topo-line/index.html.md +++ b/build/generateddocs/slate/geo/topo/features/topo-line/index.html.md @@ -246,8 +246,8 @@ You can find the full JSON-LD context here: The following sets of SHACL shapes are used for validating this building block: * Feature with topology ogc.geo.topo.features.topo-feature - * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl) * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl) + * [https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl](https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl) # For developers diff --git a/build/register.json b/build/register.json index 5372d6f..a4f0f65 100644 --- a/build/register.json +++ b/build/register.json @@ -32,14 +32,14 @@ "validationPassed": true, "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/datatypes/topology/", "documentation": { - "markdown": { - "mediatype": "text/markdown", - "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/datatypes/topology/index.md" - }, "json-full": { "mediatype": "application/json", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/datatypes/topology/index.json" }, + "markdown": { + "mediatype": "text/markdown", + "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/datatypes/topology/index.md" + }, "slate": { "mediatype": "text/html", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/datatypes/topology/" @@ -65,8 +65,8 @@ ], "shaclRules": { "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "shaclClosures": [ @@ -86,14 +86,14 @@ "validationPassed": true, "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-feature/", "documentation": { - "markdown": { - "mediatype": "text/markdown", - "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature/index.md" - }, "json-full": { "mediatype": "application/json", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json" }, + "markdown": { + "mediatype": "text/markdown", + "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature/index.md" + }, "slate": { "mediatype": "text/html", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-feature/" @@ -120,20 +120,20 @@ ], "shaclRules": { "ogc.geo.topo.features.topo-arc": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ], "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "shaclClosures": [ "../topo-feature/examples/points.ttl" ], "dependsOn": [ - "ogc.geo.topo.features.topo-feature", - "ogc.geo.topo.datatypes.topology" + "ogc.geo.topo.datatypes.topology", + "ogc.geo.topo.features.topo-feature" ], "schema": { "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/schema.yaml", @@ -144,14 +144,14 @@ "validationPassed": true, "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-arc/", "documentation": { - "markdown": { - "mediatype": "text/markdown", - "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md" - }, "json-full": { "mediatype": "application/json", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json" }, + "markdown": { + "mediatype": "text/markdown", + "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md" + }, "slate": { "mediatype": "text/html", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-arc/" @@ -179,13 +179,13 @@ ], "shaclRules": { "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "dependsOn": [ - "ogc.geo.topo.features.topo-feature", - "ogc.geo.topo.datatypes.topology" + "ogc.geo.topo.datatypes.topology", + "ogc.geo.topo.features.topo-feature" ], "schema": { "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-line/schema.yaml", @@ -196,14 +196,14 @@ "validationPassed": true, "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-line/", "documentation": { - "markdown": { - "mediatype": "text/markdown", - "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-line/index.md" - }, "json-full": { "mediatype": "application/json", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-line/index.json" }, + "markdown": { + "mediatype": "text/markdown", + "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-line/index.md" + }, "slate": { "mediatype": "text/html", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-line/" @@ -223,12 +223,12 @@ "sources": [], "shaclRules": { "ogc.geo.topo.features.topo-feature-collection": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ], "ogc.geo.topo.features.topo-feature": [ - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl" + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl" ] }, "maturity": "development", @@ -251,14 +251,14 @@ "validationPassed": true, "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-feature-collection/", "documentation": { - "markdown": { - "mediatype": "text/markdown", - "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature-collection/index.md" - }, "json-full": { "mediatype": "application/json", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json" }, + "markdown": { + "mediatype": "text/markdown", + "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature-collection/index.md" + }, "slate": { "mediatype": "text/html", "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/slate-build/geo/topo/features/topo-feature-collection/" diff --git a/build/tests/geo/topo/datatypes/topology/_report.json b/build/tests/geo/topo/datatypes/topology/_report.json index 8f82b7f..4d7e61c 100644 --- a/build/tests/geo/topo/datatypes/topology/_report.json +++ b/build/tests/geo/topo/datatypes/topology/_report.json @@ -2,7 +2,7 @@ "title": "Validation report for ogc.geo.topo.datatypes.topology - Geometry using references", "bblockName": "Geometry using references", "bblockId": "ogc.geo.topo.datatypes.topology", - "generated": "2023-12-13T07:04:07.797718+00:00", + "generated": "2023-12-14T21:27:41.738262+00:00", "result": true, "items": [ { diff --git a/build/tests/geo/topo/datatypes/topology/example_1_1.validation_passed.txt b/build/tests/geo/topo/datatypes/topology/example_1_1.validation_passed.txt index 56740cd..9471728 100644 --- a/build/tests/geo/topo/datatypes/topology/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/datatypes/topology/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.datatypes.topology - Geometry using references -Generated 2023-12-13T07:04:07.797655+00:00 +Generated 2023-12-14T21:27:41.738195+00:00 === Files === Using example_1_1.json from examples JSON-LD context is present - uplifting diff --git a/build/tests/geo/topo/features/topo-arc/_report.json b/build/tests/geo/topo/features/topo-arc/_report.json index f9f5cc7..46d3fa3 100644 --- a/build/tests/geo/topo/features/topo-arc/_report.json +++ b/build/tests/geo/topo/features/topo-arc/_report.json @@ -2,14 +2,14 @@ "title": "Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology", "bblockName": "Non-linear Arc and Spline Descriptions using Point topology", "bblockId": "ogc.geo.topo.features.topo-arc", - "generated": "2023-12-13T07:04:10.280878+00:00", + "generated": "2023-12-14T21:27:45.453319+00:00", "result": true, "items": [ { "source": { "type": "TEST_RESOURCE", "requireFail": true, - "filename": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-arc/tests/circle-fail.json", + "filename": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-arc/tests/arc_chord-orientation-fail.json", "language": "json" }, "result": true, @@ -20,8 +20,8 @@ "entries": [ { "op": "require-fail", - "isError": false, - "message": "Test was expected to fail and it did." + "isError": true, + "message": "Test was expected to fail but it did not." } ] }, @@ -31,7 +31,7 @@ "entries": [ { "isError": false, - "message": "Using circle-fail.json from test resources" + "message": "Using arc_chord-orientation-fail.json from test resources" }, { "op": "jsonld-uplift", @@ -40,17 +40,17 @@ }, { "op": "jsonld-create", - "filename": "circle-fail.jsonld", + "filename": "arc_chord-orientation-fail.jsonld", "isError": false, - "message": "Output JSON-LD circle-fail.jsonld created" + "message": "Output JSON-LD arc_chord-orientation-fail.jsonld created" }, { "op": "ttl-create", "empty": false, - "filename": "circle-fail.ttl", - "size": 7, + "filename": "arc_chord-orientation-fail.ttl", + "size": 11, "isError": false, - "message": "Output Turtle circle-fail.ttl created" + "message": "Output Turtle arc_chord-orientation-fail.ttl created" } ] }, @@ -60,11 +60,9 @@ "entries": [ { "op": "validation", - "result": false, - "exception": "ValidationError", - "errorMessage": "{'type': 'CircleByCenter', 'x-description': 'Reference is the feature defining the centre point of a circle - it must have a Point geometry.', 'references': ['PC']} is not valid under any of the given schemas", - "isError": true, - "message": "ValidationError: {'type': 'CircleByCenter', 'x-description': 'Reference is the feature defining the centre point of a circle - it must have a Point geometry.', 'references': ['PC']} is not valid under any of the given schemas\n\nFailed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]:\n {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'Arc', 'type': 'string'}}},\n {'properties': {'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'ArcWithCenter',\n 'type': 'string'}}},\n {'properties': {'radius': {'type': 'number'},\n 'references': {'maxItems': 2, 'minItems': 2},\n 'type': {'const': 'ArcByChord',\n 'type': 'string'}},\n 'required': ['radius']},\n {'properties': {'radius': {'type': 'number'},\n 'references': {'maxItems': 1, 'minItems': 1},\n 'type': {'const': 'CircleByCenter',\n 'type': 'string'}},\n 'required': ['radius']},\n {'not': {'required': ['startTangentVector',\n 'endTangentVector']},\n 'properties': {'references': {'minItems': 3},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}}},\n {'properties': {'endTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'references': {'minItems': 2},\n 'startTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}},\n 'required': ['startTangentVector', 'endTangentVector']}]}\n\nOn instance['topology']:\n {'references': ['PC'],\n 'type': 'CircleByCenter',\n 'x-description': 'Reference is the feature defining the centre point '\n 'of a circle - it must have a Point geometry.'}" + "result": true, + "isError": false, + "message": "Validation passed" } ] }, @@ -84,45 +82,45 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:n01d8a519fdc3481c840c5f6b8024b2c6b1": { "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:n01d8a519fdc3481c840c5f6b8024b2c6b3": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none*\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n0657576b56cb4ba89cfc784a376930d2b1": { + "topo:testTopoLinesReferencePoints": { "nodes": [] }, - "_:n0657576b56cb4ba89cfc784a376930d2b3": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none*\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -137,7 +135,7 @@ "source": { "type": "TEST_RESOURCE", "requireFail": true, - "filename": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-arc/tests/arc_chord-fail.json", + "filename": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-arc/tests/spline_with_tangents-fail.json", "language": "json" }, "result": true, @@ -159,7 +157,7 @@ "entries": [ { "isError": false, - "message": "Using arc_chord-fail.json from test resources" + "message": "Using spline_with_tangents-fail.json from test resources" }, { "op": "jsonld-uplift", @@ -168,17 +166,17 @@ }, { "op": "jsonld-create", - "filename": "arc_chord-fail.jsonld", + "filename": "spline_with_tangents-fail.jsonld", "isError": false, - "message": "Output JSON-LD arc_chord-fail.jsonld created" + "message": "Output JSON-LD spline_with_tangents-fail.jsonld created" }, { "op": "ttl-create", "empty": false, - "filename": "arc_chord-fail.ttl", - "size": 10, + "filename": "spline_with_tangents-fail.ttl", + "size": 9, "isError": false, - "message": "Output Turtle arc_chord-fail.ttl created" + "message": "Output Turtle spline_with_tangents-fail.ttl created" } ] }, @@ -190,9 +188,9 @@ "op": "validation", "result": false, "exception": "ValidationError", - "errorMessage": "{'type': 'ArcByChord', 'x-description': 'References is an ordered list of features with for an Arc Chord, radius and length determine geometry', 'references': ['P1', 'P2']} is not valid under any of the given schemas", + "errorMessage": "{'type': 'CubicSpline', 'x-description': 'References is an ordered list of features with point geometries, with tangent vectors defining entry and exit angles', 'references': ['P1', 'P2']} is not valid under any of the given schemas", "isError": true, - "message": "ValidationError: {'type': 'ArcByChord', 'x-description': 'References is an ordered list of features with for an Arc Chord, radius and length determine geometry', 'references': ['P1', 'P2']} is not valid under any of the given schemas\n\nFailed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]:\n {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'Arc', 'type': 'string'}}},\n {'properties': {'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'ArcWithCenter',\n 'type': 'string'}}},\n {'properties': {'radius': {'type': 'number'},\n 'references': {'maxItems': 2, 'minItems': 2},\n 'type': {'const': 'ArcByChord',\n 'type': 'string'}},\n 'required': ['radius']},\n {'properties': {'radius': {'type': 'number'},\n 'references': {'maxItems': 1, 'minItems': 1},\n 'type': {'const': 'CircleByCenter',\n 'type': 'string'}},\n 'required': ['radius']},\n {'not': {'required': ['startTangentVector',\n 'endTangentVector']},\n 'properties': {'references': {'minItems': 3},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}}},\n {'properties': {'endTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'references': {'minItems': 2},\n 'startTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}},\n 'required': ['startTangentVector', 'endTangentVector']}]}\n\nOn instance['topology']:\n {'references': ['P1', 'P2'],\n 'type': 'ArcByChord',\n 'x-description': 'References is an ordered list of features with for '\n 'an Arc Chord, radius and length determine geometry'}" + "message": "ValidationError: {'type': 'CubicSpline', 'x-description': 'References is an ordered list of features with point geometries, with tangent vectors defining entry and exit angles', 'references': ['P1', 'P2']} is not valid under any of the given schemas\n\nFailed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]:\n {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'Arc', 'type': 'string'}}},\n {'properties': {'orientation': {'enum': ['cw', 'ccw'],\n 'type': 'string'},\n 'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'ArcWithCenter',\n 'type': 'string'}},\n 'required': ['orientation']},\n {'properties': {'orientation': {'enum': ['cw', 'ccw'],\n 'type': 'string'},\n 'radius': {'type': 'number'},\n 'references': {'maxItems': 2, 'minItems': 2},\n 'type': {'const': 'ArcByChord',\n 'type': 'string'}},\n 'required': ['radius', 'orientation']},\n {'properties': {'radius': {'type': 'number'},\n 'references': {'maxItems': 1, 'minItems': 1},\n 'type': {'const': 'CircleByCenter',\n 'type': 'string'}},\n 'required': ['radius']},\n {'not': {'required': ['startTangentVector',\n 'endTangentVector']},\n 'properties': {'references': {'minItems': 3},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}}},\n {'properties': {'endTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'references': {'minItems': 2},\n 'startTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}},\n 'required': ['startTangentVector', 'endTangentVector']}]}\n\nOn instance['topology']:\n {'references': ['P1', 'P2'],\n 'type': 'CubicSpline',\n 'x-description': 'References is an ordered list of features with '\n 'point geometries, with tangent vectors defining '\n 'entry and exit angles'}" } ] }, @@ -212,45 +210,45 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:n01d8a519fdc3481c840c5f6b8024b2c6b1": { "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:n01d8a519fdc3481c840c5f6b8024b2c6b3": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none*\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n0657576b56cb4ba89cfc784a376930d2b1": { + "topo:testTopoLinesReferencePoints": { "nodes": [] }, - "_:n0657576b56cb4ba89cfc784a376930d2b3": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none*\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -265,7 +263,7 @@ "source": { "type": "TEST_RESOURCE", "requireFail": true, - "filename": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-arc/tests/spline_with_tangents-fail.json", + "filename": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-arc/tests/circle-fail.json", "language": "json" }, "result": true, @@ -287,7 +285,7 @@ "entries": [ { "isError": false, - "message": "Using spline_with_tangents-fail.json from test resources" + "message": "Using circle-fail.json from test resources" }, { "op": "jsonld-uplift", @@ -296,17 +294,17 @@ }, { "op": "jsonld-create", - "filename": "spline_with_tangents-fail.jsonld", + "filename": "circle-fail.jsonld", "isError": false, - "message": "Output JSON-LD spline_with_tangents-fail.jsonld created" + "message": "Output JSON-LD circle-fail.jsonld created" }, { "op": "ttl-create", "empty": false, - "filename": "spline_with_tangents-fail.ttl", - "size": 9, + "filename": "circle-fail.ttl", + "size": 7, "isError": false, - "message": "Output Turtle spline_with_tangents-fail.ttl created" + "message": "Output Turtle circle-fail.ttl created" } ] }, @@ -318,9 +316,9 @@ "op": "validation", "result": false, "exception": "ValidationError", - "errorMessage": "{'type': 'CubicSpline', 'x-description': 'References is an ordered list of features with point geometries, with tangent vectors defining entry and exit angles', 'references': ['P1', 'P2']} is not valid under any of the given schemas", + "errorMessage": "{'type': 'CircleByCenter', 'x-description': 'Reference is the feature defining the centre point of a circle - it must have a Point geometry.', 'references': ['PC']} is not valid under any of the given schemas", "isError": true, - "message": "ValidationError: {'type': 'CubicSpline', 'x-description': 'References is an ordered list of features with point geometries, with tangent vectors defining entry and exit angles', 'references': ['P1', 'P2']} is not valid under any of the given schemas\n\nFailed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]:\n {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'Arc', 'type': 'string'}}},\n {'properties': {'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'ArcWithCenter',\n 'type': 'string'}}},\n {'properties': {'radius': {'type': 'number'},\n 'references': {'maxItems': 2, 'minItems': 2},\n 'type': {'const': 'ArcByChord',\n 'type': 'string'}},\n 'required': ['radius']},\n {'properties': {'radius': {'type': 'number'},\n 'references': {'maxItems': 1, 'minItems': 1},\n 'type': {'const': 'CircleByCenter',\n 'type': 'string'}},\n 'required': ['radius']},\n {'not': {'required': ['startTangentVector',\n 'endTangentVector']},\n 'properties': {'references': {'minItems': 3},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}}},\n {'properties': {'endTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'references': {'minItems': 2},\n 'startTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}},\n 'required': ['startTangentVector', 'endTangentVector']}]}\n\nOn instance['topology']:\n {'references': ['P1', 'P2'],\n 'type': 'CubicSpline',\n 'x-description': 'References is an ordered list of features with '\n 'point geometries, with tangent vectors defining '\n 'entry and exit angles'}" + "message": "ValidationError: {'type': 'CircleByCenter', 'x-description': 'Reference is the feature defining the centre point of a circle - it must have a Point geometry.', 'references': ['PC']} is not valid under any of the given schemas\n\nFailed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]:\n {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'Arc', 'type': 'string'}}},\n {'properties': {'orientation': {'enum': ['cw', 'ccw'],\n 'type': 'string'},\n 'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'ArcWithCenter',\n 'type': 'string'}},\n 'required': ['orientation']},\n {'properties': {'orientation': {'enum': ['cw', 'ccw'],\n 'type': 'string'},\n 'radius': {'type': 'number'},\n 'references': {'maxItems': 2, 'minItems': 2},\n 'type': {'const': 'ArcByChord',\n 'type': 'string'}},\n 'required': ['radius', 'orientation']},\n {'properties': {'radius': {'type': 'number'},\n 'references': {'maxItems': 1, 'minItems': 1},\n 'type': {'const': 'CircleByCenter',\n 'type': 'string'}},\n 'required': ['radius']},\n {'not': {'required': ['startTangentVector',\n 'endTangentVector']},\n 'properties': {'references': {'minItems': 3},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}}},\n {'properties': {'endTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'references': {'minItems': 2},\n 'startTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}},\n 'required': ['startTangentVector', 'endTangentVector']}]}\n\nOn instance['topology']:\n {'references': ['PC'],\n 'type': 'CircleByCenter',\n 'x-description': 'Reference is the feature defining the centre point '\n 'of a circle - it must have a Point geometry.'}" } ] }, @@ -338,6 +336,26 @@ "name": "SHACL", "title": "SHACL", "entries": [ + { + "op": "shacl-report", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", + "isError": false, + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + }, + { + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "focusNodes": { + "_:n01d8a519fdc3481c840c5f6b8024b2c6b1": { + "nodes": [] + }, + "_:n01d8a519fdc3481c840c5f6b8024b2c6b3": { + "nodes": [] + } + }, + "isError": false, + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none*\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*\n" + }, { "op": "shacl-report", "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", @@ -359,7 +377,93 @@ }, "isError": false, "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + } + ] + }, + { + "name": "UNKNOWN", + "title": "Unknown errors", + "entries": [] + } + ] + }, + { + "source": { + "type": "TEST_RESOURCE", + "requireFail": true, + "filename": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-arc/tests/arc_chord-radius-fail.json", + "language": "json" + }, + "result": true, + "sections": [ + { + "name": "GENERAL", + "title": "General", + "entries": [ + { + "op": "require-fail", + "isError": false, + "message": "Test was expected to fail and it did." + } + ] + }, + { + "name": "FILES", + "title": "Files", + "entries": [ + { + "isError": false, + "message": "Using arc_chord-radius-fail.json from test resources" }, + { + "op": "jsonld-uplift", + "isError": false, + "message": "JSON-LD context is present - uplifting" + }, + { + "op": "jsonld-create", + "filename": "arc_chord-radius-fail.jsonld", + "isError": false, + "message": "Output JSON-LD arc_chord-radius-fail.jsonld created" + }, + { + "op": "ttl-create", + "empty": false, + "filename": "arc_chord-radius-fail.ttl", + "size": 10, + "isError": false, + "message": "Output Turtle arc_chord-radius-fail.ttl created" + } + ] + }, + { + "name": "JSON_SCHEMA", + "title": "JSON Schema", + "entries": [ + { + "op": "validation", + "result": false, + "exception": "ValidationError", + "errorMessage": "{'type': 'ArcByChord', 'x-description': 'References is an ordered list of features with for an Arc Chord, radius and length determine geometry', 'references': ['P1', 'P2'], 'orientation': 'widdershins'} is not valid under any of the given schemas", + "isError": true, + "message": "ValidationError: {'type': 'ArcByChord', 'x-description': 'References is an ordered list of features with for an Arc Chord, radius and length determine geometry', 'references': ['P1', 'P2'], 'orientation': 'widdershins'} is not valid under any of the given schemas\n\nFailed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]:\n {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'Arc', 'type': 'string'}}},\n {'properties': {'orientation': {'enum': ['cw', 'ccw'],\n 'type': 'string'},\n 'references': {'maxItems': 3, 'minItems': 3},\n 'type': {'const': 'ArcWithCenter',\n 'type': 'string'}},\n 'required': ['orientation']},\n {'properties': {'orientation': {'enum': ['cw', 'ccw'],\n 'type': 'string'},\n 'radius': {'type': 'number'},\n 'references': {'maxItems': 2, 'minItems': 2},\n 'type': {'const': 'ArcByChord',\n 'type': 'string'}},\n 'required': ['radius', 'orientation']},\n {'properties': {'radius': {'type': 'number'},\n 'references': {'maxItems': 1, 'minItems': 1},\n 'type': {'const': 'CircleByCenter',\n 'type': 'string'}},\n 'required': ['radius']},\n {'not': {'required': ['startTangentVector',\n 'endTangentVector']},\n 'properties': {'references': {'minItems': 3},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}}},\n {'properties': {'endTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'references': {'minItems': 2},\n 'startTangentVector': {'properties': {'references': {'minItems': 2}}},\n 'type': {'const': 'CubicSpline',\n 'type': 'string'}},\n 'required': ['startTangentVector', 'endTangentVector']}]}\n\nOn instance['topology']:\n {'orientation': 'widdershins',\n 'references': ['P1', 'P2'],\n 'type': 'ArcByChord',\n 'x-description': 'References is an ordered list of features with for '\n 'an Arc Chord, radius and length determine geometry'}" + } + ] + }, + { + "name": "JSON_LD", + "title": "JSON-LD", + "entries": [] + }, + { + "name": "TURTLE", + "title": "Turtle", + "entries": [] + }, + { + "name": "SHACL", + "title": "SHACL", + "entries": [ { "op": "shacl-report", "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", @@ -370,15 +474,37 @@ { "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "_:n0657576b56cb4ba89cfc784a376930d2b1": { + "_:n01d8a519fdc3481c840c5f6b8024b2c6b1": { "nodes": [] }, - "_:n0657576b56cb4ba89cfc784a376930d2b3": { + "_:n01d8a519fdc3481c840c5f6b8024b2c6b3": { "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none*\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none*\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*\n" + }, + { + "op": "shacl-report", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", + "isError": false, + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + }, + { + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "focusNodes": { + "topo:testTopoLinesReferencePoints": { + "nodes": [] + }, + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] + } + }, + "isError": false, + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -462,45 +588,45 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:n01d8a519fdc3481c840c5f6b8024b2c6b1": { "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:n01d8a519fdc3481c840c5f6b8024b2c6b3": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none*\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n0657576b56cb4ba89cfc784a376930d2b1": { + "topo:testTopoLinesReferencePoints": { "nodes": [] }, - "_:n0657576b56cb4ba89cfc784a376930d2b3": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none*\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -584,45 +710,45 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:n01d8a519fdc3481c840c5f6b8024b2c6b1": { "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:n01d8a519fdc3481c840c5f6b8024b2c6b3": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none*\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n0657576b56cb4ba89cfc784a376930d2b1": { + "topo:testTopoLinesReferencePoints": { "nodes": [] }, - "_:n0657576b56cb4ba89cfc784a376930d2b3": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none*\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -706,45 +832,45 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:n01d8a519fdc3481c840c5f6b8024b2c6b1": { "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:n01d8a519fdc3481c840c5f6b8024b2c6b3": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none*\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n0657576b56cb4ba89cfc784a376930d2b1": { + "topo:testTopoLinesReferencePoints": { "nodes": [] }, - "_:n0657576b56cb4ba89cfc784a376930d2b3": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none*\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -828,45 +954,45 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:n01d8a519fdc3481c840c5f6b8024b2c6b1": { "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:n01d8a519fdc3481c840c5f6b8024b2c6b3": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none*\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n0657576b56cb4ba89cfc784a376930d2b1": { + "topo:testTopoLinesReferencePoints": { "nodes": [] }, - "_:n0657576b56cb4ba89cfc784a376930d2b3": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none*\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -950,45 +1076,45 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:n01d8a519fdc3481c840c5f6b8024b2c6b1": { "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:n01d8a519fdc3481c840c5f6b8024b2c6b3": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none*\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n0657576b56cb4ba89cfc784a376930d2b1": { + "topo:testTopoLinesReferencePoints": { "nodes": [] }, - "_:n0657576b56cb4ba89cfc784a376930d2b3": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none*\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -1072,45 +1198,45 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:n01d8a519fdc3481c840c5f6b8024b2c6b1": { "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:n01d8a519fdc3481c840c5f6b8024b2c6b3": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none*\n - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n0657576b56cb4ba89cfc784a376930d2b1": { + "topo:testTopoLinesReferencePoints": { "nodes": [] }, - "_:n0657576b56cb4ba89cfc784a376930d2b3": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none*\n - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -1124,8 +1250,8 @@ ], "globalErrors": {}, "counts": { - "total": 9, - "passed": 9, + "total": 10, + "passed": 10, "failed": 0 } } \ No newline at end of file diff --git a/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.jsonld b/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.jsonld new file mode 100644 index 0000000..19d285a --- /dev/null +++ b/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.jsonld @@ -0,0 +1,25 @@ +{ + "@context": [ + "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/context.jsonld", + { + "@base": "http://www.example.com/features/" + } + ], + "id": "chord1", + "type": "Feature", + "featureType": "my:ArcChordFeature", + "geometry": null, + "topology": { + "type": "ArcByChord", + "x-description": "References is an ordered list of features with for an Arc Chord, radius and length determine geometry", + "references": [ + "P1", + "P2" + ], + "orientation": "cw", + "radius": 2.5 + }, + "properties": { + "arcLength": 25.615 + } +} \ No newline at end of file diff --git a/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.ttl b/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.ttl new file mode 100644 index 0000000..f3bd9bc --- /dev/null +++ b/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.ttl @@ -0,0 +1,11 @@ +@prefix geojson: . +@prefix rdf: . +@prefix xsd: . + + a geojson:Feature, + ; + geojson:arcLength 2.5615e+01 ; + geojson:topology [ a geojson:ArcByChord ; + geojson:radius 2.5e+00 ; + geojson:relatedFeatures ( ) ] . + diff --git a/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.validation_failed.txt b/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.validation_failed.txt new file mode 100644 index 0000000..af8ca17 --- /dev/null +++ b/build/tests/geo/topo/features/topo-arc/arc_chord-orientation-fail.validation_failed.txt @@ -0,0 +1,38 @@ +Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology +Generated 2023-12-14T21:27:44.512910+00:00 +=== General === + +** Validation error ** +Test was expected to fail but it did not. +=== End General === + +=== Files === +Using arc_chord-orientation-fail.json from test resources +JSON-LD context is present - uplifting +Output JSON-LD arc_chord-orientation-fail.jsonld created +Output Turtle arc_chord-orientation-fail.ttl created +=== End Files === + +=== JSON Schema === +Validation passed +=== End JSON Schema === + +=== SHACL === +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True + +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none* + +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + Validation Report + Conforms: True + +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: /geojson:topology + +=== End SHACL === + diff --git a/build/tests/geo/topo/features/topo-arc/arc_chord-fail.jsonld b/build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.jsonld similarity index 93% rename from build/tests/geo/topo/features/topo-arc/arc_chord-fail.jsonld rename to build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.jsonld index cc0eb7a..e8fd621 100644 --- a/build/tests/geo/topo/features/topo-arc/arc_chord-fail.jsonld +++ b/build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.jsonld @@ -15,7 +15,8 @@ "references": [ "P1", "P2" - ] + ], + "orientation": "widdershins" }, "properties": { "arcLength": 25.615 diff --git a/build/tests/geo/topo/features/topo-arc/arc_chord-fail.ttl b/build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.ttl similarity index 100% rename from build/tests/geo/topo/features/topo-arc/arc_chord-fail.ttl rename to build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.ttl diff --git a/build/tests/geo/topo/features/topo-arc/arc_chord-fail.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.validation_passed.txt similarity index 72% rename from build/tests/geo/topo/features/topo-arc/arc_chord-fail.validation_passed.txt rename to build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.validation_passed.txt index 7229ee3..3be8e31 100644 --- a/build/tests/geo/topo/features/topo-arc/arc_chord-fail.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/arc_chord-radius-fail.validation_passed.txt @@ -1,32 +1,37 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2023-12-13T07:04:09.564392+00:00 +Generated 2023-12-14T21:27:44.739929+00:00 === General === Test was expected to fail and it did. === End General === === Files === -Using arc_chord-fail.json from test resources +Using arc_chord-radius-fail.json from test resources JSON-LD context is present - uplifting -Output JSON-LD arc_chord-fail.jsonld created -Output Turtle arc_chord-fail.ttl created +Output JSON-LD arc_chord-radius-fail.jsonld created +Output Turtle arc_chord-radius-fail.ttl created === End Files === === JSON Schema === ** Validation error ** -ValidationError: {'type': 'ArcByChord', 'x-description': 'References is an ordered list of features with for an Arc Chord, radius and length determine geometry', 'references': ['P1', 'P2']} is not valid under any of the given schemas +ValidationError: {'type': 'ArcByChord', 'x-description': 'References is an ordered list of features with for an Arc Chord, radius and length determine geometry', 'references': ['P1', 'P2'], 'orientation': 'widdershins'} is not valid under any of the given schemas Failed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]: {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'Arc', 'type': 'string'}}}, - {'properties': {'references': {'maxItems': 3, 'minItems': 3}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'ArcWithCenter', - 'type': 'string'}}}, - {'properties': {'radius': {'type': 'number'}, + 'type': 'string'}}, + 'required': ['orientation']}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'radius': {'type': 'number'}, 'references': {'maxItems': 2, 'minItems': 2}, 'type': {'const': 'ArcByChord', 'type': 'string'}}, - 'required': ['radius']}, + 'required': ['radius', 'orientation']}, {'properties': {'radius': {'type': 'number'}, 'references': {'maxItems': 1, 'minItems': 1}, 'type': {'const': 'CircleByCenter', @@ -45,28 +50,29 @@ Failed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf 'required': ['startTangentVector', 'endTangentVector']}]} On instance['topology']: - {'references': ['P1', 'P2'], + {'orientation': 'widdershins', + 'references': ['P1', 'P2'], 'type': 'ArcByChord', 'x-description': 'References is an ordered list of features with for ' 'an Arc Chord, radius and length determine geometry'} === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/circle-fail.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/circle-fail.validation_passed.txt index c131a0c..75ba1d9 100644 --- a/build/tests/geo/topo/features/topo-arc/circle-fail.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/circle-fail.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2023-12-13T07:04:09.477390+00:00 +Generated 2023-12-14T21:27:44.675148+00:00 === General === Test was expected to fail and it did. === End General === @@ -19,14 +19,19 @@ ValidationError: {'type': 'CircleByCenter', 'x-description': 'Reference is the f Failed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]: {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'Arc', 'type': 'string'}}}, - {'properties': {'references': {'maxItems': 3, 'minItems': 3}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'ArcWithCenter', - 'type': 'string'}}}, - {'properties': {'radius': {'type': 'number'}, + 'type': 'string'}}, + 'required': ['orientation']}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'radius': {'type': 'number'}, 'references': {'maxItems': 2, 'minItems': 2}, 'type': {'const': 'ArcByChord', 'type': 'string'}}, - 'required': ['radius']}, + 'required': ['radius', 'orientation']}, {'properties': {'radius': {'type': 'number'}, 'references': {'maxItems': 1, 'minItems': 1}, 'type': {'const': 'CircleByCenter', @@ -52,21 +57,21 @@ On instance['topology']: === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_1_1.json b/build/tests/geo/topo/features/topo-arc/example_1_1.json index dcb94e4..0276747 100644 --- a/build/tests/geo/topo/features/topo-arc/example_1_1.json +++ b/build/tests/geo/topo/features/topo-arc/example_1_1.json @@ -10,7 +10,8 @@ "P1", "P2", "PC" - ] + ], + "orientation": "cw" }, "properties": { "arcLength": 25.615, diff --git a/build/tests/geo/topo/features/topo-arc/example_1_1.jsonld b/build/tests/geo/topo/features/topo-arc/example_1_1.jsonld index 123aac1..2444f60 100644 --- a/build/tests/geo/topo/features/topo-arc/example_1_1.jsonld +++ b/build/tests/geo/topo/features/topo-arc/example_1_1.jsonld @@ -10,7 +10,8 @@ "P1", "P2", "PC" - ] + ], + "orientation": "cw" }, "properties": { "arcLength": 25.615, diff --git a/build/tests/geo/topo/features/topo-arc/example_1_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_1_1.validation_passed.txt index 0617ca0..7bfc856 100644 --- a/build/tests/geo/topo/features/topo-arc/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2023-12-13T07:04:09.730048+00:00 +Generated 2023-12-14T21:27:44.852454+00:00 === Files === Using example_1_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_2_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_2_1.validation_passed.txt index 0f17e6d..c2b6094 100644 --- a/build/tests/geo/topo/features/topo-arc/example_2_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_2_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2023-12-13T07:04:09.835726+00:00 +Generated 2023-12-14T21:27:44.962867+00:00 === Files === Using example_2_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_3_1.json b/build/tests/geo/topo/features/topo-arc/example_3_1.json index 7869a34..6e14047 100644 --- a/build/tests/geo/topo/features/topo-arc/example_3_1.json +++ b/build/tests/geo/topo/features/topo-arc/example_3_1.json @@ -10,7 +10,8 @@ "P1", "P2" ], - "radius": 105.438 + "radius": 105.438, + "orientation": "cw" }, "properties": { "arcLength": 25.615 diff --git a/build/tests/geo/topo/features/topo-arc/example_3_1.jsonld b/build/tests/geo/topo/features/topo-arc/example_3_1.jsonld index 3ad768d..1fea9b5 100644 --- a/build/tests/geo/topo/features/topo-arc/example_3_1.jsonld +++ b/build/tests/geo/topo/features/topo-arc/example_3_1.jsonld @@ -10,7 +10,8 @@ "P1", "P2" ], - "radius": 105.438 + "radius": 105.438, + "orientation": "cw" }, "properties": { "arcLength": 25.615 diff --git a/build/tests/geo/topo/features/topo-arc/example_3_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_3_1.validation_passed.txt index 2a4c39b..9d80e72 100644 --- a/build/tests/geo/topo/features/topo-arc/example_3_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_3_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2023-12-13T07:04:09.938628+00:00 +Generated 2023-12-14T21:27:45.074949+00:00 === Files === Using example_3_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_4_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_4_1.validation_passed.txt index bc44b71..30b8952 100644 --- a/build/tests/geo/topo/features/topo-arc/example_4_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_4_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2023-12-13T07:04:10.041162+00:00 +Generated 2023-12-14T21:27:45.185452+00:00 === Files === Using example_4_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_5_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_5_1.validation_passed.txt index 988bdc8..55925f7 100644 --- a/build/tests/geo/topo/features/topo-arc/example_5_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_5_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2023-12-13T07:04:10.176970+00:00 +Generated 2023-12-14T21:27:45.342790+00:00 === Files === Using example_5_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/example_6_1.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/example_6_1.validation_passed.txt index 11dff48..5ddfbc3 100644 --- a/build/tests/geo/topo/features/topo-arc/example_6_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/example_6_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2023-12-13T07:04:10.280784+00:00 +Generated 2023-12-14T21:27:45.453221+00:00 === Files === Using example_6_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-arc/spline_with_tangents-fail.validation_passed.txt b/build/tests/geo/topo/features/topo-arc/spline_with_tangents-fail.validation_passed.txt index 692fca8..0ed73a6 100644 --- a/build/tests/geo/topo/features/topo-arc/spline_with_tangents-fail.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-arc/spline_with_tangents-fail.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-arc - Non-linear Arc and Spline Descriptions using Point topology -Generated 2023-12-13T07:04:09.623545+00:00 +Generated 2023-12-14T21:27:44.576733+00:00 === General === Test was expected to fail and it did. === End General === @@ -19,14 +19,19 @@ ValidationError: {'type': 'CubicSpline', 'x-description': 'References is an orde Failed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]: {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'Arc', 'type': 'string'}}}, - {'properties': {'references': {'maxItems': 3, 'minItems': 3}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'ArcWithCenter', - 'type': 'string'}}}, - {'properties': {'radius': {'type': 'number'}, + 'type': 'string'}}, + 'required': ['orientation']}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'radius': {'type': 'number'}, 'references': {'maxItems': 2, 'minItems': 2}, 'type': {'const': 'ArcByChord', 'type': 'string'}}, - 'required': ['radius']}, + 'required': ['radius', 'orientation']}, {'properties': {'radius': {'type': 'number'}, 'references': {'maxItems': 1, 'minItems': 1}, 'type': {'const': 'CircleByCenter', @@ -53,21 +58,21 @@ On instance['topology']: === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature-collection/_report.json b/build/tests/geo/topo/features/topo-feature-collection/_report.json index 2ad63b5..3f1cafb 100644 --- a/build/tests/geo/topo/features/topo-feature-collection/_report.json +++ b/build/tests/geo/topo/features/topo-feature-collection/_report.json @@ -2,7 +2,7 @@ "title": "Validation report for ogc.geo.topo.features.topo-feature-collection - TopoFeatureCollection", "bblockName": "TopoFeatureCollection", "bblockId": "ogc.geo.topo.features.topo-feature-collection", - "generated": "2023-12-13T07:04:11.696101+00:00", + "generated": "2023-12-14T21:27:48.248007+00:00", "result": true, "items": [ { @@ -82,53 +82,53 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "graph": "@prefix geojson: .\n@prefix rdf: .\n@prefix sh: .\n@prefix topo: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms false ;\n sh:result [ a sh:ValidationResult ;\n sh:focusNode _:N14da675d4fc64d99a669abefd9d7761d ;\n sh:resultMessage \"Lines topologies must reference points within current graph closure.\" ;\n sh:resultPath geojson:topology ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Lines topologies must reference points within current graph closure.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref geojson:geometry/rdf:type geojson:Point }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoLinesReferencePoints ;\n sh:value ],\n [ a sh:ValidationResult ;\n sh:focusNode _:N14da675d4fc64d99a669abefd9d7761d ;\n sh:resultMessage \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:resultPath geojson:relatedFeatures ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoReferencesExist ;\n sh:value ] .\n\n_:N03b7d8bc60f0457aa3895f697282311e rdf:first ;\n rdf:rest ( ) .\n\n_:N14da675d4fc64d99a669abefd9d7761d a geojson:LineString ;\n geojson:relatedFeatures _:N03b7d8bc60f0457aa3895f697282311e .\n\n", - "isError": true, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: False\n Results (2):\n Constraint Violation in SPARQLConstraintComponent (http://www.w3.org/ns/shacl#SPARQLConstraintComponent):\n \tSeverity: sh:Violation\n \tSource Shape: topo:testTopoLinesReferencePoints\n \tFocus Node: [ geojson:relatedFeatures ( ) ; rdf:type geojson:LineString ]\n \tValue Node: \n \tResult Path: geojson:topology\n \tSource Constraint: [ sh:message Literal(\"Lines topologies must reference points within current graph closure.\") ; sh:select Literal(\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n \n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref geojson:geometry/rdf:type geojson:Point }\n }\n \") ]\n \tMessage: Lines topologies must reference points within current graph closure.\n Constraint Violation in SPARQLConstraintComponent (http://www.w3.org/ns/shacl#SPARQLConstraintComponent):\n \tSeverity: sh:Violation\n \tSource Shape: topo:testTopoReferencesExist\n \tFocus Node: [ geojson:relatedFeatures ( ) ; rdf:type geojson:LineString ]\n \tValue Node: \n \tResult Path: geojson:relatedFeatures\n \tSource Constraint: [ sh:message Literal(\"Referenced features must be present within current graph closure for topological feature.\") ; sh:select Literal(\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n \n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n \") ]\n \tMessage: Referenced features must be present within current graph closure for topological feature.\n " + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", + "isError": false, + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:n335b594651194e0f9c16fe7502b8fa8bb1": { "nodes": [ - "/geojson:topology" + "/geojson:geometry", + "/geojson:geometry" ] }, - "topo:testTopoReferencesExist": { + "_:n335b594651194e0f9c16fe7502b8fa8bb3": { "nodes": [ - "/geojson:topology" + "/geojson:geometry", + "/geojson:geometry" ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: /geojson:geometry,/geojson:geometry\n - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: /geojson:geometry,/geojson:geometry\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", - "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", - "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "graph": "@prefix geojson: .\n@prefix rdf: .\n@prefix sh: .\n@prefix topo: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms false ;\n sh:result [ a sh:ValidationResult ;\n sh:focusNode _:N17fce04eac164819aa24cd98b400478f ;\n sh:resultMessage \"Lines topologies must reference points within current graph closure.\" ;\n sh:resultPath geojson:topology ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Lines topologies must reference points within current graph closure.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref geojson:geometry/rdf:type geojson:Point }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoLinesReferencePoints ;\n sh:value ],\n [ a sh:ValidationResult ;\n sh:focusNode _:N17fce04eac164819aa24cd98b400478f ;\n sh:resultMessage \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:resultPath geojson:relatedFeatures ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoReferencesExist ;\n sh:value ] .\n\n_:N4efc63e3ceb1479680fac54f5e87e50e rdf:first ;\n rdf:rest () .\n\n_:N9c3fcbdc00e9474b8ba3105b9c7f49d9 rdf:first ;\n rdf:rest _:N4efc63e3ceb1479680fac54f5e87e50e .\n\n_:N17fce04eac164819aa24cd98b400478f a geojson:LineString ;\n geojson:relatedFeatures _:N9c3fcbdc00e9474b8ba3105b9c7f49d9 .\n\n", + "isError": true, + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: False\n Results (2):\n Constraint Violation in SPARQLConstraintComponent (http://www.w3.org/ns/shacl#SPARQLConstraintComponent):\n \tSeverity: sh:Violation\n \tSource Shape: topo:testTopoLinesReferencePoints\n \tFocus Node: [ geojson:relatedFeatures ( ) ; rdf:type geojson:LineString ]\n \tValue Node: \n \tResult Path: geojson:topology\n \tSource Constraint: [ sh:message Literal(\"Lines topologies must reference points within current graph closure.\") ; sh:select Literal(\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n \n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref geojson:geometry/rdf:type geojson:Point }\n }\n \") ]\n \tMessage: Lines topologies must reference points within current graph closure.\n Constraint Violation in SPARQLConstraintComponent (http://www.w3.org/ns/shacl#SPARQLConstraintComponent):\n \tSeverity: sh:Violation\n \tSource Shape: topo:testTopoReferencesExist\n \tFocus Node: [ geojson:relatedFeatures ( ) ; rdf:type geojson:LineString ]\n \tValue Node: \n \tResult Path: geojson:relatedFeatures\n \tSource Constraint: [ sh:message Literal(\"Referenced features must be present within current graph closure for topological feature.\") ; sh:select Literal(\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n \n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n \") ]\n \tMessage: Referenced features must be present within current graph closure for topological feature.\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n705e1d54953a4de89f89cf57979357deb1": { + "topo:testTopoLinesReferencePoints": { "nodes": [ - "/geojson:geometry", - "/geojson:geometry" + "/geojson:topology" ] }, - "_:n705e1d54953a4de89f89cf57979357deb3": { + "topo:testTopoReferencesExist": { "nodes": [ - "/geojson:geometry", - "/geojson:geometry" + "/geojson:topology" ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n705e1d54953a4de89f89cf57979357deb1: /geojson:geometry,/geojson:geometry\n - Shape _:n705e1d54953a4de89f89cf57979357deb3: /geojson:geometry,/geojson:geometry\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -212,49 +212,49 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { - "nodes": [] + "_:n335b594651194e0f9c16fe7502b8fa8bb1": { + "nodes": [ + "/geojson:geometry", + "/geojson:geometry" + ] }, - "topo:testTopoReferencesExist": { - "nodes": [] + "_:n335b594651194e0f9c16fe7502b8fa8bb3": { + "nodes": [ + "/geojson:geometry", + "/geojson:geometry" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: /geojson:geometry,/geojson:geometry\n - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: /geojson:geometry,/geojson:geometry\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n705e1d54953a4de89f89cf57979357deb1": { - "nodes": [ - "/geojson:geometry", - "/geojson:geometry" - ] + "topo:testTopoLinesReferencePoints": { + "nodes": [] }, - "_:n705e1d54953a4de89f89cf57979357deb3": { - "nodes": [ - "/geojson:geometry", - "/geojson:geometry" - ] + "topo:testTopoReferencesExist": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n705e1d54953a4de89f89cf57979357deb1: /geojson:geometry,/geojson:geometry\n - Shape _:n705e1d54953a4de89f89cf57979357deb3: /geojson:geometry,/geojson:geometry\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: *none*\n" } ] }, @@ -338,53 +338,53 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:n335b594651194e0f9c16fe7502b8fa8bb1": { "nodes": [ - "/geojson:topology" + "/geojson:geometry", + "/geojson:geometry" ] }, - "topo:testTopoReferencesExist": { + "_:n335b594651194e0f9c16fe7502b8fa8bb3": { "nodes": [ - "/geojson:topology" + "/geojson:geometry", + "/geojson:geometry" ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: /geojson:geometry,/geojson:geometry\n - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: /geojson:geometry,/geojson:geometry\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n705e1d54953a4de89f89cf57979357deb1": { + "topo:testTopoLinesReferencePoints": { "nodes": [ - "/geojson:geometry", - "/geojson:geometry" + "/geojson:topology" ] }, - "_:n705e1d54953a4de89f89cf57979357deb3": { + "topo:testTopoReferencesExist": { "nodes": [ - "/geojson:geometry", - "/geojson:geometry" + "/geojson:topology" ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n705e1d54953a4de89f89cf57979357deb1: /geojson:geometry,/geojson:geometry\n - Shape _:n705e1d54953a4de89f89cf57979357deb3: /geojson:geometry,/geojson:geometry\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -468,60 +468,60 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:n335b594651194e0f9c16fe7502b8fa8bb1": { "nodes": [ - "/geojson:topology", - "/geojson:topology", - "/geojson:topology" + "/geojson:geometry", + "/geojson:geometry", + "/geojson:geometry" ] }, - "topo:testTopoReferencesExist": { + "_:n335b594651194e0f9c16fe7502b8fa8bb3": { "nodes": [ - "/geojson:topology", - "/geojson:topology", - "/geojson:topology", - "/geojson:topology" + "/geojson:geometry", + "/geojson:geometry", + "/geojson:geometry" ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology,/geojson:topology,/geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology,/geojson:topology,/geojson:topology,/geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: /geojson:geometry,/geojson:geometry,/geojson:geometry\n - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: /geojson:geometry,/geojson:geometry,/geojson:geometry\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n705e1d54953a4de89f89cf57979357deb1": { + "topo:testTopoLinesReferencePoints": { "nodes": [ - "/geojson:geometry", - "/geojson:geometry", - "/geojson:geometry" + "/geojson:topology", + "/geojson:topology", + "/geojson:topology" ] }, - "_:n705e1d54953a4de89f89cf57979357deb3": { + "topo:testTopoReferencesExist": { "nodes": [ - "/geojson:geometry", - "/geojson:geometry", - "/geojson:geometry" + "/geojson:topology", + "/geojson:topology", + "/geojson:topology", + "/geojson:topology" ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n705e1d54953a4de89f89cf57979357deb1: /geojson:geometry,/geojson:geometry,/geojson:geometry\n - Shape _:n705e1d54953a4de89f89cf57979357deb3: /geojson:geometry,/geojson:geometry,/geojson:geometry\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology,/geojson:topology,/geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology,/geojson:topology,/geojson:topology,/geojson:topology\n" } ] }, diff --git a/build/tests/geo/topo/features/topo-feature-collection/example_1_1.validation_passed.txt b/build/tests/geo/topo/features/topo-feature-collection/example_1_1.validation_passed.txt index 636a88e..2bc6763 100644 --- a/build/tests/geo/topo/features/topo-feature-collection/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature-collection/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature-collection - TopoFeatureCollection -Generated 2023-12-13T07:04:11.550759+00:00 +Generated 2023-12-14T21:27:48.091532+00:00 === Files === Using example_1_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: *none* +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: /geojson:geometry,/geojson:geometry + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: /geojson:geometry,/geojson:geometry -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n705e1d54953a4de89f89cf57979357deb1: /geojson:geometry,/geojson:geometry - - Shape _:n705e1d54953a4de89f89cf57979357deb3: /geojson:geometry,/geojson:geometry +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: *none* === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature-collection/example_2_1.validation_passed.txt b/build/tests/geo/topo/features/topo-feature-collection/example_2_1.validation_passed.txt index 13c3cad..0fb9665 100644 --- a/build/tests/geo/topo/features/topo-feature-collection/example_2_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature-collection/example_2_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature-collection - TopoFeatureCollection -Generated 2023-12-13T07:04:11.593354+00:00 +Generated 2023-12-14T21:27:48.138518+00:00 === Files === Using example_2_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: /geojson:topology - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: /geojson:geometry,/geojson:geometry + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: /geojson:geometry,/geojson:geometry -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n705e1d54953a4de89f89cf57979357deb1: /geojson:geometry,/geojson:geometry - - Shape _:n705e1d54953a4de89f89cf57979357deb3: /geojson:geometry,/geojson:geometry +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: /geojson:topology + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature-collection/example_3_1.validation_passed.txt b/build/tests/geo/topo/features/topo-feature-collection/example_3_1.validation_passed.txt index 0c943c4..2434254 100644 --- a/build/tests/geo/topo/features/topo-feature-collection/example_3_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature-collection/example_3_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature-collection - TopoFeatureCollection -Generated 2023-12-13T07:04:11.696016+00:00 +Generated 2023-12-14T21:27:48.247908+00:00 === Files === Using example_3_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: /geojson:topology,/geojson:topology,/geojson:topology - - Shape topo:testTopoReferencesExist: /geojson:topology,/geojson:topology,/geojson:topology,/geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: /geojson:geometry,/geojson:geometry,/geojson:geometry + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: /geojson:geometry,/geojson:geometry,/geojson:geometry -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n705e1d54953a4de89f89cf57979357deb1: /geojson:geometry,/geojson:geometry,/geojson:geometry - - Shape _:n705e1d54953a4de89f89cf57979357deb3: /geojson:geometry,/geojson:geometry,/geojson:geometry +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: /geojson:topology,/geojson:topology,/geojson:topology + - Shape topo:testTopoReferencesExist: /geojson:topology,/geojson:topology,/geojson:topology,/geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature-collection/linestring-fail.validation_passed.txt b/build/tests/geo/topo/features/topo-feature-collection/linestring-fail.validation_passed.txt index 070a873..6d573ea 100644 --- a/build/tests/geo/topo/features/topo-feature-collection/linestring-fail.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature-collection/linestring-fail.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature-collection - TopoFeatureCollection -Generated 2023-12-13T07:04:11.526439+00:00 +Generated 2023-12-14T21:27:48.064526+00:00 === General === Test was expected to fail and it did. === End General === @@ -16,6 +16,14 @@ Validation passed === End JSON Schema === === SHACL === +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True + +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: /geojson:geometry,/geojson:geometry + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: /geojson:geometry,/geojson:geometry + ** Validation error ** Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: @@ -66,13 +74,5 @@ Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist. - Shape topo:testTopoLinesReferencePoints: /geojson:topology - Shape topo:testTopoReferencesExist: /geojson:topology -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - Validation Report - Conforms: True - -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n705e1d54953a4de89f89cf57979357deb1: /geojson:geometry,/geojson:geometry - - Shape _:n705e1d54953a4de89f89cf57979357deb3: /geojson:geometry,/geojson:geometry - === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature/_report.json b/build/tests/geo/topo/features/topo-feature/_report.json index ac6658e..2cf1bf0 100644 --- a/build/tests/geo/topo/features/topo-feature/_report.json +++ b/build/tests/geo/topo/features/topo-feature/_report.json @@ -2,7 +2,7 @@ "title": "Validation report for ogc.geo.topo.features.topo-feature - Feature with topology", "bblockName": "Feature with topology", "bblockId": "ogc.geo.topo.features.topo-feature", - "generated": "2023-12-13T07:04:08.795902+00:00", + "generated": "2023-12-14T21:27:43.280209+00:00", "result": true, "items": [ { @@ -80,10 +80,30 @@ "name": "SHACL", "title": "SHACL", "entries": [ + { + "op": "shacl-report", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", + "isError": false, + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + }, + { + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "focusNodes": { + "_:na7d6c217c8d942d58e86302f344212e5b3": { + "nodes": [] + }, + "_:na7d6c217c8d942d58e86302f344212e5b1": { + "nodes": [] + } + }, + "isError": false, + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na7d6c217c8d942d58e86302f344212e5b3: *none*\n - Shape _:na7d6c217c8d942d58e86302f344212e5b1: *none*\n" + }, { "op": "shacl-report", "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", - "graph": "@prefix geojson: .\n@prefix rdf: .\n@prefix sh: .\n@prefix topo: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms false ;\n sh:result [ a sh:ValidationResult ;\n sh:focusNode _:Na3b178ab7a37409680133a3226ee9ebe ;\n sh:resultMessage \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:resultPath geojson:relatedFeatures ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoReferencesExist ;\n sh:value ],\n [ a sh:ValidationResult ;\n sh:focusNode _:Na3b178ab7a37409680133a3226ee9ebe ;\n sh:resultMessage \"Lines topologies must reference points within current graph closure.\" ;\n sh:resultPath geojson:topology ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Lines topologies must reference points within current graph closure.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref geojson:geometry/rdf:type geojson:Point }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoLinesReferencePoints ;\n sh:value ] .\n\n_:Nef54ec4e542a4defbddb5dbb54ea0319 rdf:first ;\n rdf:rest () .\n\n_:Na3b178ab7a37409680133a3226ee9ebe a geojson:LineString ;\n geojson:relatedFeatures _:Nef54ec4e542a4defbddb5dbb54ea0319 .\n\n", + "graph": "@prefix geojson: .\n@prefix rdf: .\n@prefix sh: .\n@prefix topo: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms false ;\n sh:result [ a sh:ValidationResult ;\n sh:focusNode _:N7341beb44f1a45f48afd9209d7569d76 ;\n sh:resultMessage \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:resultPath geojson:relatedFeatures ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Referenced features must be present within current graph closure for topological feature.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoReferencesExist ;\n sh:value ],\n [ a sh:ValidationResult ;\n sh:focusNode _:N7341beb44f1a45f48afd9209d7569d76 ;\n sh:resultMessage \"Lines topologies must reference points within current graph closure.\" ;\n sh:resultPath geojson:topology ;\n sh:resultSeverity sh:Violation ;\n sh:sourceConstraint [ sh:message \"Lines topologies must reference points within current graph closure.\" ;\n sh:select \"\"\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n\n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref geojson:geometry/rdf:type geojson:Point }\n }\n\"\"\" ] ;\n sh:sourceConstraintComponent sh:SPARQLConstraintComponent ;\n sh:sourceShape topo:testTopoLinesReferencePoints ;\n sh:value ] .\n\n_:Nb82acfcf05bc4b448c286de43a9dfe63 rdf:first ;\n rdf:rest () .\n\n_:N7341beb44f1a45f48afd9209d7569d76 a geojson:LineString ;\n geojson:relatedFeatures _:Nb82acfcf05bc4b448c286de43a9dfe63 .\n\n", "isError": true, "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: False\n Results (2):\n Constraint Violation in SPARQLConstraintComponent (http://www.w3.org/ns/shacl#SPARQLConstraintComponent):\n \tSeverity: sh:Violation\n \tSource Shape: topo:testTopoLinesReferencePoints\n \tFocus Node: [ geojson:relatedFeatures ( ) ; rdf:type geojson:LineString ]\n \tValue Node: \n \tResult Path: geojson:topology\n \tSource Constraint: [ sh:message Literal(\"Lines topologies must reference points within current graph closure.\") ; sh:select Literal(\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n \n SELECT $this (geojson:topology as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n FILTER NOT EXISTS {\n ?ref geojson:geometry/rdf:type geojson:Point }\n }\n \") ]\n \tMessage: Lines topologies must reference points within current graph closure.\n Constraint Violation in SPARQLConstraintComponent (http://www.w3.org/ns/shacl#SPARQLConstraintComponent):\n \tSeverity: sh:Violation\n \tSource Shape: topo:testTopoReferencesExist\n \tFocus Node: [ geojson:relatedFeatures ( ) ; rdf:type geojson:LineString ]\n \tValue Node: \n \tResult Path: geojson:relatedFeatures\n \tSource Constraint: [ sh:message Literal(\"Referenced features must be present within current graph closure for topological feature.\") ; sh:select Literal(\"\n prefix rdf: \n PREFIX rdfs: \n prefix geojson: \n \n SELECT $this (geojson:relatedFeatures as ?path) (?ref as ?value)\n WHERE {\n $this geojson:relatedFeatures/rdf:rest*/rdf:first ?ref .\n $this a ?geomtype .\n FILTER ( ?geomtype != geojson:Polygon)\n FILTER NOT EXISTS { ?ref ?p ?o }\n }\n \") ]\n \tMessage: Referenced features must be present within current graph closure for topological feature.\n " }, @@ -103,26 +123,6 @@ }, "isError": false, "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" - }, - { - "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", - "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", - "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " - }, - { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", - "focusNodes": { - "_:n8a3229d8c2d14f0f88408eb6da5ebc1eb1": { - "nodes": [] - }, - "_:n8a3229d8c2d14f0f88408eb6da5ebc1eb3": { - "nodes": [] - } - }, - "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb1: *none*\n - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb3: *none*\n" } ] }, @@ -206,47 +206,47 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { - "nodes": [ - "/geojson:topology" - ] + "_:na7d6c217c8d942d58e86302f344212e5b3": { + "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:na7d6c217c8d942d58e86302f344212e5b1": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na7d6c217c8d942d58e86302f344212e5b3: *none*\n - Shape _:na7d6c217c8d942d58e86302f344212e5b1: *none*\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n8a3229d8c2d14f0f88408eb6da5ebc1eb1": { - "nodes": [] + "topo:testTopoLinesReferencePoints": { + "nodes": [ + "/geojson:topology" + ] }, - "_:n8a3229d8c2d14f0f88408eb6da5ebc1eb3": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb1: *none*\n - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, @@ -330,45 +330,45 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { + "_:na7d6c217c8d942d58e86302f344212e5b3": { "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:na7d6c217c8d942d58e86302f344212e5b1": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:na7d6c217c8d942d58e86302f344212e5b3: *none*\n - Shape _:na7d6c217c8d942d58e86302f344212e5b1: *none*\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n8a3229d8c2d14f0f88408eb6da5ebc1eb1": { + "topo:testTopoLinesReferencePoints": { "nodes": [] }, - "_:n8a3229d8c2d14f0f88408eb6da5ebc1eb3": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb1: *none*\n - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: *none*\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, diff --git a/build/tests/geo/topo/features/topo-feature/example_1_1.validation_passed.txt b/build/tests/geo/topo/features/topo-feature/example_1_1.validation_passed.txt index ee2021d..3228ec5 100644 --- a/build/tests/geo/topo/features/topo-feature/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature - Feature with topology -Generated 2023-12-13T07:04:08.626495+00:00 +Generated 2023-12-14T21:27:43.098329+00:00 === Files === Using example_1_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: /geojson:topology - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:na7d6c217c8d942d58e86302f344212e5b3: *none* + - Shape _:na7d6c217c8d942d58e86302f344212e5b1: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb1: *none* - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: /geojson:topology + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature/example_2_1.validation_passed.txt b/build/tests/geo/topo/features/topo-feature/example_2_1.validation_passed.txt index 732fdc2..17146c6 100644 --- a/build/tests/geo/topo/features/topo-feature/example_2_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature/example_2_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature - Feature with topology -Generated 2023-12-13T07:04:08.795815+00:00 +Generated 2023-12-14T21:27:43.280113+00:00 === Files === Using example_2_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:na7d6c217c8d942d58e86302f344212e5b3: *none* + - Shape _:na7d6c217c8d942d58e86302f344212e5b1: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb1: *none* - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/geo/topo/features/topo-feature/linestring-fail.validation_passed.txt b/build/tests/geo/topo/features/topo-feature/linestring-fail.validation_passed.txt index a2f9ed8..7568323 100644 --- a/build/tests/geo/topo/features/topo-feature/linestring-fail.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-feature/linestring-fail.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-feature - Feature with topology -Generated 2023-12-13T07:04:08.516481+00:00 +Generated 2023-12-14T21:27:42.976737+00:00 === General === Test was expected to fail and it did. === End General === @@ -16,6 +16,14 @@ Validation passed === End JSON Schema === === SHACL === +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True + +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:na7d6c217c8d942d58e86302f344212e5b3: *none* + - Shape _:na7d6c217c8d942d58e86302f344212e5b1: *none* + ** Validation error ** Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: @@ -66,13 +74,5 @@ Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist. - Shape topo:testTopoLinesReferencePoints: /geojson:topology - Shape topo:testTopoReferencesExist: /geojson:topology -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - Validation Report - Conforms: True - -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb1: *none* - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb3: *none* - === End SHACL === diff --git a/build/tests/geo/topo/features/topo-line/_report.json b/build/tests/geo/topo/features/topo-line/_report.json index 35db2ad..7888fbb 100644 --- a/build/tests/geo/topo/features/topo-line/_report.json +++ b/build/tests/geo/topo/features/topo-line/_report.json @@ -2,7 +2,7 @@ "title": "Validation report for ogc.geo.topo.features.topo-line - Line using Point References", "bblockName": "Line using Point References", "bblockId": "ogc.geo.topo.features.topo-line", - "generated": "2023-12-13T07:04:10.699979+00:00", + "generated": "2023-12-14T21:27:46.392227+00:00", "result": true, "items": [ { @@ -78,47 +78,47 @@ "entries": [ { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", + "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", "focusNodes": { - "topo:testTopoLinesReferencePoints": { - "nodes": [ - "/geojson:topology" - ] + "_:n733c591f59d84ca8ac41dddc60c359ffb1": { + "nodes": [] }, - "topo:testTopoReferencesExist": { - "nodes": [ - "/geojson:topology" - ] + "_:n733c591f59d84ca8ac41dddc60c359ffb3": { + "nodes": [] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" + "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n733c591f59d84ca8ac41dddc60c359ffb1: *none*\n - Shape _:n733c591f59d84ca8ac41dddc60c359ffb3: *none*\n" }, { "op": "shacl-report", - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "graph": "@prefix sh: .\n@prefix xsd: .\n\n[] a sh:ValidationReport ;\n sh:conforms true .\n\n", "isError": false, - "message": "Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n Validation Report\n Conforms: True\n " + "message": "Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n Validation Report\n Conforms: True\n " }, { - "shaclFile": "_sources/features/topo-feature/tests/geometry-coordinates.shacl", + "shaclFile": "_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl", "focusNodes": { - "_:n9c41fbb6ab6f4ea0ad26f430ff9b2a07b1": { - "nodes": [] + "topo:testTopoLinesReferencePoints": { + "nodes": [ + "/geojson:topology" + ] }, - "_:n9c41fbb6ab6f4ea0ad26f430ff9b2a07b3": { - "nodes": [] + "topo:testTopoReferencesExist": { + "nodes": [ + "/geojson:topology" + ] } }, "isError": false, - "message": "Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl:\n - Shape _:n9c41fbb6ab6f4ea0ad26f430ff9b2a07b1: *none*\n - Shape _:n9c41fbb6ab6f4ea0ad26f430ff9b2a07b3: *none*\n" + "message": "Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl:\n - Shape topo:testTopoLinesReferencePoints: /geojson:topology\n - Shape topo:testTopoReferencesExist: /geojson:topology\n" } ] }, diff --git a/build/tests/geo/topo/features/topo-line/example_1_1.validation_passed.txt b/build/tests/geo/topo/features/topo-line/example_1_1.validation_passed.txt index f69c113..cee507d 100644 --- a/build/tests/geo/topo/features/topo-line/example_1_1.validation_passed.txt +++ b/build/tests/geo/topo/features/topo-line/example_1_1.validation_passed.txt @@ -1,5 +1,5 @@ Validation report for ogc.geo.topo.features.topo-line - Line using Point References -Generated 2023-12-13T07:04:10.699894+00:00 +Generated 2023-12-14T21:27:46.392128+00:00 === Files === Using example_1_1.json from examples JSON-LD context is present - uplifting @@ -12,21 +12,21 @@ Validation passed === End JSON Schema === === SHACL === -Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: /geojson:topology - - Shape topo:testTopoReferencesExist: /geojson:topology +Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n733c591f59d84ca8ac41dddc60c359ffb1: *none* + - Shape _:n733c591f59d84ca8ac41dddc60c359ffb3: *none* -Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True -Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n9c41fbb6ab6f4ea0ad26f430ff9b2a07b1: *none* - - Shape _:n9c41fbb6ab6f4ea0ad26f430ff9b2a07b3: *none* +Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: /geojson:topology + - Shape topo:testTopoReferencesExist: /geojson:topology === End SHACL === diff --git a/build/tests/report.html b/build/tests/report.html index 1053ee6..d374f67 100644 --- a/build/tests/report.html +++ b/build/tests/report.html @@ -26,7 +26,7 @@

    Building blocks validation report

    - Generated at 2023-12-13T07:04:11.708437+00:00 + Generated at 2023-12-14T21:27:48.260711+00:00

    Number of passing building blocks: 5 / 5 (100%)

    @@ -134,6 +134,14 @@

    JSON Schema
    Validation passed
    SHACL
    +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True +
    +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:na7d6c217c8d942d58e86302f344212e5b3: *none* + - Shape _:na7d6c217c8d942d58e86302f344212e5b1: *none* +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: False @@ -181,14 +189,6 @@

    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - Shape topo:testTopoLinesReferencePoints: <file:///github/workspace/LineP1P2>/geojson:topology - Shape topo:testTopoReferencesExist: <file:///github/workspace/LineP1P2>/geojson:topology -
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - Validation Report - Conforms: True -
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb1: *none* - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb3: *none*

    @@ -220,21 +220,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: <http://www.example.com/features/LineP1P2>/geojson:topology - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/LineP1P2>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:na7d6c217c8d942d58e86302f344212e5b3: *none* + - Shape _:na7d6c217c8d942d58e86302f344212e5b1: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb1: *none* - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: <http://www.example.com/features/LineP1P2>/geojson:topology + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/LineP1P2>/geojson:topology
    @@ -266,21 +266,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/TriangleP1P2P3>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:na7d6c217c8d942d58e86302f344212e5b3: *none* + - Shape _:na7d6c217c8d942d58e86302f344212e5b1: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb1: *none* - - Shape _:n8a3229d8c2d14f0f88408eb6da5ebc1eb3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/TriangleP1P2P3>/geojson:topology
    @@ -306,7 +306,7 @@

    - Test passed: 9 / 9 + Test passed: 10 / 10

    @@ -318,7 +318,7 @@

    Details - circle-fail.json + arc_chord-orientation-fail.json Test resource Requires fail
    @@ -326,28 +326,82 @@

    +
    +
    General
    +
    Test was expected to fail but it did not.
    +
    Files
    +
    Using arc_chord-orientation-fail.json from test resources
    +
    JSON-LD context is present - uplifting
    +
    Output JSON-LD arc_chord-orientation-fail.jsonld created
    +
    Output Turtle arc_chord-orientation-fail.ttl created
    +
    JSON Schema
    +
    Validation passed
    +
    SHACL
    +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True +
    +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none* +
    +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + Validation Report + Conforms: True +
    +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/chord1>/geojson:topology +
    +
    +
    +
    +
    +
    +
    +
    + + spline_with_tangents-fail.json + Test resource + Requires fail +
    + Passed +
    +
    +
    General
    Test was expected to fail and it did.
    Files
    -
    Using circle-fail.json from test resources
    +
    Using spline_with_tangents-fail.json from test resources
    JSON-LD context is present - uplifting
    -
    Output JSON-LD circle-fail.jsonld created
    -
    Output Turtle circle-fail.ttl created
    +
    Output JSON-LD spline_with_tangents-fail.jsonld created
    +
    Output Turtle spline_with_tangents-fail.ttl created
    JSON Schema
    -
    ValidationError: {'type': 'CircleByCenter', 'x-description': 'Reference is the feature defining the centre point of a circle - it must have a Point geometry.', 'references': ['PC']} is not valid under any of the given schemas +
    ValidationError: {'type': 'CubicSpline', 'x-description': 'References is an ordered list of features with point geometries, with tangent vectors defining entry and exit angles', 'references': ['P1', 'P2']} is not valid under any of the given schemas Failed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]: {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'Arc', 'type': 'string'}}}, - {'properties': {'references': {'maxItems': 3, 'minItems': 3}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'ArcWithCenter', - 'type': 'string'}}}, - {'properties': {'radius': {'type': 'number'}, + 'type': 'string'}}, + 'required': ['orientation']}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'radius': {'type': 'number'}, 'references': {'maxItems': 2, 'minItems': 2}, 'type': {'const': 'ArcByChord', 'type': 'string'}}, - 'required': ['radius']}, + 'required': ['radius', 'orientation']}, {'properties': {'radius': {'type': 'number'}, 'references': {'maxItems': 1, 'minItems': 1}, 'type': {'const': 'CircleByCenter', @@ -366,26 +420,27 @@

    'required': ['startTangentVector', 'endTangentVector']}]} On instance['topology']: - {'references': ['PC'], - 'type': 'CircleByCenter', - 'x-description': 'Reference is the feature defining the centre point ' - 'of a circle - it must have a Point geometry.'}

    + {'references': ['P1', 'P2'], + 'type': 'CubicSpline', + 'x-description': 'References is an ordered list of features with ' + 'point geometries, with tangent vectors defining ' + 'entry and exit angles'}
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology
    @@ -395,42 +450,47 @@

    - arc_chord-fail.json + circle-fail.json Test resource Requires fail
    Passed
    -
    +
    General
    Test was expected to fail and it did.
    Files
    -
    Using arc_chord-fail.json from test resources
    +
    Using circle-fail.json from test resources
    JSON-LD context is present - uplifting
    -
    Output JSON-LD arc_chord-fail.jsonld created
    -
    Output Turtle arc_chord-fail.ttl created
    +
    Output JSON-LD circle-fail.jsonld created
    +
    Output Turtle circle-fail.ttl created
    JSON Schema
    -
    ValidationError: {'type': 'ArcByChord', 'x-description': 'References is an ordered list of features with for an Arc Chord, radius and length determine geometry', 'references': ['P1', 'P2']} is not valid under any of the given schemas +
    ValidationError: {'type': 'CircleByCenter', 'x-description': 'Reference is the feature defining the centre point of a circle - it must have a Point geometry.', 'references': ['PC']} is not valid under any of the given schemas Failed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]: {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'Arc', 'type': 'string'}}}, - {'properties': {'references': {'maxItems': 3, 'minItems': 3}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'ArcWithCenter', - 'type': 'string'}}}, - {'properties': {'radius': {'type': 'number'}, + 'type': 'string'}}, + 'required': ['orientation']}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'radius': {'type': 'number'}, 'references': {'maxItems': 2, 'minItems': 2}, 'type': {'const': 'ArcByChord', 'type': 'string'}}, - 'required': ['radius']}, + 'required': ['radius', 'orientation']}, {'properties': {'radius': {'type': 'number'}, 'references': {'maxItems': 1, 'minItems': 1}, 'type': {'const': 'CircleByCenter', @@ -449,26 +509,26 @@

    'required': ['startTangentVector', 'endTangentVector']}]} On instance['topology']: - {'references': ['P1', 'P2'], - 'type': 'ArcByChord', - 'x-description': 'References is an ordered list of features with for ' - 'an Arc Chord, radius and length determine geometry'}

    + {'references': ['PC'], + 'type': 'CircleByCenter', + 'x-description': 'Reference is the feature defining the centre point ' + 'of a circle - it must have a Point geometry.'}
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/chord1>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology
    @@ -478,42 +538,47 @@

    - spline_with_tangents-fail.json + arc_chord-radius-fail.json Test resource Requires fail
    Passed
    -
    +
    General
    Test was expected to fail and it did.
    Files
    -
    Using spline_with_tangents-fail.json from test resources
    +
    Using arc_chord-radius-fail.json from test resources
    JSON-LD context is present - uplifting
    -
    Output JSON-LD spline_with_tangents-fail.jsonld created
    -
    Output Turtle spline_with_tangents-fail.ttl created
    +
    Output JSON-LD arc_chord-radius-fail.jsonld created
    +
    Output Turtle arc_chord-radius-fail.ttl created
    JSON Schema
    -
    ValidationError: {'type': 'CubicSpline', 'x-description': 'References is an ordered list of features with point geometries, with tangent vectors defining entry and exit angles', 'references': ['P1', 'P2']} is not valid under any of the given schemas +
    ValidationError: {'type': 'ArcByChord', 'x-description': 'References is an ordered list of features with for an Arc Chord, radius and length determine geometry', 'references': ['P1', 'P2'], 'orientation': 'widdershins'} is not valid under any of the given schemas Failed validating 'oneOf' in schema['allOf'][1]['properties']['topology']['allOf'][1]: {'oneOf': [{'properties': {'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'Arc', 'type': 'string'}}}, - {'properties': {'references': {'maxItems': 3, 'minItems': 3}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'references': {'maxItems': 3, 'minItems': 3}, 'type': {'const': 'ArcWithCenter', - 'type': 'string'}}}, - {'properties': {'radius': {'type': 'number'}, + 'type': 'string'}}, + 'required': ['orientation']}, + {'properties': {'orientation': {'enum': ['cw', 'ccw'], + 'type': 'string'}, + 'radius': {'type': 'number'}, 'references': {'maxItems': 2, 'minItems': 2}, 'type': {'const': 'ArcByChord', 'type': 'string'}}, - 'required': ['radius']}, + 'required': ['radius', 'orientation']}, {'properties': {'radius': {'type': 'number'}, 'references': {'maxItems': 1, 'minItems': 1}, 'type': {'const': 'CircleByCenter', @@ -532,27 +597,27 @@

    'required': ['startTangentVector', 'endTangentVector']}]} On instance['topology']: - {'references': ['P1', 'P2'], - 'type': 'CubicSpline', - 'x-description': 'References is an ordered list of features with ' - 'point geometries, with tangent vectors defining ' - 'entry and exit angles'}

    + {'orientation': 'widdershins', + 'references': ['P1', 'P2'], + 'type': 'ArcByChord', + 'x-description': 'References is an ordered list of features with for ' + 'an Arc Chord, radius and length determine geometry'}
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/chord1>/geojson:topology
    @@ -562,8 +627,8 @@

    -
    +
    Files
    Using example_1_1.json from examples
    @@ -584,21 +649,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology
    @@ -608,8 +673,8 @@

    -
    +
    Files
    Using example_2_1.json from examples
    @@ -630,21 +695,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/arc1>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/arc1>/geojson:topology
    @@ -654,8 +719,8 @@

    -
    +
    Files
    Using example_3_1.json from examples
    @@ -676,21 +741,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/chord1>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/chord1>/geojson:topology
    @@ -700,8 +765,8 @@

    -
    +
    Files
    Using example_4_1.json from examples
    @@ -722,21 +787,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology
    @@ -746,8 +811,8 @@

    -
    +
    Files
    Using example_5_1.json from examples
    @@ -768,21 +833,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology
    @@ -792,8 +857,8 @@

    -
    +
    Files
    Using example_6_1.json from examples
    @@ -814,21 +879,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b1: *none* + - Shape _:n01d8a519fdc3481c840c5f6b8024b2c6b3: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n0657576b56cb4ba89cfc784a376930d2b1: *none* - - Shape _:n0657576b56cb4ba89cfc784a376930d2b3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/1853004>/geojson:topology
    @@ -860,8 +925,8 @@

    -
    +
    Files
    Using example_1_1.json from examples
    @@ -882,21 +947,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: <http://www.example.com/features/LineP1P2>/geojson:topology - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/LineP1P2>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n733c591f59d84ca8ac41dddc60c359ffb1: *none* + - Shape _:n733c591f59d84ca8ac41dddc60c359ffb3: *none*
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n9c41fbb6ab6f4ea0ad26f430ff9b2a07b1: *none* - - Shape _:n9c41fbb6ab6f4ea0ad26f430ff9b2a07b3: *none* +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: <http://www.example.com/features/LineP1P2>/geojson:topology + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/LineP1P2>/geojson:topology
    @@ -928,8 +993,8 @@

    -
    +
    General
    Test was expected to fail and it did.
    @@ -953,6 +1018,14 @@

    JSON Schema
    Validation passed
    SHACL
    +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + Validation Report + Conforms: True +
    +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: <file:///github/workspace/P3>/geojson:geometry,<file:///github/workspace/P1>/geojson:geometry + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: <file:///github/workspace/P3>/geojson:geometry,<file:///github/workspace/P1>/geojson:geometry +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: False @@ -1000,14 +1073,6 @@

    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - Shape topo:testTopoLinesReferencePoints: <file:///github/workspace/LineP1P2>/geojson:topology - Shape topo:testTopoReferencesExist: <file:///github/workspace/LineP1P2>/geojson:topology -
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - Validation Report - Conforms: True -
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n705e1d54953a4de89f89cf57979357deb1: <file:///github/workspace/P3>/geojson:geometry,<file:///github/workspace/P1>/geojson:geometry - - Shape _:n705e1d54953a4de89f89cf57979357deb3: <file:///github/workspace/P3>/geojson:geometry,<file:///github/workspace/P1>/geojson:geometry

    @@ -1017,8 +1082,8 @@

    -
    +
    Files
    Using example_1_1.json from examples
    @@ -1039,21 +1104,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: *none* - - Shape topo:testTopoReferencesExist: *none* +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: <http://www.example.com/features/P2>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: <http://www.example.com/features/P2>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n705e1d54953a4de89f89cf57979357deb1: <http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry - - Shape _:n705e1d54953a4de89f89cf57979357deb3: <http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: *none* + - Shape topo:testTopoReferencesExist: *none*
    @@ -1063,8 +1128,8 @@

    -
    +
    Files
    Using example_2_1.json from examples
    @@ -1085,21 +1150,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: <http://www.example.com/features/LineP1P2>/geojson:topology - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/LineP1P2>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: <http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: <http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n705e1d54953a4de89f89cf57979357deb1: <http://www.example.com/features/P2>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry - - Shape _:n705e1d54953a4de89f89cf57979357deb3: <http://www.example.com/features/P2>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: <http://www.example.com/features/LineP1P2>/geojson:topology + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/LineP1P2>/geojson:topology
    @@ -1109,8 +1174,8 @@

    -
    +
    Files
    Using example_3_1.json from examples
    @@ -1131,21 +1196,21 @@

    JSON Schema
    Validation passed
    SHACL
    -
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: +
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: - - Shape topo:testTopoLinesReferencePoints: <http://www.example.com/features/LineP2P3>/geojson:topology,<http://www.example.com/features/LineP3P1>/geojson:topology,<http://www.example.com/features/LineP1P2>/geojson:topology - - Shape topo:testTopoReferencesExist: <http://www.example.com/features/TriangleP1P2P3>/geojson:topology,<http://www.example.com/features/LineP2P3>/geojson:topology,<http://www.example.com/features/LineP3P1>/geojson:topology,<http://www.example.com/features/LineP1P2>/geojson:topology +
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb1: <http://www.example.com/features/P3>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry + - Shape _:n335b594651194e0f9c16fe7502b8fa8bb3: <http://www.example.com/features/P3>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry,<http://www.example.com/features/P2>/geojson:geometry
    -
    Validation result for _sources/features/topo-feature/tests/geometry-coordinates.shacl: +
    Validation result for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: Validation Report Conforms: True
    -
    Focus nodes for _sources/features/topo-feature/tests/geometry-coordinates.shacl: - - Shape _:n705e1d54953a4de89f89cf57979357deb1: <http://www.example.com/features/P2>/geojson:geometry,<http://www.example.com/features/P3>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry - - Shape _:n705e1d54953a4de89f89cf57979357deb3: <http://www.example.com/features/P2>/geojson:geometry,<http://www.example.com/features/P3>/geojson:geometry,<http://www.example.com/features/P1>/geojson:geometry +
    Focus nodes for _sources/features/topo-feature-collection/tests/topo-refs-exist.shacl: + - Shape topo:testTopoLinesReferencePoints: <http://www.example.com/features/LineP2P3>/geojson:topology,<http://www.example.com/features/LineP3P1>/geojson:topology,<http://www.example.com/features/LineP1P2>/geojson:topology + - Shape topo:testTopoReferencesExist: <http://www.example.com/features/TriangleP1P2P3>/geojson:topology,<http://www.example.com/features/LineP2P3>/geojson:topology,<http://www.example.com/features/LineP3P1>/geojson:topology,<http://www.example.com/features/LineP1P2>/geojson:topology