Source: Mapping PIDINST to Refactored CERIF Numbers below refer to the PIDINST item IDs in that spreadsheet.
Current state of the module: Instrument_Instance and Instrument_Model exist only as boilerplate skeletons (one relationship each: is-instance-of / has-instance). Everything else from the mapping is missing.
Contribution types (subclasses of Contribution_to_Infrastructure)
- Infrastructure_Ownership — for the legal owner (item 5)
- Infrastructure_Operation — for the operator (item 5); its
date rangecarries the commissioned/decommissioned dates (item 11) - Manufacturing —
actoris the manufacturer (item 6)
Identifier classes (subclasses of Resource_Identifier)
- Instrument_Instance_Identifier — base for alternate identifiers of an instance (item 13); note: record the context in which the identifier is meaningful, where available
- Serial_Number —
alternateIdentifierType=SerialNumber(item 13.1) - Inventory_Number —
alternateIdentifierType=InventoryNumber(item 13.2) - Other_Instrument_Identifier —
alternateIdentifierType=Other(item 13.3) - Instrument_Model_Identifier —
modelIdentifier(item 7.2) - Decide: PIDINST item 1 (the PID itself) — the general notes say CERIF maps it to a specific subclass of Resource_Identifier; decide whether to define that subclass here or keep it generic
- Metadata_Set (subclass of Document) — target of
HasMetadatarelated identifiers (item 12) - Instrument_Model_Type (controlled-vocabulary class) — values for
Instrument_Model.type(item 9) - Open question (end of spreadsheet): Group_of_Instruments — possible intermediate entity for groups of instruments
-
Instrument_Model.type : Instrument_Model_Type(item 9) -
Instrument_Model.measuredVariable— free text, 0–n (item 10) -
descriptiongap: item 8 maps toInfrastructure.description, but neither Resource nor Infrastructure in Core has adescriptionattribute. Decide: propose adding it to CERIF-Core, or add a module-leveldescriptionattribute on Instrument_Model (and possibly Instrument_Instance)
- Instance→model relationship: the spreadsheet maps items 6–10 to
Infrastructure_Instance.model; the module currently names itis-instance-of/has-instance. Decide and document (rename, or note the discrepancy) -
HasMetadata(item 12): the spreadsheet says useResource.is-described-bypointing at a Metadata_Set, while Core also hashas-metadata/is-metadata-of. Follow the spreadsheet and document the choice - Document explicitly unsupported / unmapped items:
- item 2 SchemaVersion (fixed "1.0", no mapping)
- item 7.2.1 modelIdentifierType (not mapped at this stage)
- item 12
References(too generic, not supported) - item 12
IsAttachedTo(not supported at this stage) - providing access to the instrument via a Service (general note 2 — not covered by this module)
- Item 5.3/6.2 agent identifiers: the subtype of Agent_Identifier encodes the
identifierType(general note 3) — state this in the usage notes
- item 1 Identifier →
Resource.has-identifier(Resource_Identifier attached to the Resource ancestor) - item 3 LandingPage →
Infrastructure.url - item 4 Name →
Infrastructure.title - item 5 Owner →
Infrastructure.has-contributionwith Infrastructure_Ownership / Infrastructure_Operation; owner is thehas-actorAgent - item 5.1 ownerName → name of the linked Agent (Group_or_Organisation_Unit.name, Person.name, or
display person nameof an Affiliation_Statement linked to the contribution) - item 5.2 ownerContact →
contactsof that Affiliation_Statement, using Email_Address - item 5.3 ownerIdentifier → concrete subtype of Agent_Identifier assigned to the owner Agent
- item 11 Date →
date rangeof the Operating (Infrastructure_Operation) contribution: startDate = Commissioned, endDate = DeCommissioned - item 12 RelatedIdentifier:
IsDescribedBy→Resource.has-descriptionIsNewVersionOf→Resource.is-new-version-ofIsPreviousVersionOf→Resource.is-previous-version-ofHasComponent→Resource.has-partIsComponentOf→Resource.is-part-ofWasUsedIn→ Resource_Usage_Statement →details(Contribution_Statement) →references(Contribution, which is an Activity, i.e. the research activity the instrument was deployed in)IsIdenticalTo→ multiple Resource_Identifiers on the same Infrastructure
- item 13 AlternateIdentifier → Instrument_Instance_Identifier subtypes (see section 1)
- item 6 Manufacturer → Manufacturing contribution;
has-actoris the manufacturer - item 6.1 manufacturerName → Group_or_Organisation_Unit.name / Person.name / Affiliation_Statement
display person name - item 6.2 manufacturerIdentifier → concrete subclass of Agent_Identifier
- item 7.1 modelName →
Infrastructure.title - item 7.2 modelIdentifier → Instrument_Model_Identifier
-
entities/Instrument_Instance.md— replace the "The scope of the entity..." placeholders with real Definition / Usage notes, Constraints, and the mappings from section 4 -
entities/Instrument_Model.md— same
- Remove placeholder files:
entities/XXX.md,datatypes/XXX.md,datatypes/YYY.md - Rewrite
diagrams/module.puml(still shows the XXX template inheriting from Publication_Channel) with the real class hierarchy; regeneratemodule.svg - Replace placeholder example
examples/01_XXX/with a real example: a PIDINST record (instance + model info) serialized in CERIF (.ttl+.puml+.svg); updateexamples/README.md - Update
README.mdlistings (still references XXX/YYY data types) - Generate
serializations/RDF/(the Scholarly Publication Module ships generated OWL/RDF; this module has none) - Add a
.gitignore(.idea/is currently untracked)
- Possibly an intermediate entity
Group_of_Instruments? - Number of instruments (in a group?)
- Location (of the instrument instance?)
- Responsible person / organisation unit?