@prefix altr-ext: <http://www.w3.org/ns/dx/connegp/altr-ext#> .
@prefix core: <http://www.w3.org/2004/02/skos/core#> .
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix ex: <http://example.org/> .
@prefix ns17: <https://prez.dev/ont/> .
@prefix ns18: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix prez: <https://prez.dev/> .
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix rdfschema: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix registry: <http://purl.org/linked-data/registry#> .
@prefix schemaorg: <https://schema.org/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix terms: <http://purl.org/dc/terms/> .

ex:catalogs-listing a ns17:DynamicEndpoint,
        ns17:ListingEndpoint ;
    rdfschema:label "Catalogs Listing" ;
    prez:label "Catalogs Listing" ;
    ns17:apiPath "/catalogs" ;
    ns17:relevantShapes ex:shape-R0-HL1 .

ex:catalogs-object a ns17:DynamicEndpoint,
        ns17:ObjectEndpoint ;
    rdfschema:label "Catalogs Object" ;
    prez:label "Catalogs Object" ;
    ns17:apiPath "/catalogs/{catalogId}" ;
    ns17:relevantShapes ex:shape-R0-HL1 .

ex:collections-listing a ns17:DynamicEndpoint,
        ns17:ListingEndpoint ;
    rdfschema:label "Collections Listing" ;
    prez:label "Collections Listing" ;
    ns17:apiPath "/catalogs/{catalogId}/collections" ;
    ns17:relevantShapes ex:shape-R0-HL2 .

ex:collections-object a ns17:DynamicEndpoint,
        ns17:ObjectEndpoint ;
    rdfschema:label "Collections Object" ;
    prez:label "Collections Object" ;
    ns17:apiPath "/catalogs/{catalogId}/collections/{recordsCollectionId}" ;
    ns17:relevantShapes ex:shape-R0-HL2 .

ex:items-listing a ns17:DynamicEndpoint,
        ns17:ListingEndpoint ;
    rdfschema:label "Items Listing" ;
    prez:label "Items Listing" ;
    ns17:apiPath "/catalogs/{catalogId}/collections/{recordsCollectionId}/items" ;
    ns17:relevantShapes ex:shape-R0-HL3,
        ex:shape-R0-HL3-1 .

ex:items-object a ns17:DynamicEndpoint,
        ns17:ObjectEndpoint ;
    rdfschema:label "Items Object" ;
    prez:label "Items Object" ;
    ns17:apiPath "/catalogs/{catalogId}/collections/{recordsCollectionId}/items/{itemId}" ;
    ns17:relevantShapes ex:shape-R0-HL3,
        ex:shape-R0-HL3-1 .

<http://example.org/ns#AltProfilesForListing> a sh:NodeShape ;
    sh:property [ sh:path altr-ext:constrainsClass ] ;
    sh:targetClass prez:ListingProfile ;
    ns17:hierarchyLevel 1 .

<http://example.org/ns#AltProfilesForObject> a sh:NodeShape ;
    sh:property [ sh:path altr-ext:constrainsClass ] ;
    sh:targetClass prez:ObjectProfile ;
    ns17:hierarchyLevel 1 .

<http://example.org/ns#Object> a sh:NodeShape ;
    ns17:hierarchyLevel 1,
        3 .

<http://localhost:8000> prez:sparqlEndpointEnabled true ;
    prez:version "4.7.5" .

<http://www.opengis.net/ogcapi-features-1/1.0/feature> a ns17:OGCFeaturesEndpoint,
        ns17:ObjectEndpoint ;
    ns17:relevantShapes <http://example.org/ns#Feature> .

<http://www.opengis.net/ogcapi-features-1/1.0/feature-collection> a ns17:OGCFeaturesEndpoint,
        ns17:ObjectEndpoint ;
    ns17:relevantShapes <http://example.org/ns#FeatureCollections> .

<http://www.opengis.net/ogcapi-features-1/1.0/feature-collections> a ns17:ListingEndpoint,
        ns17:OGCFeaturesEndpoint ;
    ns17:relevantShapes <http://example.org/ns#FeatureCollections> .

<http://www.opengis.net/ogcapi-features-1/1.0/features> a ns17:ListingEndpoint,
        ns17:OGCFeaturesEndpoint ;
    ns17:relevantShapes <http://example.org/ns#Feature> .

<http://www.opengis.net/ogcapi-features-1/1.0/queryables-global> a ns17:ListingEndpoint,
        ns17:OGCFeaturesEndpoint ;
    ns17:relevantShapes <http://example.org/ns#QueryablesGlobal> .

<http://www.opengis.net/ogcapi-features-1/1.0/queryables-local> a ns17:ListingEndpoint,
        ns17:OGCFeaturesEndpoint ;
    ns17:relevantShapes <http://example.org/ns#QueryablesLocal> .

ns18:first prez:description "The first item in the subject RDF list." ;
    prez:label "first" .

ns18:rest prez:description "The rest of the subject RDF list after the first item." ;
    prez:label "rest" .

ns18:type prez:description "The subject is an instance of a class." ;
    prez:label "type" .

<http://www.w3.org/2001/XMLSchema#boolean> prez:label "boolean" .

<http://www.w3.org/2001/XMLSchema#integer> prez:label "integer" .

sh:class prez:description "The type that all value nodes must have."@en ;
    prez:label "class"@en .

sh:inversePath prez:description "The (single) value of this property represents an inverse path (object to subject)."@en ;
    prez:label "inverse path"@en .

sh:or prez:description "Specifies a list of shapes so that the value nodes must conform to at least one of the shapes."@en ;
    prez:label "or"@en .

sh:path prez:description "Specifies the property path of a property shape."@en ;
    prez:label "path"@en .

sh:property prez:description "Links a shape to its property shapes."@en ;
    prez:label "property"@en .

sh:targetClass prez:description "Links a shape to a class, indicating that all instances of the class must conform to the shape."@en ;
    prez:label "target class"@en .

prez:AnnotationPropertyList prez:descriptionList ( core:definition terms:description schemaorg:description ) ;
    prez:labelList ( core:prefLabel terms:title rdfschema:label schemaorg:name ) ;
    prez:otherList ( schemaorg:color registry:status ) ;
    prez:provenanceList ( terms:provenance ) .

<https://prez.dev/endpoint/extended-ogc-records/cql-get> a ns17:ListingEndpoint ;
    ns17:relevantShapes <http://example.org/ns#CQL> .

<https://prez.dev/endpoint/extended-ogc-records/cql-post> a ns17:ListingEndpoint ;
    ns17:relevantShapes <http://example.org/ns#CQL> .

<https://prez.dev/endpoint/extended-ogc-records/narrowers> a ns17:ListingEndpoint ;
    ns17:relevantShapes <http://example.org/ns#Narrowers> .

<https://prez.dev/endpoint/extended-ogc-records/search> a ns17:ListingEndpoint ;
    ns17:relevantShapes <http://example.org/ns#Search> .

<https://prez.dev/endpoint/extended-ogc-records/top-concepts> a ns17:ListingEndpoint ;
    ns17:relevantShapes <http://example.org/ns#TopConcepts> .

<https://prez.dev/endpoint/system/object> a ns17:ObjectEndpoint,
        ns17:SystemEndpoint ;
    ns17:relevantShapes <http://example.org/ns#Profiles> .

<https://prez.dev/endpoint/system/profile-listing> a ns17:ListingEndpoint,
        ns17:SystemEndpoint ;
    ns17:relevantShapes <http://example.org/ns#Profiles> .

<https://prez.dev/endpoint/system/profile-object> a ns17:ObjectEndpoint,
        ns17:SystemEndpoint ;
    ns17:relevantShapes <http://example.org/ns#Profiles> .

<http://example.org/ns#Narrowers> a sh:NodeShape ;
    sh:targetClass core:Concept ;
    ns17:hierarchyLevel 1 .

<http://example.org/ns#QueryablesGlobal> a sh:NodeShape ;
    sh:targetClass <http://www.opengis.net/ont/geosparql#Feature> ;
    ns17:hierarchyLevel 3 .

<http://example.org/ns#QueryablesLocal> a sh:NodeShape ;
    sh:targetClass <http://www.opengis.net/ont/geosparql#Feature> ;
    ns17:hierarchyLevel 4 .

<http://example.org/ns#Search> a sh:NodeShape ;
    sh:targetClass prez:SearchResult ;
    ns17:hierarchyLevel 1 .

<http://example.org/ns#TopConcepts> a sh:NodeShape ;
    sh:targetClass core:Concept ;
    ns17:hierarchyLevel 1 .

terms:description prez:description "An account of the resource."@en,
        "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en ;
    prez:label "Description"@en .

terms:provenance prez:description "A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity, and interpretation."@en,
        "The statement may include a description of any changes successive custodians made to the resource."@en ;
    prez:label "Provenance"@en .

terms:title prez:description "A name given to the resource."@en ;
    prez:label "Title"@en .

registry:status prez:description "The status of this register entry"@en ;
    prez:label "status"@en .

rdfschema:label prez:description "A human-readable name for the subject." ;
    prez:label "label" .

core:definition prez:description "A statement or formal explanation of the meaning of a concept."@en ;
    prez:label "definition"@en .

core:prefLabel prez:description "A resource has no more than one value of skos:prefLabel per language tag, and no more than one value of skos:prefLabel without language tag."@en,
        "The preferred lexical label for a resource, in a given language."@en,
        "The range of skos:prefLabel is the class of RDF plain literals."@en,
        """skos:prefLabel, skos:altLabel and skos:hiddenLabel are pairwise
      disjoint properties."""@en ;
    prez:label "preferred label"@en .

prof:Profile prez:description """A specification that constrains, extends, combines, or provides guidance or explanation about the usage of other specifications.

This definition includes what are often called "application profiles", "metadata application profiles", or "metadata profiles"."""@en ;
    prez:label "Profile" .

schemaorg:color prez:description "The color of the product." ;
    prez:label "color" .

schemaorg:description prez:description "A description of the item." ;
    prez:label "description" .

schemaorg:name prez:description "The name of the item." ;
    prez:label "name" .

<http://example.org/ns#CQL> a sh:NodeShape ;
    sh:targetClass prez:CQLFilterResult ;
    ns17:hierarchyLevel 1 .

<http://example.org/ns#Feature> a sh:NodeShape ;
    sh:property [ sh:class <http://www.opengis.net/ont/geosparql#FeatureCollection> ;
            sh:path [ sh:inversePath rdfschema:member ] ],
        [ sh:class dcat:Dataset ;
            sh:path ( [ sh:inversePath rdfschema:member ] <http://rdfs.org/ns/void#inDataset> ) ] ;
    sh:targetClass <http://www.opengis.net/ont/geosparql#Feature> ;
    ns17:hierarchyLevel 4 .

<http://example.org/ns#FeatureCollections> a sh:NodeShape ;
    sh:property [ sh:class dcat:Dataset ;
            sh:path <http://rdfs.org/ns/void#inDataset> ] ;
    sh:targetClass <http://www.opengis.net/ont/geosparql#FeatureCollection> ;
    ns17:hierarchyLevel 3 .

ex:shape-R0-HL1 a sh:NodeShape ;
    sh:property [ sh:or ( [ sh:class core:Collection ] [ sh:class dcat:Dataset ] [ sh:class dcat:Resource ] [ sh:class core:ConceptScheme ] ) ;
            sh:path terms:hasPart ] ;
    sh:targetClass dcat:Catalog ;
    ns17:hierarchyLevel 1 .

ex:shape-R0-HL2 a sh:NodeShape ;
    sh:property [ sh:class dcat:Catalog ;
            sh:path [ sh:inversePath terms:hasPart ] ] ;
    sh:targetClass core:Collection,
        core:ConceptScheme,
        dcat:Dataset,
        dcat:Resource ;
    ns17:hierarchyLevel 2 .

ex:shape-R0-HL3 a sh:NodeShape ;
    sh:property [ sh:class dcat:Catalog ;
            sh:path ( core:inScheme [ sh:inversePath terms:hasPart ] ) ],
        [ sh:class core:ConceptScheme ;
            sh:path core:inScheme ] ;
    sh:targetClass core:Collection,
        core:Concept ;
    ns17:hierarchyLevel 3 .

ex:shape-R0-HL3-1 a sh:NodeShape ;
    sh:property [ sh:class core:Collection ;
            sh:path [ sh:inversePath core:member ] ],
        [ sh:class dcat:Catalog ;
            sh:path ( [ sh:inversePath core:member ] [ sh:inversePath terms:hasPart ] ) ] ;
    sh:targetClass core:Concept ;
    ns17:hierarchyLevel 3 .

<http://rdfs.org/ns/void#inDataset> prez:description "Points to the void:Dataset that a document is a part of." ;
    prez:label "in dataset" .

<http://www.opengis.net/ont/geosparql#FeatureCollection> prez:description "The class Feature Collection represents any collection of individual Features."@en ;
    prez:label "Feature Collection"@en .

rdfschema:member prez:description "A member of the subject resource." ;
    prez:label "member" .

core:inScheme prez:description "Relates a resource (for example a concept) to a concept scheme in which it is included."@en ;
    prez:label "is in scheme"@en .

core:member prez:description "Relates a collection to one of its members."@en ;
    prez:label "has member"@en .

dcat:Resource prez:description "Resource published or curated by a single agent."@en ;
    prez:label "Catalogued resource"@en .

altr-ext:constrainsClass prez:label "Constrains Class" .

<http://example.org/ns#Profiles> a sh:NodeShape ;
    sh:targetClass prof:Profile ;
    ns17:hierarchyLevel 1 .

<http://www.opengis.net/ont/geosparql#Feature> prez:description "A discrete spatial phenomenon in a universe of discourse."@en ;
    prez:label "Feature"@en .

core:ConceptScheme prez:description "A set of concepts, optionally including statements about semantic relationships between those concepts."@en ;
    prez:label "Concept Scheme"@en .

terms:hasPart prez:description "A related resource that is included either physically or logically in the described resource."@en,
        "This property is intended to be used with non-literal values. This property is an inverse property of Is Part Of."@en ;
    prez:label "Has Part"@en .

core:Collection prez:description "A meaningful collection of concepts."@en ;
    prez:label "Collection"@en .

core:Concept prez:description "An idea or notion; a unit of thought."@en ;
    prez:label "Concept"@en .

dcat:Catalog prez:description "A curated collection of metadata about resources (e.g., datasets and data services in the context of a data catalog)."@en ;
    prez:label "Catalog"@en .

dcat:Dataset prez:description "A collection of data, published or curated by a single source, and available for access or download in one or more represenations."@en,
        "A collection of data, published or curated by a single source, and available for access or download in one or more representations."@en ;
    prez:label "Dataset"@en .

() prez:description "The empty list, with no items in it. If the rest of a list is nil then the list has no more items in it." ;
    prez:label "nil" .

sh:NodeShape prez:description "A node shape is a shape that specifies constraint that need to be met with respect to focus nodes."@en ;
    prez:label "Node shape"@en .

