opengeospatial / ogc-geosparql

Public Repository for the OGC GeoSPARQL Standards Working Group
71 stars 19 forks source link

1.1: define the range (outgoing props) of geo:hasSpatialResolution #508

Open VladimirAlexiev opened 4 months ago

VladimirAlexiev commented 4 months ago

10.7.4. Property: geo:hasSpatialResolution https://docs.ogc.org/is/22-047r1/22-047r1.html#10-7-4-%C2%A0-property-geo-hasspatialresolution doesn't define a range for that prop, and there is none in geo.ttl.

There is a link to https://docs.ogc.org/is/22-047r1/22-047r1.html#_recommendation_for_units_of_measure, which gives it as an example and refers to QUDT, but doesn't specify the exact properties to use.

https://docs.ogc.org/is/22-047r1/22-047r1.html#c-1-2-2-%C2%A0-feature-properties and https://docs.ogc.org/is/22-047r1/22-047r1.html#c-1-2-3-%C2%A0-geometry-properties give examples of using that with specific props:

geo:hasSpatialAccuracy [
            qudt:numericValue "30"^^xsd:float ;
            qudt:unit unit:CentiM ;  # centimetres
        ] ;

These two props don't have a defined domain in http://qudt.org/2.1/schema/qudt. However, http://qudt.org/vocab/constant/ uses them with a domain (class) qudt:ConstantValue. I think the question "Is spatial accuracy a constant value?" can be answered affirmatively. Alternatively, you could define a class geo:NumericValue to host these 2 props.

I understand that "recommendation_for_units_of_measure" only suggests but doesn't mandate QUDT units. However, I think it is to the spec's benefit to fix which props are used with hasSpatialResolution. Otherwise users would not know what data to put at the end of hasSpatialResolution

mperry455 commented 3 months ago

As discussed in 03/06/2024 SWG meeting, we have purposely omitted an rdfs:range for geo:hasSpatialResolution to avoid overly restricting to a specific units of measure vocabulary and simply recommend a unit of measure vocabulary for geo:hasSpatialResolution as we do for other properties in the spec. geo:hasMetricSpatialResolution has rdfs:range xsd:double because it is defined specifically to be in Meters.

VladimirAlexiev commented 3 months ago

@mperry455

to avoid overly restricting to a specific units of measure vocabulary

Keeping the choice of UoM open is fine. However, I'm arguing to fix what are the outgoing props (your examples use qudt:numericValue, qudt:unit). If you don't do that, the user cannot query hasSpatialResolution because he would have no idea what follows.