@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix ont: <https://prez.dev/ont/> .
@prefix prez: <https://prez.dev/> .
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://data.bgs.ac.uk> prez:version "3.8.14" .

prez:AnnotationPropertyList prez:descriptionList ( skos:definition dcterms:description schema:description ) ;
    prez:labelList ( skos:prefLabel dcterms:title rdfs:label schema:name ) ;
    prez:provenanceList ( dcterms:provenance ) .

<https://prez.dev/endpoint/catprez-profiles-listing> a ont:Endpoint ;
    ont:baseClass prez:CatPrezProfile ;
    ont:deliversClasses prez:ProfilesList ;
    ont:endpointTemplate "/c/profiles" ;
    ont:isTopLevelEndpoint true .

<https://prez.dev/endpoint/catprez/catprez-home> a ont:Endpoint ;
    ont:endpointTemplate "/c" .

<https://prez.dev/endpoint/catprez/resource> a ont:ObjectEndpoint ;
    ont:ParentToFocusRelation dcterms:hasPart ;
    ont:deliversClasses dcat:Resource ;
    ont:endpointTemplate "/c/catalogs/$parent_1/resources/$object" ;
    ont:parentEndpoint <https://prez.dev/endpoint/catprez/resource-listing> .

<https://prez.dev/endpoint/profile> a ont:Endpoint ;
    ont:deliversClasses prof:Profile ;
    ont:endpointTemplate "/profiles/$object" ;
    ont:parentEndpoint <https://prez.dev/endpoint/profiles-listing> .

<https://prez.dev/endpoint/profiles-home> a ont:Endpoint ;
    ont:endpointTemplate "/profiles" .

<https://prez.dev/endpoint/spaceprez-profiles-listing> a ont:Endpoint ;
    ont:baseClass prez:SpacePrezProfile ;
    ont:deliversClasses prez:ProfilesList ;
    ont:endpointTemplate "/s/profiles" ;
    ont:isTopLevelEndpoint true .

<https://prez.dev/endpoint/spaceprez/feature> a ont:ObjectEndpoint ;
    ont:ParentToFocusRelation rdfs:member ;
    ont:deliversClasses geo:Feature ;
    ont:endpointTemplate "/s/datasets/$parent_2/collections/$parent_1/items/$object" ;
    ont:parentEndpoint <https://prez.dev/endpoint/spaceprez/feature-listing> .

<https://prez.dev/endpoint/spaceprez/spaceprez-home> a ont:Endpoint ;
    ont:endpointTemplate "/s" .

<https://prez.dev/endpoint/vocprez-profiles-listing> a ont:Endpoint ;
    ont:baseClass prez:VocPrezProfile ;
    ont:deliversClasses prez:ProfilesList ;
    ont:endpointTemplate "/s/profiles" ;
    ont:isTopLevelEndpoint true .

<https://prez.dev/endpoint/vocprez/collection-concept> a ont:ObjectEndpoint ;
    ont:ParentToFocusRelation skos:member ;
    ont:deliversClasses skos:Concept ;
    ont:endpointTemplate "/v/collection/$parent_1/$object" ;
    ont:parentEndpoint <https://prez.dev/endpoint/vocprez/collection> .

<https://prez.dev/endpoint/vocprez/vocab-concept> a ont:ObjectEndpoint ;
    ont:FocusToParentRelation skos:inScheme ;
    ont:deliversClasses skos:Concept ;
    ont:endpointTemplate "/v/vocab/$parent_1/$object" ;
    ont:parentEndpoint <https://prez.dev/endpoint/vocprez/vocab> .

<https://prez.dev/endpoint/vocprez/vocprez-home> a ont:Endpoint ;
    ont:endpointTemplate "/v" .

<https://prez.dev/endpoint/catprez/catalog> a ont:ObjectEndpoint ;
    ont:deliversClasses dcat:Catalog ;
    ont:endpointTemplate "/c/catalogs/$object" ;
    ont:parentEndpoint <https://prez.dev/endpoint/catprez/catalog-listing> .

<https://prez.dev/endpoint/catprez/catalog-listing> a ont:ListingEndpoint ;
    ont:baseClass dcat:Catalog ;
    ont:deliversClasses prez:CatalogList ;
    ont:endpointTemplate "/c/catalogs" ;
    ont:isTopLevelEndpoint true .

<https://prez.dev/endpoint/catprez/resource-listing> a ont:ListingEndpoint ;
    ont:ParentToFocusRelation dcterms:hasPart ;
    ont:baseClass dcat:Resource ;
    ont:deliversClasses prez:ResourceList ;
    ont:endpointTemplate "/c/catalogs/$parent_1/resources" ;
    ont:parentEndpoint <https://prez.dev/endpoint/catprez/catalog> .

<https://prez.dev/endpoint/profiles-listing> a ont:Endpoint ;
    ont:baseClass prof:Profile ;
    ont:deliversClasses prez:ProfilesList ;
    ont:endpointTemplate "/profiles" ;
    ont:isTopLevelEndpoint true .

<https://prez.dev/endpoint/spaceprez/dataset> a ont:ObjectEndpoint ;
    ont:deliversClasses dcat:Dataset ;
    ont:endpointTemplate "/s/datasets/$object" ;
    ont:parentEndpoint <https://prez.dev/endpoint/spaceprez/dataset-listing> .

<https://prez.dev/endpoint/spaceprez/dataset-listing> a ont:ListingEndpoint ;
    ont:baseClass dcat:Dataset ;
    ont:deliversClasses prez:DatasetList ;
    ont:endpointTemplate "/s/datasets" ;
    ont:isTopLevelEndpoint true .

<https://prez.dev/endpoint/spaceprez/feature-collection> a ont:ObjectEndpoint ;
    ont:ParentToFocusRelation rdfs:member ;
    ont:deliversClasses geo:FeatureCollection ;
    ont:endpointTemplate "/s/datasets/$parent_1/collections/$object" ;
    ont:parentEndpoint <https://prez.dev/endpoint/spaceprez/feature-collection-listing> .

<https://prez.dev/endpoint/spaceprez/feature-collection-listing> a ont:ListingEndpoint ;
    ont:ParentToFocusRelation rdfs:member ;
    ont:baseClass geo:FeatureCollection ;
    ont:deliversClasses prez:FeatureCollectionList ;
    ont:endpointTemplate "/s/datasets/$parent_1/collections" ;
    ont:parentEndpoint <https://prez.dev/endpoint/spaceprez/dataset> .

<https://prez.dev/endpoint/spaceprez/feature-listing> a ont:ListingEndpoint ;
    ont:ParentToFocusRelation rdfs:member ;
    ont:baseClass geo:Feature ;
    ont:deliversClasses prez:FeatureList ;
    ont:endpointTemplate "/s/datasets/$parent_2/collections/$parent_1/items" ;
    ont:parentEndpoint <https://prez.dev/endpoint/spaceprez/feature-collection> .

<https://prez.dev/endpoint/vocprez/collection> a ont:ObjectEndpoint ;
    ont:deliversClasses skos:Collection ;
    ont:endpointTemplate "/v/collection/$object" ;
    ont:parentEndpoint <https://prez.dev/endpoint/vocprez/collection-listing> .

<https://prez.dev/endpoint/vocprez/collection-listing> a ont:ListingEndpoint ;
    ont:baseClass skos:Collection ;
    ont:deliversClasses prez:VocPrezCollectionList ;
    ont:endpointTemplate "/v/collection" ;
    ont:isTopLevelEndpoint true .

<https://prez.dev/endpoint/vocprez/vocab> a ont:ObjectEndpoint ;
    ont:deliversClasses skos:ConceptScheme ;
    ont:endpointTemplate "/v/vocab/$object" ;
    ont:parentEndpoint <https://prez.dev/endpoint/vocprez/vocabs-listing> .

<https://prez.dev/endpoint/vocprez/vocabs-listing> a ont:ListingEndpoint ;
    ont:baseClass skos:ConceptScheme ;
    ont:deliversClasses prez:SchemesList ;
    ont:endpointTemplate "/v/vocab" ;
    ont:isTopLevelEndpoint true .

