@prefix dcterms: <http://purl.org/dc/terms/> .
@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#> .

qudt:AbstractDatatype a rdfs:Class,
        owl:Class,
        sh:NodeShape ;
    rdfs:label "Abstract Datatype" ;
    dcterms:description """
  <p>An "Abstract Datatype" (ADT) is a specification of a set of data and the set of operations that can be performed on the data. 
  Such a data type is abstract in the sense that it is independent of various concrete implementations. 
  The definition can be mathematical, or it can be programmed as an interface. 
  A first class ADT supports the creation of multiple instances of the ADT, and the interface normally provides a constructor,
   which returns an abstract handle to new data, and several operations, 
   which are functions accepting the abstract handle as an argument.</p>
  """^^rdf:HTML ;
    rdfs:isDefinedBy <http://qudt.org/3.2.1/schema/datatype>,
        <http://qudt.org/3.2.1/schema/shacl/datatype> ;
    rdfs:subClassOf qudt:StructuredDatatype ;
    prov:wasInfluencedBy <http://en.wikipedia.org/wiki/Abstract_data_type>,
        <http://xlinux.nist.gov/dads/HTML/abstractDataType.html> .

