@prefix gist: <https://w3id.org/semanticarts/ns/ontology/gist/> .
@prefix gistd: <https://w3id.org/semanticarts/ns/data/gist/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

gist:Account owl:equivalentClass [ a owl:Class ;
            owl:intersectionOf ( gist:Agreement [ a owl:Restriction ;
                        owl:onProperty gist:hasMagnitude ;
                        owl:someValuesFrom [ a owl:Restriction ;
                                owl:hasValue gistd:_Aspect_financial_balance ;
                                owl:onProperty gist:hasAspect ] ] ) ] .

gist:ContingentEvent owl:equivalentClass [ a owl:Class ;
            owl:intersectionOf ( gist:Event [ a owl:Restriction ;
                        owl:onProperty gist:hasMagnitude ;
                        owl:someValuesFrom [ a owl:Restriction ;
                                owl:hasValue gistd:_Aspect_probability ;
                                owl:onProperty gist:hasAspect ] ] [ a owl:Restriction ;
                        owl:onProperty gist:isTriggeredBy ;
                        owl:someValuesFrom gist:Event ] ) ] .

gist:GeoRegion rdfs:subClassOf [ a owl:Class ;
            owl:intersectionOf ( gist:GeoLocation [ a owl:Restriction ;
                        owl:onProperty gist:hasMagnitude ;
                        owl:someValuesFrom [ a owl:Restriction ;
                                owl:hasValue gistd:_Aspect_area ;
                                owl:onProperty gist:hasAspect ] ] ) ] .

gist:GeoVolume owl:equivalentClass [ a owl:Class ;
            owl:intersectionOf ( gist:GeoLocation [ a owl:Restriction ;
                        owl:onProperty gist:hasMagnitude ;
                        owl:someValuesFrom [ a owl:Restriction ;
                                owl:hasValue gistd:_Aspect_volume ;
                                owl:onProperty gist:hasAspect ] ] [ a owl:Restriction ;
                        owl:onProperty [ owl:inverseOf gist:isGeoContainedIn ] ;
                        owl:someValuesFrom gist:GeoPoint ] ) ] .

gist:Magnitude owl:equivalentClass [ a owl:Class ;
            owl:intersectionOf ( [ a owl:Restriction ;
                        owl:onProperty gist:hasAspect ;
                        owl:someValuesFrom gist:Aspect ] [ a owl:Restriction ;
                        owl:onProperty gist:hasUnitOfMeasure ;
                        owl:someValuesFrom gist:UnitOfMeasure ] [ a owl:Restriction ;
                        owl:onProperty gist:numericValue ;
                        owl:someValuesFrom rdfs:Literal ] ) ] .

gist:PhysicalIdentifiableItem rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty gist:hasMagnitude ;
            owl:someValuesFrom [ a owl:Restriction ;
                    owl:hasValue gistd:_Aspect_volume ;
                    owl:onProperty gist:hasAspect ] ],
        [ a owl:Restriction ;
            owl:onProperty gist:hasMagnitude ;
            owl:someValuesFrom [ a owl:Restriction ;
                    owl:hasValue gistd:_Aspect_mass ;
                    owl:onProperty gist:hasAspect ] ] .

gist:PhysicalSubstance rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty gist:hasMagnitude ;
            owl:someValuesFrom [ a owl:Restriction ;
                    owl:hasValue gistd:_Aspect_mass ;
                    owl:onProperty gist:hasAspect ] ],
        [ a owl:Restriction ;
            owl:onProperty gist:hasMagnitude ;
            owl:someValuesFrom [ a owl:Restriction ;
                    owl:hasValue gistd:_Aspect_volume ;
                    owl:onProperty gist:hasAspect ] ] .

gist:TimeInterval rdfs:subClassOf [ a owl:Restriction ;
            owl:onClass [ a owl:Restriction ;
                    owl:hasValue gistd:_Aspect_duration ;
                    owl:onProperty gist:hasAspect ] ;
            owl:onProperty gist:hasMagnitude ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] .

gist:GeoPoint owl:equivalentClass [ a owl:Class ;
            owl:intersectionOf ( [ a owl:Restriction ;
                        owl:onProperty gist:hasMagnitude ;
                        owl:someValuesFrom [ a owl:Restriction ;
                                owl:hasValue gistd:_Aspect_altitude ;
                                owl:onProperty gist:hasAspect ] ] [ a owl:Restriction ;
                        owl:onProperty gist:latitude ;
                        owl:someValuesFrom xsd:double ] [ a owl:Restriction ;
                        owl:onProperty gist:longitude ;
                        owl:someValuesFrom xsd:double ] ) ] .

gist:hasAspect a owl:FunctionalProperty,
        owl:ObjectProperty ;
    rdfs:label "has aspect"^^xsd:string ;
    rdfs:comment "DEFINITION: Relates a magnitude to its aspect (measurable characteristic)."^^xsd:string ;
    rdfs:isDefinedBy <https://w3id.org/semanticarts/ontology/gistCore14.1.0> ;
    rdfs:range gist:Aspect ;
    skos:definition "Relates a magnitude to its aspect (measurable characteristic)."^^xsd:string ;
    skos:prefLabel "has aspect"^^xsd:string .

