@prefix datatype: <http://qudt.org/vocab/datatype/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix dtype: <http://www.linkedmodel.org/schema/dtype#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@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:CardinalityType a rdfs:Class,
        owl:Class,
        sh:NodeShape ;
    rdfs:label "Cardinality Type" ;
    dcterms:description """
  In mathematics, the cardinality of a set is a measure of the number of elements of the set.
  For example, the set $A = {2, 4, 6}$ contains 3 elements, and therefore $A$ has a cardinality of 3. 
  There are two approaches to cardinality: one which compares sets directly using bijections and injections,
   and another which uses cardinal numbers.
  """^^qudt:LatexString ;
    qudt:informativeReference "https://en.wikipedia.org/wiki/Cardinal_number"^^xsd:anyURI,
        "https://en.wikipedia.org/wiki/Cardinality"^^xsd:anyURI ;
    qudt:plainTextDescription "In mathematics, the cardinality of a set is a measure of the number of elements of the set.  For example, the set 'A = {2, 4, 6}' contains 3 elements, and therefore 'A' has a cardinality of 3. There are two approaches to cardinality – one which compares sets directly using bijections and injections, and another which uses cardinal numbers." ;
    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 dtype:literal ],
        qudt:EnumeratedValue ;
    owl:oneOf [ rdf:first datatype:CT_COUNTABLY-INFINITE ;
            rdf:rest [ rdf:first datatype:CT_UNCOUNTABLE ;
                    rdf:rest [ ] ] ] ;
    prov:wasInfluencedBy <http://en.wikipedia.org/wiki/Cardinal_number>,
        <http://en.wikipedia.org/wiki/Cardinality> ;
    sh:in [ rdf:first datatype:CT_COUNTABLY-INFINITE ;
            rdf:rest [ rdf:first datatype:CT_UNCOUNTABLE ;
                    rdf:rest [ ] ] ] ;
    sh:property [ a sh:PropertyShape ;
            rdfs:isDefinedBy <http://qudt.org/3.2.1/schema/shacl/datatype> ;
            sh:in [ rdf:first datatype:CT_COUNTABLY-INFINITE ;
                    rdf:rest [ ] ] ;
            sh:path [ sh:inversePath rdf:type ] ],
        qudt:CardinalityType-literal .

