PREFIX basic: <http://def.seegrid.csiro.au/isotc211/iso19103/2005/basic#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

basic:Area a rdfs:Class ;
  rdfs:label "Area" ;
  rdfs:comment "Measure of 2-D extent" ;
  rdfs:subClassOf basic:Measure .

basic:uom a rdf:Property ;
  rdfs:label "unit of measure" ;
  rdfs:comment "The value of this property designates the units of measure or scale for the quantity" ;
  rdfs:range basic:UnitOfMeasure .

basic:value a rdf:Property ;
  rdfs:label "value" ;
  rdfs:comment "The value of this property is a number" ;
  rdfs:range basic:Number .

basic:Length a rdfs:Class ;
  rdfs:label "Length" ;
  rdfs:comment "Measure of 1-D extent" ;
  rdfs:subClassOf basic:Measure .

basic:Mass a rdfs:Class ;
  rdfs:label "Mass" ;
  rdfs:comment "Measure of amount of substance" ;
  rdfs:subClassOf basic:Measure .

basic:Scale a rdfs:Class ;
  rdfs:label "Scale" ;
  rdfs:comment "Factor by which a representation should be magnified to match the geomstric size of the thing it represents." ;
  rdfs:subClassOf basic:Measure .

basic:Weight a rdfs:Class ;
  rdfs:label "Weight" ;
  rdfs:comment "Measure of force due to a mass in a specific gravitational field" ;
  rdfs:subClassOf basic:Measure .

basic:Currency a rdfs:Class ;
  rdfs:label "Currency" ;
  rdfs:comment "Measure of exchange value" ;
  rdfs:subClassOf basic:Measure .

basic:Distance a rdfs:Class ;
  rdfs:label "Distance" ;
  rdfs:comment "Measure of spatial separation along some 1-D manifold" ;
  rdfs:subClassOf basic:Length .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object" .

basic:Measure a rdfs:Class ;
  rdfs:label "Measure"@en , "Mesure"@fr ;
  rdfs:comment "Scaled number" .

basic:Volume a rdfs:Class ;
  rdfs:label "Volume" ;
  rdfs:comment "Measure of 3-D extent" ;
  rdfs:subClassOf basic:Measure .

basic:AngularVelocity a rdfs:Class ;
  rdfs:label "AngularVelocity" ;
  rdfs:comment "Measure of rate of change of angular position" ;
  rdfs:subClassOf basic:Measure .

basic:Time a rdfs:Class ;
  rdfs:label "Time" ;
  rdfs:comment "Measure of temporal extent" ;
  rdfs:subClassOf basic:Measure .

basic:Velocity a rdfs:Class ;
  rdfs:label "Velocity" ;
  rdfs:comment "Measure of rate of change of position" ;
  rdfs:subClassOf basic:Measure .

basic:Acceleration a rdfs:Class ;
  rdfs:label "Acceleration"@en ;
  rdfs:comment "Measure of rate of change of velocity" ;
  rdfs:subClassOf basic:Measure .

basic:Angle a rdfs:Class ;
  rdfs:label "Angle" ;
  rdfs:comment "measure of arc length or rotation" ;
  rdfs:subClassOf basic:Measure .

basic:UnitOfMeasure a rdfs:Class ;
  rdfs:label "Unit of measure" ;
  rdfs:comment "Scale for a number describing size or extent" .

basic:Vector a rdfs:Class ;
  rdfs:label "Vector" ;
  rdfs:comment "A vector is a sequence of a fixed length of Numbers. Normally, the numbers represent some measures, and thus vectors are often used where records of Numbers would be more appropriate. In geometry for example, direct positions are given by undistinguished coordinate vectors, which can be interpreted through the use of coordinate reference systems." .

basic:dimension a rdf:Property ;
  rdfs:label "dimension" ;
  rdfs:comment "Number of components in the vector" ;
  rdfs:domain basic:Vector ;
  rdfs:range xsd:positiveInteger .

basic:ordinates a rdf:Property ;
  rdfs:label "ordinates" ;
  rdfs:comment "Numerical values of the vector components" ;
  rdfs:domain basic:Vector ;
  rdfs:range <https://w3id.org/linkml/Any> .

basic:measure a rdf:Property ;
  rdfs:label "measure" ;
  rdfs:comment "The value of this property is a scaled number" ;
  rdfs:range basic:Measure .

basic:Boolean a rdfs:Datatype ;
  rdfs:label "boolean" ;
  rdfs:comment "Truth value. Most valuable in the predicate calculus, where items are either True or False, unless they are ill formed." .

basic:CharacterString a rdfs:Datatype ;
  rdfs:label "characterString" ;
  rdfs:comment "sequence of characters" .

basic:Date a rdfs:Datatype ;
  rdfs:label "date" ;
  rdfs:comment "Temporal position expressed with precision of days" .

basic:DateTime a rdfs:Datatype ;
  rdfs:label "dateTime" ;
  rdfs:comment "Temporal position expressed as a time and date" .

basic:Decimal a rdfs:Datatype ;
  rdfs:label "decimal" ;
  rdfs:comment """The usually finite representation of a decimal number. It differs from the common binary Real implementation in that it can represent 1/10 (one-tenth) without error, while binary real representation can only represent powers of 1/2 (one-half) exactly. Since many currencies are decimal, these representations are preferred in dealing with such moneys. This is also true for mile markers, which are often given in decimals.\r
\r
Can be thought of as an integer part followed by a fractional part given in multiples of powers of 1/10 (tenths).""" .

basic:Integer a rdfs:Datatype ;
  rdfs:label "integer" ;
  rdfs:comment "An exact integer value, with no fractional part." .

basic:LocalName a rdfs:Datatype ;
  rdfs:label "localName" ;
  rdfs:comment "Name in some local context" .

basic:Number a rdfs:Datatype ;
  rdfs:label "Number" ;
  rdfs:comment "The set of numbers" .

basic:Real a rdfs:Datatype ;
  rdfs:label "realNumber" ;
  rdfs:comment """The common binary Real finite implementation using base 2. Since such reals can approximate any measure where absolute accuracy is not possible, this form of numeric is most often used for measures. In cases were absolute accuracy is needed, such as currencies, then a decimal representation may be preferred (assuming the currency is decimal, such as the US dollar, British pound, etc.). Where there are no subunits possible, Integer numbers may be preferred.  

Can be thought of as an integer part followed by a fractional part given in multiples of powers of 1/2 (halves).""" .
