# Rule 62: Verified Ontology Terms Reference 🚨 **CRITICAL**: All `class_uri`, `slot_uri`, and mapping properties (`exact_mappings`, `close_mappings`, etc.) MUST use verified classes and predicates that exist in the local ontology files at `data/ontology/`. ## 1. Verified Ontology Files The following ontologies are locally available. Always verify terms against these specific files. | Prefix | Namespace | Local File | Key Classes/Predicates (Verified) | |--------|-----------|------------|-----------------------------------| | `cpov:` | `http://data.europa.eu/m8g/` | `core-public-organisation-ap.ttl` | `PublicOrganisation`, `contactPage`, `email` | | `crm:` | `http://www.cidoc-crm.org/cidoc-crm/` | `CIDOC_CRM_v7.1.3.rdf` | `E1_CRM_Entity`, `E5_Event`, `P2_has_type` | | `rico:` | `https://www.ica.org/standards/RiC/ontology#` | `RiC-O_1-1.rdf` | `Record`, `Agent`, `hasOrHadHolder` | | `pico:` | `https://personsincontext.org/model#` | `pico.ttl` | `PersonObservation`, `role` | | `prov:` | `http://www.w3.org/ns/prov#` | `prov.ttl` | `Activity`, `Agent`, `wasGeneratedBy` | | `skos:` | `http://www.w3.org/2004/02/skos/core#` | `skos.rdf` | `Concept`, `prefLabel`, `broader` | | `schema:` | `http://schema.org/` | `schemaorg.owl` | `Organization`, `Place`, `name`, `url` | | `dcterms:` | `http://purl.org/dc/terms/` | `dublin_core_elements.rdf` | `identifier`, `title`, `description` | | `org:` | `http://www.w3.org/ns/org#` | `org.rdf` | `Organization`, `hasMember` | | `tooi:` | `https://identifier.overheid.nl/tooi/def/ont/` | `tooiont.ttl` | `Overheidsorganisatie` | | `dcat:` | `http://www.w3.org/ns/dcat#` | `dcat3.ttl` | `Dataset`, `Catalog`, `dataset` | | `gn:` | `https://www.geonames.org/ontology#` | `geonames_ontology.rdf` | `Feature` | ## 2. Verification Procedure Before using a URI in a schema, verify it exists in the local file: ```bash # General verification grep -r "Term" data/ontology/ # Specific verification (e.g. searching for 'hasPart' in Dublin Core) grep "hasPart" data/ontology/dublin_core_elements.rdf ``` ## 3. LinkML Mapping Requirements Mappings must be precise and verified. * `exact_mappings` = `skos:exactMatch` (Semantic equivalence) * `close_mappings` = `skos:closeMatch` (Near equivalence) * `related_mappings` = `skos:relatedMatch` (Association) * `broad_mappings` = `skos:broadMatch` (Broader concept) * `narrow_mappings` = `skos:narrowMatch` (Narrower concept) ## 4. Prohibited/Invalid Terms Do NOT use these commonly hallucinated or incorrect terms: * ❌ `dqv:value` (Use `rdf:value` or specific metric property) * ❌ `premis:hasFrameRate` (Verify specific PREMIS properties first) * ❌ `schema:HeritageBuilding` (Use `schema:LandmarksOrHistoricalBuildings`) * ❌ `rico:has_provenance` (Use `rico:hasProvenance` or `rico:history`) **Always verify against the local file content.**