@prefix dc: .
@prefix rdfs: .
@prefix voaf: .
@prefix gm: .
@prefix basic: .
@prefix dct: .
@prefix xsd: .
@prefix owl: .
@prefix vann: .
@prefix rdf: .
@prefix h2o: .
@prefix skos: .
a voaf:Vocabulary ;
owl:priorVersion ;
owl:versionIRI ;
dct:hasPart gm:Curve .
gm:Curve a owl:Class .
dct:license ;
dct:created "2010-10-27"^^xsd:string ;
dct:hasPart gm:Surface .
gm:Surface a owl:Class .
vann:preferredNamespaceUri ;
rdfs:comment """An OWL representation of part of the model for geometry and space from ISO 19107:2003 Geographic Information - Spatial Schema.
This vocabulary is provisional, pending finalization of ISO 19150-2.
The URI stem http://def.seegrid.csiro.au/isotc211/ is temporary. The vocabulary is expected to be ultimately published in the domain http://def.isotc211.org/."""^^xsd:string ;
dct:hasPart gm:Object .
gm:Object a owl:Class .
vann:preferredNamespacePrefix "gm"^^xsd:string ;
dct:hasPart gm:Position .
gm:Position a owl:Class .
dct:hasPart gm:Primitive .
gm:Primitive a owl:Class .
dct:hasPart gm:boundingBox .
gm:boundingBox a owl:ObjectProperty .
dc:source "ISO 19107:2003"^^rdf:PlainLiteral ;
dc:creator """Simon Jonathan David COX
CSIRO"""^^rdf:PlainLiteral ;
dc:description "An OWL representation of part of the model for geometry and space from ISO 19107:2003 Geographic Information - Spatial Schema"^^xsd:string ;
dct:hasPart gm:Complex .
gm:Complex a owl:Class .
owl:imports ;
dct:hasPart gm:Envelope .
gm:Envelope a owl:Class .
dct:hasPart gm:position .
gm:position a owl:ObjectProperty .
dct:hasPart gm:OrientablePrimitive .
gm:OrientablePrimitive a owl:Class .
dct:hasPart gm:Aggregate .
gm:Aggregate a owl:Class .
owl:imports ;
dct:hasPart gm:upperCorner .
gm:upperCorner a owl:ObjectProperty .
dct:hasPart gm:srs .
gm:srs a owl:ObjectProperty .
dct:hasPart gm:coordinates .
gm:coordinates a owl:DatatypeProperty .
a owl:Ontology ;
dct:hasPart gm:lowerCorner .
gm:lowerCorner a owl:ObjectProperty .
dct:hasPart gm:OrientableCurve .
gm:OrientableCurve a owl:Class .
dct:modified "2013-11-14"^^xsd:string ;
dct:hasPart gm:Solid .
gm:Solid a owl:Class .
dc:title "OWL representation of ISO 19107 (Geographic Information - Spatial Schema)"^^xsd:string ;
dct:hasPart gm:Point .
gm:Point a owl:Class .
dc:rights "Copyright © 2012-2013 CSIRO"^^xsd:string ;
dct:hasPart gm:OrientableSurface .
gm:OrientableSurface a owl:Class .
gm:OrientableCurve owl:equivalentClass ;
skos:notation "GM_OrientableCurve"^^h2o:ISOClassName ;
rdfs:isDefinedBy ;
rdfs:subClassOf gm:OrientablePrimitive ;
rdfs:label "Orientable Curve"^^xsd:string .
gm:OrientableSurface owl:equivalentClass ;
skos:notation "GM_OrientableSurface"^^h2o:ISOClassName ;
rdfs:subClassOf gm:OrientablePrimitive ;
rdfs:label "Orientable Surface"^^xsd:string ;
rdfs:isDefinedBy .
gm:Complex owl:equivalentClass ;
h2o:isAbstract "true"^^xsd:boolean ;
rdfs:subClassOf gm:Object ;
rdfs:comment """geometric complex
set of disjoint geometric primitives such that the boundary of each primitive can be represented as the union of other geometric primitives within the complex
NOTE: The geometric primitives in the set are mutually exclusive in the sense that no point is interior to more than one primitive. The set is closed under boundary operations, meaning that for each element in the complex, there is a collection (also a complex) of geometric primitives that represents the boundary of that element."""^^xsd:string ;
skos:notation "GM_Complex"^^h2o:ISOClassName ;
rdfs:isDefinedBy ;
rdfs:label "Geometry Complex"^^xsd:string .
gm:Position rdfs:subClassOf _:node18h1dath8x12 .
_:node18h1dath8x12 a owl:Restriction ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty gm:srs .
gm:Position skos:notation "DirectPosition"^^h2o:ISOClassName ;
rdfs:subClassOf _:node18h1dath8x13 .
_:node18h1dath8x13 a owl:Restriction ;
owl:onProperty gm:coordinates ;
owl:minCardinality "1"^^xsd:nonNegativeInteger .
gm:Position rdfs:isDefinedBy ;
rdfs:comment "DirectPosition object data types (Figure 14) hold the coordinates for a position within some coordinate reference system. The coordinate reference system is described in ISO 19111. Since DirectPositions, as data types, will often be included in larger objects (such as GM_Objects) that have references to ISO19111::SC_CRS, the DirectPosition::cordinateReferenceSystem may be left NULL if this particular DirectPosition is included in a larger object with such a reference to a SC_CRS. In this case, the DirectPosition::coordinateReferenceSystem is implicitly assumed to take on the value of the containing object's SC_CRS."^^xsd:string ;
rdfs:label "Geometry position"^^xsd:string .
gm:Point owl:equivalentClass ;
rdfs:subClassOf gm:Primitive ;
rdfs:isDefinedBy ;
skos:notation "GM_Point"^^h2o:ISOClassName ;
rdfs:label "Spatial point"^^xsd:string ;
rdfs:subClassOf _:node18h1dath8x14 .
_:node18h1dath8x14 a owl:Restriction ;
owl:onProperty gm:position ;
owl:cardinality "1"^^xsd:nonNegativeInteger .
gm:Curve owl:equivalentClass ;
skos:notation "GM_Curve"^^h2o:ISOClassName ;
rdfs:isDefinedBy ;
rdfs:label "Curve"^^xsd:string ;
rdfs:subClassOf gm:OrientableCurve .
gm:Envelope rdfs:comment "GM_Envelope is often referred to as a minimum bounding box or rectangle. Regardless of dimension, a GM_Envelope can be represented without ambiguity as two direct positions (coordinate points). To encode a GM_Envelope, it is sufficient to encode these two points. This is consistent with all of the data types in this standard, their state is represented by their publicly accessible attributes."^^xsd:string ;
rdfs:label "Envelope"^^xsd:string ;
rdfs:subClassOf _:node18h1dath8x15 .
_:node18h1dath8x15 a owl:Restriction ;
owl:onClass gm:Position ;
owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty gm:upperCorner .
gm:Envelope rdfs:subClassOf _:node18h1dath8x16 .
_:node18h1dath8x16 a owl:Restriction ;
owl:onProperty gm:srs ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger .
gm:Envelope rdfs:subClassOf owl:Thing , _:node18h1dath8x17 .
_:node18h1dath8x17 a owl:Restriction ;
owl:onClass gm:Position ;
owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty gm:lowerCorner .
gm:Envelope rdfs:isDefinedBy ;
skos:notation "GM_Envelope"^^h2o:ISOClassName .
gm:Primitive rdfs:isDefinedBy ;
rdfs:subClassOf gm:Object ;
rdfs:label "Geometry Primitive"^^xsd:string ;
rdfs:comment """GM_Primitive (Figure 8) is the abstract root class of the geometric primitives. Its main purpose is to define the basic \"boundary\" operation that ties the primitives in each dimension together. A geometric primitive (GM_Primitive) is a geometric object that is not decomposed further into other primitives in the system. This includes curves and surfaces, even though they are composed of curve segments and surface patches, respectively. This composition is a strong aggregation: curve segments and surface patches cannot exist outside the context of a primitive.
NOTE Most geometric primitives are decomposable infinitely many times. Adding a centre point to a line may split that line into two separate lines. A new curve drawn across a surface may divide that surface into two parts, each of which is a surface. This is the reason that the normal definition of primitive as \"non-decomposable\" is not plausible in a geometry model - the only non-decomposable object in geometry is a point.
Any geometric object that is used to describe a feature is a collection of geometric primitives. A collection of geometric primitives may or may not be a geometric complex. Geometric complexes have additional properties such as closure by boundary operations and mutually exclusive component parts.
GM_Primitive and GM_Complex share most semantics, in the meaning of operations, attributes and associations. There is an exception in that a GM_Primitive shall not contain its boundary (except in the trivial case of GM_Point where the boundary is empty), while a GM_Complex shall contain its boundary in all cases. This means that if an instantiated object implements GM_Object operations both as GM_Primitive and as a GM_Complex, the semantics of each set theoretic operation is determined by the its name resolution. Specifically, for a particular object such as GM_CompositeCurve, GM_Primitive::contains (returns FALSE for end points) is different from GM_Complex::contains (returns TRUE for end points). Further, if that object is cast as a GM_Primitive value and as a GM_Complex value, then the two values need not be equal as GM_Objects."""^^xsd:string ;
skos:notation "GM_Primitive"^^h2o:ISOClassName ;
h2o:isAbstract "true"^^xsd:boolean ;
owl:disjointWith gm:Aggregate ;
owl:equivalentClass ;
owl:disjointWith gm:Complex .
gm:Object rdfs:label "Geometry object"^^xsd:string ;
rdfs:subClassOf owl:Thing ;
h2o:isAbstract "true"^^xsd:boolean ;
rdfs:isDefinedBy ;
rdfs:comment """GM_Object (Figure 6) is the root class of the geometric object taxonomy and supports interfaces common to all geographically referenced geometric objects. GM_Object instances are sets of direct positions in a particular coordinate reference system. A GM_Object can be regarded as an infinite set of points that satisfies the set operation interfaces for a set of direct positions, TransfiniteSet. Since an infinite collection class cannot be implemented directly, a Boolean test for inclusion shall be provided by the GM_Object interface. This international standard concentrates on vector geometry classes, but future work may use GM_Object as a root class without modification.
NOTE As a type, GM_Object does not have a well-defined default state or value representation as a data type. Instantiated subclasses of GM_Object will."""^^xsd:string ;
owl:equivalentClass ;
rdfs:subClassOf _:node18h1dath8x18 .
_:node18h1dath8x18 a owl:Restriction ;
owl:onProperty gm:srs ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger .
gm:Object skos:notation "GM_Object"^^h2o:ISOClassName .
gm:Aggregate skos:notation "GM_Aggregate"^^h2o:ISOClassName ;
h2o:isAbstract "true"^^xsd:boolean ;
rdfs:isDefinedBy ;
rdfs:subClassOf gm:Object ;
rdfs:label "Geometry Aggregate"^^xsd:string .
gm:Surface owl:equivalentClass ;
skos:notation "GM_Surface"^^h2o:ISOClassName ;
rdfs:subClassOf gm:OrientableSurface ;
rdfs:isDefinedBy ;
rdfs:label "Surface"^^xsd:string .
gm:OrientablePrimitive rdfs:isDefinedBy ;
skos:notation "GM_OrientablePrimitive"^^h2o:ISOClassName ;
rdfs:subClassOf gm:Primitive ;
rdfs:label "Orientable primitive"^^xsd:string ;
h2o:isAbstract "true"^^xsd:boolean .
gm:Solid owl:equivalentClass ;
skos:notation "GM_Solid"^^h2o:ISOClassName ;
rdfs:isDefinedBy ;
rdfs:label "Solid"^^xsd:string ;
rdfs:subClassOf gm:Primitive .
gm:boundingBox rdfs:isDefinedBy ;
rdfs:range gm:Envelope ;
rdfs:label "bounding box"^^xsd:string .
gm:srs rdfs:domain _:node18h1dath8x19 .
_:node18h1dath8x19 a owl:Class ;
rdfs:isDefinedBy ;
owl:unionOf _:node18h1dath8x20 .
_:node18h1dath8x20 rdf:first gm:Object ;
rdf:rest _:node18h1dath8x21 .
_:node18h1dath8x21 rdf:first gm:Envelope ;
rdf:rest _:node18h1dath8x22 .
_:node18h1dath8x22 rdf:first gm:Position ;
rdf:rest rdf:nil .
gm:srs rdfs:isDefinedBy ;
rdfs:label "spatial reference system"^^xsd:string .
gm:lowerCorner rdfs:domain gm:Envelope ;
rdfs:range gm:Position ;
rdfs:isDefinedBy ;
rdfs:label "lower corner"^^xsd:string .
gm:upperCorner rdfs:domain gm:Envelope ;
rdfs:range gm:Position ;
rdfs:isDefinedBy ;
rdfs:label "upper corner"^^xsd:string .
gm:position rdfs:isDefinedBy ;
rdfs:range gm:Position ;
rdfs:label "geometric position"^^xsd:string .
gm:coordinates rdfs:domain gm:Position ;
rdfs:isDefinedBy ;
rdfs:label "coordinates"^^xsd:string .