@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:Heap a rdfs:Class,
        owl:Class,
        sh:NodeShape ;
    rdfs:label "Heap" ;
    dcterms:description """
  <p>A heap is a specialized tree-based data structure that satisfies the condition: if B is a child node of A, then $key(A) \\ge key(B)$. 
  This implies that an element with the greatest key is always in the root node, and so such a heap is sometimes called a max heap. 
  Alternatively, if the comparison is reversed, the smallest element is always in the root node, which results in a min heap. 
  The function or method that implements the key() operator is specified by the heap type.
  </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:OrderedTree ;
    prov:wasInfluencedBy <http://en.wikipedia.org/wiki/Heap_(data_structure)> .

