@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@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:Table a rdfs:Class,
        owl:Class,
        sh:NodeShape ;
    rdfs:label "Table Type" ;
    dcterms:description """
  A Table Type is a data type that specifies the properties of table data structures. 
  A table is both a mode of visual communication and a means of arranging data. 
  The precise conventions and terminology for describing tables varies depending on the context. 
  Moreover, tables differ significantly in variety, structure, flexibility, notation, representation and use.
  """ ;
    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:columns ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty qudt:dimensionality ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty qudt:rows ],
        [ a owl:Restriction ;
            owl:maxCardinality 1 ;
            owl:onProperty qudt:byRow ],
        qudt:StructuredDatatype ;
    sh:property qudt:DimensionsPropertyShape,
        qudt:Table-byRow,
        qudt:Table-columns,
        qudt:Table-dimensionality,
        qudt:Table-rows .

