@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

qudt:BaseDimensionMagnitude a rdfs:Class,
        owl:Class,
        sh:NodeShape ;
    rdfs:label "Base Dimension Magnitude" ;
    dcterms:description """
  <p>A <em>Dimension</em> expresses a magnitude for a base quantity kind such as mass, length and time.
  </p>
  <p>DEPRECATED - each exponent is expressed as a property. 
  Keep until a validation of this has been done.
  </p>"""^^rdf:HTML ;
    qudt:informativeReference "http://web.mit.edu/2.25/www/pdf/DA_unified.pdf"^^xsd:anyURI,
        "https://en.wikipedia.org/wiki/Dimensional_analysis"^^xsd:anyURI ;
    rdfs:isDefinedBy <http://qudt.org/3.2.1/schema/qudt>,
        <http://qudt.org/3.2.1/schema/shacl/qudt> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom qudt:QuantityKind ;
            owl:onProperty qudt:hasBaseQuantityKind ],
        [ a owl:Restriction ;
            owl:minCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onProperty qudt:vectorMagnitude ],
        [ a owl:Restriction ;
            owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onProperty qudt:hasBaseQuantityKind ],
        [ a owl:Restriction ;
            owl:cardinality "1"^^xsd:nonNegativeInteger ;
            owl:onProperty qudt:vectorMagnitude ],
        [ a owl:Restriction ;
            owl:cardinality "1"^^xsd:nonNegativeInteger ;
            owl:onProperty qudt:hasBaseQuantityKind ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:float ;
            owl:onProperty qudt:vectorMagnitude ],
        [ a owl:Restriction ;
            owl:minCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onProperty qudt:hasBaseQuantityKind ],
        [ a owl:Restriction ;
            owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onProperty qudt:vectorMagnitude ],
        qudt:Concept ;
    sh:property qudt:BaseDimensionMagnitude-hasBaseQuantityKind,
        qudt:BaseDimensionMagnitude-vectorMagnitude .

