@prefix : <http://sweetontology.net/reprMathOperation/> .
@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 sorepmf: <http://sweetontology.net/reprMathFunction/> .
@prefix sorepm: <http://sweetontology.net/reprMath/> .
@prefix sorepmo: <http://sweetontology.net/reprMathOperation/> .
@prefix soproc: <http://sweetontology.net/proc/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sorelm: <http://sweetontology.net/relaMath/> .
@base <http://sweetontology.net/reprMathOperation> .

<http://sweetontology.net/reprMathOperation> rdf:type owl:Ontology ;
                                              owl:imports <http://sweetontology.net/proc> ,
                                                          <http://sweetontology.net/relaMath> ,
                                                          <http://sweetontology.net/reprMath> ,
                                                          <http://sweetontology.net/reprMathFunction> ;
                                              rdfs:label "SWEET Ontology Representation Mathematics Operation" ;
                                              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/hasFunction
sorelm:hasFunction rdf:type owl:ObjectProperty .


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


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


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

###  http://sweetontology.net/reprMathOperation/AreaIntegral
sorepmo:AreaIntegral rdf:type owl:Class ;
                  rdfs:subClassOf sorepmo:MultipleIntegral ;
                  rdfs:label "area integral"@en .


###  http://sweetontology.net/reprMathOperation/Biharmonic
sorepmo:Biharmonic rdf:type owl:Class ;
                rdfs:subClassOf sorepmo:VectorFieldOperation ;
                rdfs:label "biharmonic"@en .


###  http://sweetontology.net/reprMathOperation/BinaryOperation
sorepmo:BinaryOperation rdf:type owl:Class ;
                     rdfs:subClassOf sorepmo:Operation ,
                                     [ rdf:type owl:Restriction ;
                                       owl:onProperty sorelm:hasInput ;
                                       owl:allValuesFrom sorepm:OrderedPair
                                     ] ;
                     rdfs:label "binary operation"@en .


###  http://sweetontology.net/reprMathOperation/CrossProduct
sorepmo:CrossProduct rdf:type owl:Class ;
                  rdfs:subClassOf sorepmo:Product ,
                                  sorepmo:VectorFieldOperation ,
                                  sorepmo:VectorValuedOperation ;
                  rdfs:label "cross product"@en .


###  http://sweetontology.net/reprMathOperation/DefiniteIntegral
sorepmo:DefiniteIntegral rdf:type owl:Class ;
                rdfs:subClassOf sorepmo:Integral ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty sorelm:hasInterval ;
                                  owl:cardinality "1"^^xsd:nonNegativeInteger
                                ] ;
                      rdfs:label "definite integral"@en .


###  http://sweetontology.net/reprMathOperation/Derivative
sorepmo:Derivative rdf:type owl:Class ;
                owl:equivalentClass sorepmo:Differentiation ;
                rdfs:subClassOf sorepmo:OperationOnFunction ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty sorelm:derivativeWithRespectTo ;
                                  owl:allValuesFrom sorepm:Variable
                                ] ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty sorelm:hasOutput ;
                                  owl:allValuesFrom sorepmf:Function
                                ] ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty sorelm:isDerivativeOf ;
                                  owl:allValuesFrom sorepmf:Function
                                ] ;
                rdfs:label "derivative"@en .


###  http://sweetontology.net/reprMathOperation/Difference
sorepmo:Difference rdf:type owl:Class ;
                owl:equivalentClass sorepmo:Subtraction ;
                rdfs:label "difference"@en .


###  http://sweetontology.net/reprMathOperation/Differentiation
sorepmo:Differentiation rdf:type owl:Class ;
                     rdfs:label "differentiation"@en .


###  http://sweetontology.net/reprMathOperation/Division
sorepmo:Division rdf:type owl:Class ;
              owl:equivalentClass sorepmo:Quotient ;
              rdfs:subClassOf sorepmo:BinaryOperation ;
              rdfs:label "division"@en .


###  http://sweetontology.net/reprMathOperation/DotProduct
sorepmo:DotProduct rdf:type owl:Class ;
                rdfs:subClassOf sorepmo:Product ,
                                sorepmo:ScalarValuedOperation ,
                                sorepmo:VectorFieldOperation ;
                rdfs:label "dot product"@en .


###  http://sweetontology.net/reprMathOperation/Double
sorepmo:Double rdf:type owl:Class ;
            rdfs:subClassOf sorepmo:UnaryOperation ;
            rdfs:label "double"@en .


###  http://sweetontology.net/reprMathOperation/Fraction
sorepmo:Fraction rdf:type owl:Class ;
              rdfs:subClassOf sorepmo:Division ;
              rdfs:label "fraction"@en .


###  http://sweetontology.net/reprMathOperation/Gradient
sorepmo:Gradient rdf:type owl:Class ;
              rdfs:subClassOf sorepmo:Derivative ,
                              sorepmo:VectorValuedOperation ;
              rdfs:label "gradient"@en .


###  http://sweetontology.net/reprMathOperation/Half
sorepmo:Half rdf:type owl:Class ;
          rdfs:subClassOf sorepmo:UnaryOperation ;
          rdfs:label "half"@en .


###  http://sweetontology.net/reprMathOperation/IndefiniteIntegral
sorepmo:IndefiniteIntegral rdf:type owl:Class ;
                        rdfs:subClassOf sorepmo:Integral ,
                                        [ rdf:type owl:Restriction ;
                                          owl:onProperty sorelm:hasInterval ;
                                          owl:cardinality "0"^^xsd:nonNegativeInteger
                                        ] ;
                        rdfs:label "indefinite integral"@en .


###  http://sweetontology.net/reprMathOperation/InflectionPoint
sorepmo:InflectionPoint rdf:type owl:Class ;
                     rdfs:subClassOf sorepmo:Operation ;
                     rdfs:label "inflection point"@en .


###  http://sweetontology.net/reprMathOperation/Integral
sorepmo:Integral rdf:type owl:Class ;
              owl:equivalentClass sorepmo:Integration ;
              rdfs:subClassOf sorepmo:OperationOnFunction ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty sorelm:hasFunction ;
                                owl:cardinality "1"^^xsd:nonNegativeInteger
                              ] ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty sorelm:withRespectTo ;
                                owl:cardinality "1"^^xsd:nonNegativeInteger
                              ] ;
              rdfs:label "integral"@en .


###  http://sweetontology.net/reprMathOperation/Integration
sorepmo:Integration rdf:type owl:Class ;
                 rdfs:label "integration"@en .


###  http://sweetontology.net/reprMathOperation/Laplacian
sorepmo:Laplacian rdf:type owl:Class ;
               rdfs:subClassOf sorepmo:VectorFieldOperation ;
               rdfs:label "laplacian"@en .


###  http://sweetontology.net/reprMathOperation/LineIntegral
sorepmo:LineIntegral rdf:type owl:Class ;
                  rdfs:subClassOf sorepmo:Integral ;
                  rdfs:label "line integral"@en .


###  http://sweetontology.net/reprMathOperation/Logarithm
sorepmo:Logarithm rdf:type owl:Class ;
               rdfs:subClassOf sorepmo:UnaryOperation ;
               rdfs:label "logarithm"@en .


###  http://sweetontology.net/reprMathOperation/MathematicalProcess
sorepmo:MathematicalProcess rdf:type owl:Class ;
                         rdfs:subClassOf soproc:Process ;
                         rdfs:label "mathematical process"@en .


###  http://sweetontology.net/reprMathOperation/MultipleIntegral
sorepmo:MultipleIntegral rdf:type owl:Class ;
                      rdfs:subClassOf sorepmo:OperationOnFunction ,
                                      [ rdf:type owl:Restriction ;
                                        owl:onProperty sorelm:hasFunction ;
                                        owl:someValuesFrom sorepmo:Integral
                                      ] ;
                      rdfs:label "multiple integral"@en .


###  http://sweetontology.net/reprMathOperation/Multiplication
sorepmo:Multiplication rdf:type owl:Class ;
                    owl:equivalentClass sorepmo:Product ;
                    rdfs:subClassOf sorepmo:BinaryOperation ;
                    rdfs:label "multiplication"@en .


###  http://sweetontology.net/reprMathOperation/Normalization
sorepmo:Normalization rdf:type owl:Class ;
                   rdfs:subClassOf sorepmo:Operation ;
                   rdfs:label "normalization"@en .


###  http://sweetontology.net/reprMathOperation/Operation
sorepmo:Operation rdf:type owl:Class ;
               rdfs:subClassOf sorepmo:MathematicalProcess ;
               rdfs:label "operation"@en .


###  http://sweetontology.net/reprMathOperation/OperationOnFunction
sorepmo:OperationOnFunction rdf:type owl:Class ;
                         rdfs:subClassOf sorepmo:Operation ,
                                         [ rdf:type owl:Restriction ;
                                           owl:onProperty sorelm:hasInput ;
                                           owl:allValuesFrom sorepmf:Function
                                         ] ;
                         rdfs:label "operation on function"@en .


###  http://sweetontology.net/reprMathOperation/PartialDerivative
sorepmo:PartialDerivative rdf:type owl:Class ;
                       rdfs:subClassOf sorepmo:Derivative ,
                                       sorepmo:VectorFieldOperation ;
                       rdfs:label "partial derivative"@en .


###  http://sweetontology.net/reprMathOperation/Product
sorepmo:Product rdf:type owl:Class ;
             rdfs:label "product"@en .


###  http://sweetontology.net/reprMathOperation/Quotient
sorepmo:Quotient rdf:type owl:Class ;
              rdfs:label "quotient"@en .


###  http://sweetontology.net/reprMathOperation/Ratio
sorepmo:Ratio rdf:type owl:Class ;
           rdfs:subClassOf sorepmo:Division ;
           rdfs:label "ratio"@en .


###  http://sweetontology.net/reprMathOperation/SaddlePoint
sorepmo:SaddlePoint rdf:type owl:Class ;
                 rdfs:subClassOf sorepmo:Operation ;
                 rdfs:label "saddle point"@en .


###  http://sweetontology.net/reprMathOperation/ScalarFieldOperation
sorepmo:ScalarFieldOperation rdf:type owl:Class ;
                          rdfs:subClassOf sorepmo:OperationOnFunction ,
                                          [ rdf:type owl:Restriction ;
                                            owl:onProperty sorelm:hasInput ;
                                            owl:allValuesFrom sorepmf:ScalarField
                                          ] ;
                          rdfs:label "scalar field operation"@en .


###  http://sweetontology.net/reprMathOperation/ScalarValuedOperation
sorepmo:ScalarValuedOperation rdf:type owl:Class ;
                           rdfs:subClassOf sorepmo:OperationOnFunction ,
                                           [ rdf:type owl:Restriction ;
                                             owl:onProperty sorelm:hasOutput ;
                                             owl:allValuesFrom sorepmf:ScalarField
                                           ] ;
                           rdfs:label "scalar valued operation"@en .


###  http://sweetontology.net/reprMathOperation/Slope
sorepmo:Slope rdf:type owl:Class ;
           rdfs:subClassOf sorepmo:Derivative ;
           rdfs:label "slope"@en .


###  http://sweetontology.net/reprMathOperation/Square
sorepmo:Square rdf:type owl:Class ;
            rdfs:subClassOf sorepmo:UnaryOperation ;
            rdfs:label "square"@en .


###  http://sweetontology.net/reprMathOperation/SquareRoot
sorepmo:SquareRoot rdf:type owl:Class ;
                rdfs:subClassOf sorepmo:UnaryOperation ;
                rdfs:label "square root"@en .


###  http://sweetontology.net/reprMathOperation/Subtraction
sorepmo:Subtraction rdf:type owl:Class ;
                 rdfs:subClassOf sorepmo:BinaryOperation ;
                 rdfs:label "subtraction"@en .


###  http://sweetontology.net/reprMathOperation/Sum
sorepmo:Sum rdf:type owl:Class ;
         owl:equivalentClass sorepmo:Summation ;
         rdfs:label "sum"@en .


###  http://sweetontology.net/reprMathOperation/Summation
sorepmo:Summation rdf:type owl:Class ;
               rdfs:subClassOf sorepmo:BinaryOperation ;
               rdfs:label "summation"@en .


###  http://sweetontology.net/reprMathOperation/SurfaceIntegral
sorepmo:SurfaceIntegral rdf:type owl:Class ;
                     rdfs:subClassOf sorepmo:MultipleIntegral ;
                     rdfs:label "surface integral"@en .


###  http://sweetontology.net/reprMathOperation/TensorFieldOperation
sorepmo:TensorFieldOperation rdf:type owl:Class ;
                          rdfs:subClassOf sorepmo:OperationOnFunction ,
                                          [ rdf:type owl:Restriction ;
                                            owl:onProperty sorelm:hasInput ;
                                            owl:allValuesFrom sorepmf:TensorField
                                          ] ;
                          rdfs:label "tensor field operation"@en .


###  http://sweetontology.net/reprMathOperation/TernaryOperation
sorepmo:TernaryOperation rdf:type owl:Class ;
                      rdfs:subClassOf sorepmo:Operation ,
                                      [ rdf:type owl:Restriction ;
                                        owl:onProperty sorelm:hasInput ;
                                        owl:allValuesFrom sorepm:OrderedTriple
                                      ] ;
                      rdfs:label "ternary operation"@en .


###  http://sweetontology.net/reprMathOperation/UnaryOperation
sorepmo:UnaryOperation rdf:type owl:Class ;
                    rdfs:subClassOf sorepmo:Operation ,
                                    [ rdf:type owl:Restriction ;
                                      owl:onProperty sorelm:hasInput ;
                                      owl:allValuesFrom sorepm:Scalar
                                    ] ;
                    rdfs:label "unary operation"@en .


###  http://sweetontology.net/reprMathOperation/VectorFieldOperation
sorepmo:VectorFieldOperation rdf:type owl:Class ;
                          rdfs:subClassOf sorepmo:OperationOnFunction ,
                                          [ rdf:type owl:Restriction ;
                                            owl:onProperty sorelm:hasInput ;
                                            owl:allValuesFrom sorepmf:VectorField
                                          ] ;
                          rdfs:label "vector field operation"@en .


###  http://sweetontology.net/reprMathOperation/VectorValuedOperation
sorepmo:VectorValuedOperation rdf:type owl:Class ;
                           rdfs:subClassOf sorepmo:OperationOnFunction ,
                                           [ rdf:type owl:Restriction ;
                                             owl:onProperty sorelm:hasOutput ;
                                             owl:allValuesFrom sorepmf:VectorField
                                           ] ;
                           rdfs:label "vector valued operation"@en .


###  http://sweetontology.net/reprMathOperation/VolumeIntegral
sorepmo:VolumeIntegral rdf:type owl:Class ;
                    rdfs:subClassOf sorepmo:MultipleIntegral ;
                    rdfs:label "volume integral"@en .

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