@prefix : <http://sweetontology.net/reprMath/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@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 sorepm: <http://sweetontology.net/reprMath/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sorep: <http://sweetontology.net/repr/> .
@prefix sorelm: <http://sweetontology.net/relaMath/> .
@base <http://sweetontology.net/reprMath> .

<http://sweetontology.net/reprMath> rdf:type owl:Ontology ;
                                     owl:imports <http://sweetontology.net/relaMath> ,
                                                 <http://sweetontology.net/repr> ;
                                     rdfs:label "SWEET Ontology Representation Mathematics" ;
                                     dcterms:license <https://creativecommons.org/publicdomain/zero/1.0/> ;
                                     owl:versionInfo "3.6.0" .

#################################################################
#    Property declarations added to work around cyclic dependencies
#################################################################


###  http://sweetontology.net/relaMath/eachElementHasType
sorelm:eachElementHasType rdf:type owl:ObjectProperty .


###  http://sweetontology.net/relaMath/hasDimension
sorelm:hasDimension rdf:type owl:DatatypeProperty .


###  http://sweetontology.net/relaMath/hasFirstOperand
sorelm:hasFirstOperand rdf:type owl:ObjectProperty .


###  http://sweetontology.net/relaMath/hasLowerBound
sorelm:hasLowerBound rdf:type owl:DatatypeProperty .


###  http://sweetontology.net/relaMath/hasSecondOperand
sorelm:hasSecondOperand rdf:type owl:ObjectProperty .


###  http://sweetontology.net/relaMath/hasThirdOperand
sorelm:hasThirdOperand rdf:type owl:ObjectProperty .


###  http://sweetontology.net/relaMath/hasUpperBound
sorelm:hasUpperBound rdf:type owl:DatatypeProperty .


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

###  http://sweetontology.net/reprMath/Array
sorepm:Array rdf:type owl:Class ;
           rdfs:subClassOf sorepm:Seq ;
           rdfs:label "array"@en .


###  http://sweetontology.net/reprMath/Bag
sorepm:Bag rdf:type owl:Class ;
         owl:equivalentClass sorepm:Multiset ;
         rdfs:subClassOf sorepm:Container ;
         rdfs:label "bag"@en .


###  http://sweetontology.net/reprMath/Collection
sorepm:Collection rdf:type owl:Class ;
                rdfs:subClassOf sorepm:NumericalEntity ;
                rdfs:label "collection"@en .


###  http://sweetontology.net/reprMath/Constant
sorepm:Constant rdf:type owl:Class ;
              rdfs:subClassOf sorepm:NumericalEntity ;
              rdfs:label "constant"@en .


###  http://sweetontology.net/reprMath/Container
sorepm:Container rdf:type owl:Class ;
               rdfs:subClassOf sorepm:NumericalEntity ;
               rdfs:label "container"@en .


###  http://sweetontology.net/reprMath/Equation
sorepm:Equation rdf:type owl:Class ;
              rdfs:subClassOf sorepm:Relation ;
              rdfs:label "equation"@en .


###  http://sweetontology.net/reprMath/Exponent
sorepm:Exponent rdf:type owl:Class ;
              rdfs:subClassOf sorepm:NumericalEntity ;
              rdfs:label "exponent"@en .


###  http://sweetontology.net/reprMath/FuzzyPoint
sorepm:FuzzyPoint rdf:type owl:Class ;
                rdfs:subClassOf sorepm:Neighborhood ;
                rdfs:label "fuzzy point"@en .


###  http://sweetontology.net/reprMath/FuzzySet
sorepm:FuzzySet rdf:type owl:Class ;
              rdfs:subClassOf sorepm:NumericalEntity ;
              rdfs:label "fuzzy set"@en .


###  http://sweetontology.net/reprMath/Inequality
sorepm:Inequality rdf:type owl:Class ;
                rdfs:subClassOf sorepm:Relation ;
                rdfs:label "inequality"@en .


###  http://sweetontology.net/reprMath/Interval
sorepm:Interval rdf:type owl:Class ;
              rdfs:subClassOf sorepm:NumericalEntity ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty sorelm:hasDimension ;
                                owl:hasValue 1
                              ] ;
              owl:disjointWith sorepm:Point ;
              rdfs:label "interval"@en .


###  http://sweetontology.net/reprMath/Matrix
sorepm:Matrix rdf:type owl:Class ;
            rdfs:subClassOf sorepm:Seq ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty sorelm:eachElementHasType ;
                              owl:allValuesFrom sorepm:Array
                            ] ;
            rdfs:label "matrix"@en .


###  http://sweetontology.net/reprMath/Multiset
sorepm:Multiset rdf:type owl:Class ;
              rdfs:label "multiset"@en .


###  http://sweetontology.net/reprMath/Neighborhood
sorepm:Neighborhood rdf:type owl:Class ;
                  rdfs:subClassOf sorepm:NumericalEntity ;
                  rdfs:label "neighborhood"@en .


###  http://sweetontology.net/reprMath/NumericalEntity
sorepm:NumericalEntity rdf:type owl:Class ;
                     rdfs:subClassOf sorep:Representation ;
                     rdfs:label "numerical entity"@en .


###  http://sweetontology.net/reprMath/Order
sorepm:Order rdf:type owl:Class ;
           owl:equivalentClass sorepm:Seq ;
           rdfs:label "order"@en .


###  http://sweetontology.net/reprMath/OrderedPair
sorepm:OrderedPair rdf:type owl:Class ;
                 rdfs:subClassOf sorep:D ,
                                 sorepm:Array ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty sorelm:hasFirstOperand ;
                                   owl:cardinality "1"^^xsd:nonNegativeInteger
                                 ] ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty sorelm:hasSecondOperand ;
                                   owl:cardinality "1"^^xsd:nonNegativeInteger
                                 ] ;
                 rdfs:label "ordered pair"@en .


###  http://sweetontology.net/reprMath/OrderedTriple
sorepm:OrderedTriple rdf:type owl:Class ;
                   rdfs:subClassOf sorep:D ,
                                   sorepm:Array ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty sorelm:hasFirstOperand ;
                                     owl:cardinality "1"^^xsd:nonNegativeInteger
                                   ] ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty sorelm:hasSecondOperand ;
                                     owl:cardinality "1"^^xsd:nonNegativeInteger
                                   ] ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty sorelm:hasThirdOperand ;
                                     owl:cardinality "1"^^xsd:nonNegativeInteger
                                   ] ;
                   rdfs:label "ordered triple"@en .


###  http://sweetontology.net/reprMath/Point
sorepm:Point rdf:type owl:Class ;
           rdfs:subClassOf sorepm:NumericalEntity ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty sorelm:hasDimension ;
                             owl:hasValue 0
                           ] ;
           rdfs:label "point"@en .


###  http://sweetontology.net/reprMath/Relation
sorepm:Relation rdf:type owl:Class ;
              rdfs:subClassOf sorepm:NumericalEntity ;
              rdfs:label "relation"@en .


###  http://sweetontology.net/reprMath/Scalar
sorepm:Scalar rdf:type owl:Class ;
            rdfs:subClassOf sorepm:NumericalEntity ;
            owl:disjointWith sorepm:Vector ;
            rdfs:label "scalar"@en .


###  http://sweetontology.net/reprMath/Seq
sorepm:Seq rdf:type owl:Class ;
         owl:equivalentClass sorepm:Sequence ;
         rdfs:subClassOf sorepm:Container ;
         rdfs:label "seq"@en .


###  http://sweetontology.net/reprMath/Sequence
sorepm:Sequence rdf:type owl:Class ;
              rdfs:label "sequence"@en .


###  http://sweetontology.net/reprMath/Set
sorepm:Set rdf:type owl:Class ;
         rdfs:subClassOf sorepm:Bag ;
         rdfs:label "set"@en .


###  http://sweetontology.net/reprMath/Tensor
sorepm:Tensor rdf:type owl:Class ;
            rdfs:subClassOf sorepm:Seq ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty sorelm:eachElementHasType ;
                              owl:allValuesFrom sorepm:Matrix
                            ] ;
            rdfs:label "tensor"@en .


###  http://sweetontology.net/reprMath/UnorderedPair
sorepm:UnorderedPair rdf:type owl:Class ;
                   rdfs:subClassOf sorep:D ,
                                   sorepm:Bag ;
                   rdfs:label "unordered pair"@en .


###  http://sweetontology.net/reprMath/Variable
sorepm:Variable rdf:type owl:Class ;
              rdfs:subClassOf sorepm:NumericalEntity ;
              rdfs:label "variable"@en .


###  http://sweetontology.net/reprMath/Vector
sorepm:Vector rdf:type owl:Class ;
            rdfs:subClassOf sorepm:Array ;
            rdfs:label "vector"@en .


###  http://sweetontology.net/reprMath/Vector_3D
sorepm:Vector_3D rdf:type owl:Class ;
               rdfs:subClassOf sorep:D ,
                               sorepm:Vector ;
               rdfs:label "vector 3d"@en .


###  http://sweetontology.net/reprMath/Window
sorepm:Window rdf:type owl:Class ;
            rdfs:subClassOf sorepm:Interval ;
            rdfs:label "window"@en .


#################################################################
#    Individuals
#################################################################

###  http://sweetontology.net/reprMath/NormalizedRange
sorepm:NormalizedRange rdf:type owl:NamedIndividual ,
                              sorepm:Interval ;
                     sorelm:hasLowerBound "0.0"^^xsd:decimal ;
                     sorelm:hasUpperBound "1.0"^^xsd:decimal ;
                     rdfs:label "normalized range"@en .

###  Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi
