@prefix : <https://w3id.org/spot/sg#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <https://w3id.org/spot/sg#> .

<https://w3id.org/spot/sg> rdf:type owl:Ontology ;
                            owl:imports <https://w3id.org/gom> ,
                                        <https://w3id.org/spot/> ;
                            <http://purl.org/dc/terms/abstract> "Extension of the Space Types Ontology (SPOT) for quantitative spatial descriptions. It aligns SPOT with the Geometry Metadata Ontology (GOM), so that spaces can be read as coordinate systems and appearances as transformations between them, forming a scene graph. This enables quantitative location descriptions: the position of a space within another space can be stated and computed numerically. It also adds a compact bounding box for spaces."@en ;
                            <http://purl.org/dc/terms/bibliographicCitation> "Schulz, O. (2026, October 6). SPOT Scene Graph (Version 1.0.0) [Ontology]. Design Computation, RWTH Aachen University. https://w3id.org/spot/sg"@en ;
                            <http://purl.org/dc/terms/created> "2026-10-06"^^xsd:date ;
                            <http://purl.org/dc/terms/creator> _:genid1 ;
                            <http://purl.org/dc/terms/issued> "2026-10-06"^^xsd:date ;
                            <http://purl.org/dc/terms/license> <https://creativecommons.org/licenses/by/4.0/> ;
                            <http://purl.org/dc/terms/modified> "2026-10-06"^^xsd:date ;
                            <http://purl.org/dc/terms/title> "SPOT Scene Graph"@en ;
                            <http://purl.org/vocab/vann/preferredNamespacePrefix> "spot-sg" ;
                            <http://purl.org/vocab/vann/preferredNamespaceUri> : ;
                            <http://purl.org/vocommons/voaf#extends> <https://w3id.org/spot/> ;
                            rdfs:label "SPOT-Scene Graph Extension"@en ;
                            owl:versionInfo "1.0.0" .

_:genid1 rdf:type <http://schema.org/Person> ;
          <http://schema.org/affiliation> _:genid2 ;
          <http://schema.org/name> "Oliver Schulz" ;
          <http://schema.org/url> "https://dc.rwth-aachen.de/oliver-schulz/" .

_:genid2 rdf:type <http://schema.org/Organization> ;
          <http://schema.org/name> "Design Computation, RWTH Aachen University" ;
          <http://schema.org/url> "https://dc.rwth-aachen.de/" .

#################################################################
#    Annotation properties
#################################################################

###  http://purl.org/dc/terms/abstract
<http://purl.org/dc/terms/abstract> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/bibliographicCitation
<http://purl.org/dc/terms/bibliographicCitation> rdf:type owl:AnnotationProperty .


###  http://purl.org/vocommons/voaf#extends
<http://purl.org/vocommons/voaf#extends> rdf:type owl:AnnotationProperty .


#################################################################
#    Datatypes
#################################################################

###  https://w3id.org/spot/sg#boundingBoxArray
:boundingBoxArray rdf:type rdfs:Datatype ;
                  rdfs:comment " An array literal encoding a bounding box in the local coordinate system of a Space. It uses a fixed 6-element structure with [minX, minY, minZ, maxX, maxY, maxZ] to ensure consistent parsing regardless of dimensionality. For 2D spaces, an axis value can be set to 0. The units are those of the Space's local coordinate system and may vary across different spaces."@en ;
                  rdfs:label "bounding box array"@en .


#################################################################
#    Object Properties
#################################################################

###  https://w3id.org/gom#fromCoordinateSystem
<https://w3id.org/gom#fromCoordinateSystem> rdf:type owl:ObjectProperty .


###  https://w3id.org/gom#toCoordinateSystem
<https://w3id.org/gom#toCoordinateSystem> rdf:type owl:ObjectProperty .


###  https://w3id.org/spot#appearsIn
<https://w3id.org/spot#appearsIn> rdf:type owl:ObjectProperty ;
                                  rdfs:subPropertyOf <https://w3id.org/gom#toCoordinateSystem> .


###  https://w3id.org/spot#hasAppearance
<https://w3id.org/spot#hasAppearance> rdf:type owl:ObjectProperty .


###  https://w3id.org/spot/sg#isAppearanceOf
:isAppearanceOf rdf:type owl:ObjectProperty ;
                rdfs:subPropertyOf <https://w3id.org/gom#fromCoordinateSystem> ;
                owl:inverseOf <https://w3id.org/spot#hasAppearance> ;
                rdfs:domain <https://w3id.org/spot#Appearance> ;
                rdfs:range <https://w3id.org/spot#EntitySpace> ;
                rdfs:comment "Inverse of spot:hasAppearance. This relates an Appearance to the spot:EntitySpace that it positions. It is declared as a subproperty of gom:fromCoordinateSystem so that the source coordinate system of the transformation is inferred automatically from SPOT's hasAppearance relationship. The main purpose of this property is to bridge SPOT's hasAppearance to GOM's fromCoordinateSystem via the inverse and the subproperty pattern. It is not mandatory to assert this property in the ABox, as it is inferred from spot:hasAppearance."@en ;
                rdfs:label "is appearance of"@en .


#################################################################
#    Data properties
#################################################################

###  https://w3id.org/spot/sg#hasBoundingBox
:hasBoundingBox rdf:type owl:DatatypeProperty ;
                rdfs:domain <https://w3id.org/spot#Space> ;
                rdfs:range :boundingBoxArray ;
                rdfs:comment "Relates a Space to its bounding box in the Space's local coordinate system, encoded as a spot-sg:boundingBoxArray literal."@en ;
                rdfs:label "has bounding box"@en .


#################################################################
#    Classes
#################################################################

###  https://w3id.org/gom#AffineCoordinateSystemTransformation
<https://w3id.org/gom#AffineCoordinateSystemTransformation> rdf:type owl:Class .


###  https://w3id.org/gom#CartesianCoordinateSystem
<https://w3id.org/gom#CartesianCoordinateSystem> rdf:type owl:Class .


###  https://w3id.org/spot#Appearance
<https://w3id.org/spot#Appearance> rdf:type owl:Class ;
                                   rdfs:subClassOf <https://w3id.org/gom#AffineCoordinateSystemTransformation> .


###  https://w3id.org/spot#EntitySpace
<https://w3id.org/spot#EntitySpace> rdf:type owl:Class .


###  https://w3id.org/spot#Space
<https://w3id.org/spot#Space> rdf:type owl:Class ;
                              rdfs:subClassOf <https://w3id.org/gom#CartesianCoordinateSystem> .


###  Generated by the OWL API (version 5.1.18) https://github.com/owlcs/owlapi/
