OpenRiC Extension Ontology v1
Namespace IRI: https://openric.org/ns/ext/v1#
Preferred prefix: openricx
Status: Active (spec v0.55.1) · Issued: 2026-04-25 · Licence: CC-BY 4.0
Machine-readable ontology: v1.ttl (Turtle) · Version: 1.6.0, version IRI https://openric.org/ns/ext/v1.6.0 · Targets: RiC-O 1.1
Catalyst: RiC-O 1.1 conformance audit, April 2026.
Purpose
OpenRiC commits never to mint new terms in the ICA RiC-O namespace. This extension namespace holds 57 terms that OpenRiC implementations need but RiC-O 1.1 does not define. They fall into three categories:
- Response-envelope classes for paginated JSON-LD list endpoints (e.g.
openricx:RecordList,openricx:AgentList). These are protocol concerns, not archival semantics, and would not normally be upstream candidates. - Pragmatic API shortcuts that have a clean canonical RDF expansion in RiC-O 1.1 (e.g.
openricx:hasOccupation→ SKOS Concept ofrico:OccupationType;openricx:DateRange→ native RiC-O Date pattern). These are kept for API ergonomics. - Candidate upstream proposals for ICA-EGAD — terms with genuine archival semantics that RiC-O 1.1 does not yet model (e.g.
openricx:ContactPoint,openricx:hasAppraisalInformation,openricx:containsPersonalData).
The full per-term disposition with confidence flags is in the audit document.
Classes
Response-envelope (9)
| Term | Wraps |
|---|---|
openricx:RecordList |
rico:Record list responses |
openricx:RecordSetList |
rico:RecordSet list responses |
openricx:AgentList |
rico:Agent (any subtype) list responses |
openricx:PlaceList |
rico:Place list responses |
openricx:RuleList |
rico:Rule list responses |
openricx:ActivityList |
rico:Activity list responses |
openricx:InstantiationList |
rico:Instantiation list responses |
openricx:FunctionList |
openricx:Function list responses |
openricx:RepositoryList |
Repository (rico:CorporateBody) list responses; added 2026-10-15 |
Semantic extension (7)
| Term | Comment |
|---|---|
openricx:Function |
ISDF business/archival function. Interim canonical class; see mapping.md §6.4. |
openricx:ContactPoint |
Repository / organisation contact (address, phone, email). Open candidate-upstream. |
openricx:DateRange |
Structured date range (begin / end / expressedDate qualifier). RiC-O 1.1 dropped its own DateRange class. A subclass of rico:Date since v0.50.0: literal endpoints on rico:beginningDate / rico:endDate, type on rico:hasDateType → a date-type concept. |
openricx:DateRangeSet |
Collection of openricx:DateRange instances. |
openricx:Checksum |
Structured checksum (algorithm + value). Optional PREMIS-friendly alternative to inline string form. |
openricx:Carrier |
An individual physical medium (this tape, this disc), a subclass of rico:Thing. rico:CarrierType names only the kind. Pending the Carrier class planned for RiC-O 2.0; added in 1.3.0. |
openricx:Container |
A box, folder, map drawer or crate in which records, carriers or smaller containers are kept, a subclass of rico:Thing; placed in a rico:Place with rico:hasOrHadLocation. RiC-O 1.1 has no container or storage class; added in 1.6.0. |
openricx:ContainerType |
A category of container (box, folder), a subclass of rico:Type; added in 1.6.0. |
openricx:Occupation |
An occupation an agent held, with its dates; RiC-O 1.1 has only rico:OccupationType, the kind. Added in 1.3.0. |
Properties (65)
Grouped by purpose. Full domain/range and rdfs:comment for each is in the Turtle ontology.
Address & contact (7)
openricx:contact, openricx:streetAddress, openricx:city, openricx:postalCode, openricx:country, openricx:telephone, openricx:email
Date ranges (2)
openricx:hasDateRange, openricx:hasDateRangeSet
Description / notes (5)
openricx:description, openricx:descriptiveNote, openricx:generalContext, openricx:arrangement (deprecated, use rico:structure), openricx:publicationInformation
Internal structure / policy (2)
openricx:hasInternalStructure, openricx:hasOrHadPolicy
Geographical context (3)
openricx:hasBroaderGeographicalContext and openricx:hasNarrowerGeographicalContext (both deprecated 2026-10-19; use rico:isOrWasContainedBy and rico:containsOrContained), openricx:jurisdiction (deprecated 2026-10-15, never emitted; use openric:jurisdiction)
Names / labels (4)
openricx:alternativeForm, openricx:normalizedForm, openricx:otherName, openricx:languageCode
Privacy & appraisal (2)
openricx:containsPersonalData, openricx:hasAppraisalInformation
Occupation (1)
openricx:hasOccupation
Format / carrier / size (6)
openricx:hasMimeType, openricx:mimeType, openricx:size, openricx:hasPhysicalCharacteristics (deprecated 2026-10-19; use rico:physicalCharacteristicsNote), openricx:technicalCharacteristics (RiC-O 1.1’s rico:technicalCharacteristics applies only to a rico:Mechanism), openricx:productionTechnicalCharacteristics (deprecated 2026-10-19; use rico:productionTechnique)
Checksum (3)
openricx:hasChecksum, openricx:algorithm, openricx:checksumValue
Source-standard notes (4, added 2026-10-15)
openricx:accrualsNote (ISAD(G) 3.3.3; deprecated, use rico:accruals), openricx:institutionType (ISDIAH 5.1.5), openricx:openingHours (ISDIAH 5.4.1), openricx:accessibility (ISDIAH 5.4.3)
SPARQL endpoint description (5, four added 2026-10-15)
openricx:accessPolicy, openricx:rateLimit, openricx:maxQueryTimeSeconds, openricx:exampleQueriesUrl - returned by GET /sparql/info (SPARQL Access, draft); openricx:hasSparqlContextBinding is a documentation term of that profile’s shape, added in 1.4.0
Relation qualifiers (2, added in 1.3.0 and 1.3.1)
openricx:relationHasAgentRole - the rico:RoleType in which an agent took part in any rico:Relation, generalising rico:creationWithRole (declared its sub-property). ICA-EGAD intends a generic property for RiC-O 1.2; this one will be bound to it with owl:equivalentProperty. Its values come from the role-type vocabulary.
openricx:relationHasLanguage - the rico:Language used in the context of a rico:Relation, such as the language of a performance (RiC-O #146); added in 1.3.1.
Kinship of care (6, added in 1.3.0)
openricx:hasAdoptedChild (a sub-property of rico:hasChild), openricx:isOrWasAdoptedChildOf, openricx:hasFosterChild, openricx:isOrWasFosterChildOf, openricx:isOrWasGuardianOf, openricx:isOrWasUnderGuardianshipOf - all under rico:hasFamilyAssociationWith
Carrier (2, added in 1.3.0)
openricx:hasCarrier (from a rico:Instantiation to its openricx:Carrier), openricx:isCarrierOf
Storage (4, added in 1.6.0)
openricx:isOrWasStoredIn (from a rico:RecordResource, rico:Instantiation or openricx:Container to the openricx:Container it is or was kept in), openricx:storesOrStored, openricx:hasContainerType, openricx:isContainerTypeOf. Where a container is kept is a rico:Place (a building, strongroom or shelf, typed with rico:hasOrHadPlaceType), given with rico:hasOrHadLocation.
Rule details (5, added in 1.3.0)
openricx:restrictionType, openricx:customText, openricx:appliesToDescendants, openricx:securityLevel, openricx:securityLevelCode - on rico:Rule nodes for access restrictions and security classifications; a rule’s period uses rico:beginningDate and rico:endDate
Dates and occupations (2, added in 1.3.0)
openricx:hasDateOfExistence (a sub-property of rico:isAssociatedWithDate), openricx:isCurrent (on an openricx:Occupation)
Assertion provenance (4, added in 1.4.0)
openricx:assertionStatus ("inferred"), openricx:confidence (0 to 1), openricx:inferenceReceipt, openricx:humanConfirmed - the machine-assertion markers of the Inferred-Provenance draft profile
API envelopes, the service description, errors, graph primitives and the localType, jurisdiction and role annotations are in the separate OpenRiC API vocabulary (openric:).
Versioning policy
- The
/v1#namespace path is stable. Breaking changes (term removed, semantics changed, domain/range narrowed) MUST happen at/v2#. - Additive changes (new classes, new properties, expanded domain/range, looser constraints) MAY land within
/v1#and bump theowl:versionInfominor or patch number. - Every term in
/v1#is versioned through OpenRiC’s CHANGELOG and audit doc. - Term IRIs never carry a version: a term is always
https://openric.org/ns/ext/v1#<name>, in every release of the ontology. What is versioned is the ontology document. Each release has anowl:versionIRI(https://openric.org/ns/ext/v1.6.0for this one), which resolves to a page naming that release and its Turtle, and anowl:priorVersionpointing at the one before. An implementation that needs to state exactly which definitions it relies on cites the version IRI; it does not change the term IRIs it emits. - A term RiC-O 1.1 turns out to cover is not removed: it is marked
owl:deprecated truewithdcterms:isReplacedBynaming the RiC-O term, and stays valid. https://openric.org/ns/ext/v1itself returns this HTML page whatever theAcceptheader, because GitHub Pages cannot negotiate content. The Turtle is atv1.ttl.
Version history
| Version | Date | Spec | Changes |
|---|---|---|---|
| 1.6.0 | 2026-10-20 | v0.55.0 | Physical storage, which RiC-O 1.1 does not model: openricx:Container (a subclass of rico:Thing), openricx:ContainerType (a subclass of rico:Type), openricx:isOrWasStoredIn and its inverse openricx:storesOrStored, and openricx:hasContainerType and its inverse. A container is placed in a rico:Place with RiC-O’s own rico:hasOrHadLocation. No term is changed or removed. |
| 1.5.0 | 2026-10-20 | v0.54.0 | The range of openricx:hasDateRangeSet is openricx:DateRange, as the mapping, the profiles, the JSON Schemas and every implementation use it. It was openricx:DateRangeSet, which under RDFS inference made every date range a date range set. openricx:DateRangeSet and openricx:hasDateRange stay defined, for a server that groups ranges explicitly. No term is added or removed. |
| 1.4.0 | 2026-10-19 | v0.53.0 | The four assertion-provenance properties the Inferred-Provenance draft profile and its SHACL shape had used since spec v0.43.0 without a definition, and openricx:hasSparqlContextBinding from the SPARQL Access shape. Every openricx: term the specification repository uses is now defined. |
| 1.3.1 | 2026-10-19 | v0.52.1 | openricx:relationHasLanguage, the language used in the context of a relation (RiC-O #146), named on the Records_in_Contexts_users list the same day |
| 1.3.0 | 2026-10-19 | v0.52.0 | Ten terms the reference service had defined since its v0.17.0 in its own copy of the ontology, three of them already emitted: openricx:Carrier, openricx:hasCarrier and openricx:relationHasAgentRole. Also added: the six kinship-of-care properties, openricx:isCarrierOf, and rico:creationWithRole declared a sub-property of openricx:relationHasAgentRole. Also defined: openricx:Occupation and seven properties the service sent without a definition (five rule details, hasDateOfExistence, isCurrent). This file is now the only definition of the extension, and the reference service’s nightly graph rebuild refuses openricx: terms it does not define. |
| 1.2.0 | 2026-10-19 | v0.50.1 | Four terms deprecated in favour of RiC-O 1.1 (hasBroaderGeographicalContext, hasNarrowerGeographicalContext, hasPhysicalCharacteristics, productionTechnicalCharacteristics); nine properties anchored to RiC-O with rdfs:subPropertyOf (rico:note, rico:isRelatedTo, rico:isAssociatedWithDate); comments on every property; owl:versionIRI, owl:priorVersion, dcterms:modified and the RiC-O 1.1 version it targets stated in the ontology itself |
| 1.1.0 | 2026-10-15 | v0.44.0 to v0.50.0 | Source-standard notes, SPARQL endpoint description terms; openricx:DateRange made a subclass of rico:Date in v0.50.0 |
| 1.0.0 | 2026-04-25 | v0.37.0 | First release, from the RiC-O 1.1 namespace remediation |
Upstream proposal status
OpenRiC tracks open upstream-proposal candidates against ICA-EGAD/RiC-O GitHub issues. Current candidates (April 2026):
openricx:ContactPoint+ address fields → proposerico:ContactPointclass.openricx:hasAppraisalInformation→ proposerico:hasAppraisalInformation(ISAD(G) 3.3.2 backing).openricx:containsPersonalData→ proposerico:containsPersonalData(privacy-compliance flag).
The rest are pragmatic API surface and are not expected to migrate upstream.
See also
- OpenRiC mapping spec — the canonical use of each term in context
- RiC-O 1.1 conformance audit — per-term disposition table with audit history
- Turtle ontology — machine-readable form