@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix dct:     <http://purl.org/dc/terms/> .
@prefix dcat:    <http://www.w3.org/ns/dcat#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix groundx: <https://vocab.groundx.ag/v1/> .

#─────────────────────────────────────────────────────────────
# Vocabulario operativo del dataspace GroundX (capa 2)
#
# Solo contiene términos sobre cómo el dataspace funciona:
# acceso, precio, listas de control, schemas. NO contiene
# términos de dominio (esos viven en perfiles sectoriales).
#─────────────────────────────────────────────────────────────
<https://vocab.groundx.ag/v1/> a owl:Ontology ;
    dct:title       "GroundX Dataspace — Operational Vocabulary"@en ,
                    "Vocabulario operativo del Dataspace GroundX"@es ;
    dct:description "Términos operativos comunes a todos los participantes del dataspace GroundX, independientemente del sector."@es ;
    dct:creator     <did:web:provider.groundx.ag> ;
    dct:issued      "2026-05-25"^^xsd:date ;
    owl:versionInfo "1.0.0" .

#─────────────────────────────────────────────────────────────
# Schemas (referencias a JSON Schema del payload)
#─────────────────────────────────────────────────────────────
groundx:requestSchema a rdf:Property ;
    rdfs:label   "request schema"@en ;
    rdfs:domain  dcat:Dataset ;
    rdfs:comment "URL del JSON Schema que describe el body que debe enviar el consumidor al EDR."@es .

groundx:responseSchema a rdf:Property ;
    rdfs:label   "response schema"@en ;
    rdfs:domain  dcat:Dataset ;
    rdfs:comment "URL del JSON Schema al que se ajusta la respuesta del endpoint."@es ;
    rdfs:subPropertyOf dct:conformsTo .

#─────────────────────────────────────────────────────────────
# Propiedades operativas del dataspace
#─────────────────────────────────────────────────────────────
groundx:accessPeriod a rdf:Property ;
    rdfs:label   "access period"@en , "periodo de acceso"@es ;
    rdfs:range   xsd:string ;
    rdfs:comment "Duración del acceso tras negociación. Valores: 1h, 1d, 1w, 1m, 1y, forever."@es .

groundx:price a rdf:Property ;
    rdfs:label   "price"@en , "precio"@es ;
    rdfs:range   xsd:decimal ;
    rdfs:comment "Precio decimal del acceso. La moneda se declara con groundx:currency."@es .

groundx:currency a rdf:Property ;
    rdfs:label   "currency"@en , "moneda"@es ;
    rdfs:range   xsd:string ;
    rdfs:comment "Código ISO 4217 (ej. EUR, USD)."@es .

groundx:allowlist a rdf:Property ;
    rdfs:label   "allowlist"@en ;
    rdfs:comment "DIDs explícitamente permitidos a acceder al recurso."@es .

groundx:denylist a rdf:Property ;
    rdfs:label   "denylist"@en ;
    rdfs:comment "DIDs explícitamente bloqueados."@es .
