@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:Vector a rdfs:Class,
        owl:Class,
        sh:NodeShape ;
    rdfs:label "Vector" ;
    dcterms:description """
  <p>A <em>Vector</em> is an array data type that can have a dimensionality of one, or more elements.
  Vectors can represent physical quantities, such as velocity, force, displacement;
  mathematical objects such as points or directions in space;
  and abstract representations for things such as colors, features, or embeddings in computational contexts.
  </p>
  <p>As a one-dimensional mathematical object it can represent a quantity with both magnitude and direction in space.
  One-dimensional vectors can be thought of as a special case of a 1D array.
  For example a 3D vector can be expressed as a list of coordinates: [x,y,z].
  </p>
  <p>
  A vector in n-dimensional space can represent a point, a direction, or a linear combination of basis vectors.
  </p>
  <p>
  Vectors can represent quantifiable values.
  For example a car moving at 60 m/hr to the north, assuming north is along the y-axis, can be represented in 2D as:
  </p>
  <dl>
  <dd>[0, 60]</dd>
  </dl>
  <p>
  In machine learning a <em>Feature Vector</em> can be expressed for a dataset entry as:
  <p>
  <dl>
  <dd>[5.1, 3.5, 1.4, 0.2]</dd>
  </dl>
  <p>
  In AI for text processing a <em>Word Embedding Vector</em> is expressed as a N-dimensional space, where N can be a large number.
  </p>
  """^^rdf:HTML ;
    rdfs:isDefinedBy <http://qudt.org/3.2.1/schema/datatype>,
        <http://qudt.org/3.2.1/schema/shacl/datatype> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty qudt:quantity ],
        qudt:Array ;
    sh:property qudt:MaybeQuantityPropertyShape,
        qudt:QuantityKindsPropertyShape .

