# 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 in `data/ontology/`. Always verify terms against these specific files. **NO HALLUCINATIONS ALLOWED.** **Mandatory Verification Step**: Before using any `class_uri`, `slot_uri`, or mapping URI, you MUST `grep` the term in the local ontology file to confirm it exists. | 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` (Note: Use v1.1 file) | | `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:` | `https://schema.org/` | `frontend/public/ontology/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` | | `dqv:` | `http://www.w3.org/ns/dqv#` | `dqv.ttl` | `QualityMeasurement`, `hasQualityAnnotation` | | `premis:` | `http://www.loc.gov/premis/rdf/v3/` | `premis3.owl` | `fixity`, `storedAt`, `Event` | ## 2. Verification Procedure (MANDATORY) **You MUST verify every term.** Do not assume a term exists just because it sounds standard. ```bash # 1. Identify the source ontology file ls data/ontology/ # 2. Grep for the specific term (e.g., 'hasFixity') grep "hasFixity" data/ontology/premis3.owl # Result: EMPTY -> Term does not exist! DO NOT USE. # 3. Grep for the correct term (e.g., 'fixity') grep "fixity" data/ontology/premis3.owl # Result: -> Term exists. USE THIS. ``` ## 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 (Hallucinations) Do NOT use these commonly hallucinated or incorrect terms. They have been verified as **non-existent** in our local ontologies: * ❌ `dqv:ConfidenceScore` (Use `dqv:QualityMeasurement`) * ❌ `premis:hasFixity` (Use `premis:fixity`) * ❌ `premis:hasFrameRate` (Verify specific PREMIS properties first) * ❌ `schema:HeritageBuilding` (Use `schema:LandmarksOrHistoricalBuildings`) * ❌ `rico:has_provenance` (Use `rico:history`) * ❌ `rico:hasProvenance` (Use `rico:history`) * ❌ `schema:archive` (Use `schema:archiveHeld` or `schema:archivedAt`) **Always verify against the local file content.**