# baseURI: http://linked.data.gov.au/def/geox
# imports: http://linked.data.gov.au/def/datatype
# imports: http://www.opengis.net/ont/geosparql
# prefix: geox
@prefix auspix: .
@prefix data: .
@prefix dcterms: .
@prefix geo: .
@prefix geox: .
@prefix owl: .
@prefix rdf: .
@prefix rdfs: .
@prefix sdo: .
@prefix skos: .
@prefix xsd: .
a owl:Ontology ;
dcterms:created "2019-01-08"^^xsd:date ;
dcterms:creator ;
dcterms:creator ;
dcterms:license ;
dcterms:modified "2020-06-24"^^xsd:date ;
dcterms:publisher ;
dcterms:requires ;
dcterms:requires ;
dcterms:requires ;
rdfs:comment "An extension to [GeoSPARQL](http://www.opengeospatial.org/standards/geosparql) with new features for the representation of additional elements of feature geometry, such as spatial-resolution, length, area and volume. " ;
rdfs:label "GeoSPARQL Extensions Ontology"@en ;
rdfs:seeAlso ;
owl:imports ;
owl:imports ;
owl:versionIRI ;
skos:changeNote "Added BBox" ;
skos:changeNote "Added support for DGGS encoding of geometry" ;
skos:changeNote "This iteration uses the AGLDWG data-types vocabulary for quantities. " ;
skos:editorialNote "The specific elements of this ontology have been created to facilitate use cases generated by the [LocI project](http://loci.cat).These elements will be submitted for consideration for future editions of the GeoSPARQL ontology." ;
sdo:codeRepository "https://github.com/CSIRO-enviro-informatics/geosparql-ext-ont/"^^xsd:anyURI ;
.
geox:BBox
a owl:Class ;
rdfs:comment """The two corners should be specified using the same CRS.
The edges/faces of the box align with the axes of the CRS used for the corners.""" ;
rdfs:label "Bounding box" ;
rdfs:subClassOf geo:Geometry ;
rdfs:subClassOf [
a owl:Restriction ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty geox:lowerLeft ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty geox:upperRight ;
] ;
skos:example """
ex:BB99
rdf:type geox:BBox ;
geox:lowerLeft \" POINT(138 -29.5)\"^^geo:wktLiteral ;
geox:upperRight \" POINT(155 -9)\"^^geo:wktLiteral ;
.
ex:BB88
rdf:type geox:BBox ;
geox:lowerLeft \"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[138, -29.179266]}\"^^rdf:JSON ;
geox:upperRight \"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[153.577908, -8.998516]}\"^^rdf:JSON ;
.""" ;
.
geox:SpatialMeasure
a owl:Class ;
rdfs:label "Spatial measure" ;
rdfs:subClassOf data:QuantitativeMeasure ;
rdfs:subClassOf [
a owl:Restriction ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty geox:inCRS ;
] ;
skos:definition "Scalar quantity computed or defined within a specified coordinate reference system" ;
skos:example """auspix:R7430551
rdf:type geo:Feature ;
geox:hasArea [
rdf:type geox:SpatialMeasure ;
data:uncertainty 1.5 ;
data:unit ;
data:value 17793623.0 ;
] ;
.""" ;
.
geox:asDGGS
a owl:DatatypeProperty ;
dcterms:created "2020-05-27"^^xsd:date ;
rdfs:comment "The serialization of a geometry as a list of DGGS cell identifiers"@aus ;
rdfs:domain geo:Geometry ;
rdfs:label "asDGGS"@en ;
rdfs:range geox:dggsLiteral ;
rdfs:subPropertyOf geo:hasSerialization ;
skos:example """
ex:G99 a geo:Geometry ;
geox:asDGGS \"R7430550 R7430551 R7430552\"^^dggsLiteral ; # rHealPIX identifiers
.""" ;
.
geox:dggsLiteral
a rdfs:Datatype ;
dcterms:date "2020-05-27"^^xsd:date ;
dcterms:description "A serialization of a geometry object, as a list of rHealPIX cell identifiers."@en ;
rdfs:label "DGGS Literal"@en ;
owl:equivalentClass [
a rdfs:Datatype ;
owl:onDatatype xsd:string ;
owl:withRestrictions (
[
xsd:pattern "([N-S][0-8]+)( ([N-S][0-8]+))*" ;
]
) ;
] ;
skos:example """
ex:G99 a geo:Geometry ;
geox:asDGGS \"R7430550 R7430551 R7430552\"^^dggsLiteral ;
.""" ;
.
geox:hasArea
a owl:ObjectProperty ;
rdfs:comment "The area of a spatial object, expressed as a scaled number" ;
rdfs:domain geo:SpatialObject ;
rdfs:label "has area" ;
rdfs:range geox:SpatialMeasure ;
skos:example """
auspix:R7430551
rdf:type geo:Feature ;
geox:hasArea [
data:uncertainty 1.5 ;
data:unit ;
data:value 17793623.0 ;
] ;
geo:hasGeometry [
rdf:type sf:Polygon ;
geo:asWKT \"POLYGON((131.02880658436214 -25.331112553792963 , 131.06995884773661 -25.331112553792963 , 131.06995884773661 -25.36980468021464 , 131.02880658436214 -25.36980468021464 , 131.02880658436214 -25.331112553792963))\"^^geo:wktLiteral ;
] ;
rdfs:seeAlso ;
.""" ;
.
geox:hasAreaM2
a owl:ObjectProperty ;
rdfs:comment "The area of the spatial object in m^2" ;
rdfs:label "has area in m2" ;
rdfs:range [
a owl:Class ;
rdfs:subClassOf geox:SpatialMeasure ;
rdfs:subClassOf [
a owl:Restriction ;
owl:hasValue ;
owl:onProperty data:unit ;
] ;
] ;
rdfs:subPropertyOf geox:hasArea ;
skos:example """
auspix:R7430551
rdf:type geo:Feature ;
geox:hasAreaM2 [
data:value 17793623.0 ;
] ;
geo:hasGeometry [
rdf:type sf:Polygon ;
geo:asWKT \"POLYGON((131.02880658436214 -25.331112553792963 , 131.06995884773661 -25.331112553792963 , 131.06995884773661 -25.36980468021464 , 131.02880658436214 -25.36980468021464 , 131.02880658436214 -25.331112553792963))\"^^geo:wktLiteral ;
] ;
rdfs:seeAlso ;
.""" ;
.
geox:hasBBox
a owl:ObjectProperty ;
rdfs:comment "the bounding box or envelope of the feature" ;
rdfs:label "has bounding box" ;
rdfs:range geox:BBox ;
rdfs:subPropertyOf geo:hasGeometry ;
skos:example """
auspix:R7430551 a geo:Feature ;
geox:hasBBox [
rdf:type geox:BBox ;
geox:lowerLeft \" POINT(131.02880658436214 -25.36980468021464)\"^^geo:wktLiteral ;
geox:upperRight \" POINT(131.06995884773661 -25.331112553792963)\"^^geo:wktLiteral ;
] ;
geox:hasCentroid [
rdf:type sf:Point ;
geo:asWKT \"POINT(131.0493827160494, -25.350457086495783)\"^^geo:wktLiteral ;
] ;
geo:hasGeometry [
rdf:type sf:Polygon ;
geo:asWKT \"POLYGON((131.02880658436214 -25.331112553792963 , 131.06995884773661 -25.331112553792963 , 131.06995884773661 -25.36980468021464 , 131.02880658436214 -25.36980468021464 , 131.02880658436214 -25.331112553792963))\"^^geo:wktLiteral ;
] ;
rdfs:seeAlso ;
.""" ;
.
geox:hasCentroid
a owl:ObjectProperty ;
rdfs:comment "link to the geometric centroid, which is the arithmetic mean position of all the points in the 2-D figure" ;
rdfs:label "has centroid" ;
rdfs:range [
a owl:Class ;
owl:unionOf (
) ;
] ;
rdfs:subPropertyOf geo:hasGeometry ;
skos:example """
auspix:R7430551 a geo:Feature ;
geox:hasCentroid [
rdf:type sf:Point ;
geo:asWKT \"POINT(131.0493827160494, -25.350457086495783)\"^^geo:wktLiteral ;
] ;
geo:hasGeometry [
rdf:type sf:Polygon ;
geo:asWKT \"POLYGON((131.02880658436214 -25.331112553792963 , 131.06995884773661 -25.331112553792963 , 131.06995884773661 -25.36980468021464 , 131.02880658436214 -25.36980468021464 , 131.02880658436214 -25.331112553792963))\"^^geo:wktLiteral ;
] ;
rdfs:seeAlso ;
.""" ;
.
geox:hasLength
a owl:ObjectProperty ;
rdfs:comment "The length of a spatial object, expressed as a scaled number" ;
rdfs:domain geo:SpatialObject ;
rdfs:label "has length" ;
rdfs:range geox:SpatialMeasure ;
skos:example """
my:road456
:hasLength [
data:uncertainty 5.0 ;
data:unit ;
data:value 234.0 ;
] ;
.""" ;
.
geox:hasLengthM
a owl:ObjectProperty ;
rdfs:comment "The length of a spatial object in metres" ;
rdfs:label "has length in m" ;
rdfs:range [
a owl:Class ;
rdfs:subClassOf data:QuantitativeMeasure ;
rdfs:subClassOf [
a owl:Restriction ;
owl:hasValue ;
owl:onProperty data:unit ;
] ;
] ;
rdfs:subPropertyOf geox:hasLength ;
skos:example """
my:road456
:hasLengthM [
data:value 234.0 ;
] ;
.""" ;
.
geox:hasResolution
a owl:ObjectProperty ;
rdfs:comment "The spatial resolution of the Geometry object, expressed as a linear measurement." ;
rdfs:domain geo:Geometry ;
rdfs:label "has spatial resolution" ;
rdfs:range data:QuantitativeMeasure ;
skos:altLabel "spatial resolution" ;
skos:example """
my:image456
:hasResolution [
data:unit ;
data:value 30.0 ;
] ;
.""" ;
skos:usageNote "This is only to be used for geoGeometry objects. If you want to talk about the precision of things like area, that's regular QUDT business." ;
.
geox:hasResolutionM
a owl:ObjectProperty ;
rdfs:comment "The spatial resolution of the Geometry object, expressed as a linear distance in metres" ;
rdfs:domain geo:Geometry ;
rdfs:label "has spatial resolution in metres" ;
rdfs:range [
a owl:Class ;
rdfs:subClassOf data:QuantitativeMeasure ;
rdfs:subClassOf [
a owl:Restriction ;
owl:hasValue ;
owl:onProperty data:unit ;
] ;
] ;
rdfs:subPropertyOf geox:hasResolution ;
skos:altLabel "spatial resolution" ;
skos:example """
my:image456
:hasResolutionM [
data:value 30.0 ;
] ;
.""" ;
skos:usageNote "This is only to be used for geoGeometry objects. If you want to talk about the precision of things like area, that's regular QUDT or DQV business" ;
.
geox:hasVolume
a owl:ObjectProperty ;
rdfs:comment "The volume of a spatial object, expressed as a scaled number" ;
rdfs:domain geo:SpatialObject ;
rdfs:label "has volume" ;
rdfs:range geox:SpatialMeasure ;
skos:example """
my:swimmingPool99
:hasVolume [
data:unit ;
data:value 3050.0 ;
] ;
.""" ;
.
geox:hasVolumeM3
a owl:ObjectProperty ;
rdfs:comment "The volume of a spatial object in cubic-metres" ;
rdfs:label "has volume in m3" ;
rdfs:range [
a owl:Class ;
rdfs:subClassOf data:QuantitativeMeasure ;
rdfs:subClassOf [
a owl:Restriction ;
owl:hasValue ;
owl:onProperty data:unit ;
] ;
] ;
rdfs:subPropertyOf geox:hasVolume ;
skos:example """
my:swimmingPool99
:hasVolumeM3 [
data:value 3050.0 ;
] ;
.""" ;
.
geox:inCRS
a owl:ObjectProperty ;
rdfs:comment """Geometry, position or measure is defined or computed using this CRS.
The CRS should be denoted by a URI Reference to a CRS definition, e.g. https://www.opengis.net/def/crs/EPSG/0/4326""" ;
rdfs:label "In Coordinate Reference System" ;
skos:example """
auspix:R7430551
rdf:type geo:Feature ;
geox:hasArea [
rdf:type geox:SpatialMeasure ;
data:uncertainty 1.5 ;
data:unit ;
data:value 17793623.0 ;
geox:inCRS ;
] ;
.""" ;
.
geox:isGeometryOf
a owl:ObjectProperty ;
rdfs:comment "link from a geometry object to the feature(s) for which it is a geometry" ;
rdfs:domain geo:Geometry ;
rdfs:label "is geometry of" ;
rdfs:range geo:Feature ;
owl:inverseOf geo:hasGeometry ;
skos:definition "link from a geometry object to the feature(s) for which it is a geometry" ;
skos:example """
ex:PR7430551
rdf:type sf:Polygon ;
geo:asWKT \"POLYGON((131.02880658436214 -25.331112553792963 , 131.06995884773661 -25.331112553792963 , 131.06995884773661 -25.36980468021464 , 131.02880658436214 -25.36980468021464 , 131.02880658436214 -25.331112553792963))\"^^geo:wktLiteral ;
geox:isGeometryOf auspix:R7430551 ;
rdfs:seeAlso ;
.
""" ;
.
geox:lowerLeft
a owl:DatatypeProperty ;
rdfs:comment "position of lower-left corner of box, expressed as a POINT. " ;
rdfs:domain geox:BBox ;
rdfs:label "lower-left" ;
rdfs:range rdfs:Literal ;
skos:example """
<> geox:lowerLeft \" POINT(138 -29.5)\"^^geo:wktLiteral .
<> geox:lowerLeft \"POINT(138 -29.5)\"^^geo:wktLiteral .""" ;
.
geox:transitiveSfOverlap
a owl:DeprecatedProperty ;
a owl:ObjectProperty ;
rdfs:comment "The domain object overlaps (geo:sfOverlaps) the range object by virtue of both objects containing (geo:sfContains) an intermediary object." ;
rdfs:domain geo:SpatialObject ;
rdfs:prefLabel "transitive Simple Features overlaps" ;
rdfs:range geo:SpatialObject ;
rdfs:subPropertyOf geo:sfOverlaps ;
owl:deprecated true ;
owl:propertyChainAxiom (
geo:sfContains
geo:sfWithin
) ;
skos:altLabel "proportional overlap" ;
skos:editorialNote "This property is not needed - it is not a true sub-property, it is a rule to infer overlap from the existence of a common contained feature ... it is actually more like a record of the _provenance_ of an sfOverlaps property. That information would be better managed as part of a linking statement. " ;
skos:usageNote "if ex:A geo:sfContains ex:X and ex:B geo:sfContains :ex:X, using the declaration of geo:sfWithin in this ontology with an owl:inverseOf to geo:sfOverlaps, we can interpret the second triple as ex:X geo:sfWithin :B and then ex:A geo:sf:Overlaps ex:B with proportionally, being contained in the relative areas of A, B & X" ;
.
geox:upperRight
a owl:DatatypeProperty ;
rdfs:comment "position of upper-right corner of box, expressed as a POINT. " ;
rdfs:domain geox:BBox ;
rdfs:label "upper-right" ;
rdfs:range rdfs:Literal ;
skos:example """
<> geox:upperRight \"POINT(155 -9)\"^^geo:wktLiteral .
<> geox:upperRight \" POINT(155 -9)\"^^geo:wktLiteral .
""" ;
.
a owl:NamedIndividual ;
a sdo:Person ;
sdo:affiliation [
sdo:identifier "http://catalogue.linked.data.gov.au/org/csiro"^^xsd:anyURI ;
sdo:name "CSIRO" ;
] ;
sdo:email ;
sdo:identifier "https://orcid.org/0000-0002-3884-3420"^^xsd:anyURI ;
sdo:name "Simon J D Cox" ;
sdo:subjectOf ;
.
a owl:NamedIndividual ;
a sdo:Person ;
sdo:affiliation [
sdo:name "Surround Australia" ;
sdo:url ;
] ;
sdo:email ;
sdo:name "Nicholas J Car" ;
sdo:url ;
.
a owl:NamedIndividual ;
a sdo:Organization ;
sdo:name "CSIRO" ;
rdfs:seeAlso ;
sdo:url ;
.