Refactor YAML schemas to enhance clarity and consistency, adding new slots for authors, fields, and language codes.

This commit is contained in:
kempersc 2026-01-31 20:27:06 +01:00
parent cb1f9104b6
commit 88b325fcdd
13 changed files with 179 additions and 66 deletions

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-31T17:14:51.812Z",
"generated": "2026-01-31T19:27:06.734Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3003,
"categoryCounts": {

View file

@ -260,12 +260,12 @@ classes:
- PRINT_CATALOG
- hc:HardcoverBinding
has_or_had_author:
- author_name: Pieter Roelofs
author_role: AUTHOR
author_affiliation: Rijksmuseum Amsterdam
- author_name: Gregor J.M. Weber
author_role: AUTHOR
author_affiliation: Rijksmuseum Amsterdam
- has_or_had_name: Pieter Roelofs
has_or_had_role: AUTHOR
is_or_was_affiliated_with: Rijksmuseum Amsterdam
- has_or_had_name: Gregor J.M. Weber
has_or_had_role: AUTHOR
is_or_was_affiliated_with: Rijksmuseum Amsterdam
is_or_was_edited_by:
- has_or_had_label: Pieter Roelofs
has_or_had_publisher:

View file

@ -15,6 +15,9 @@ prefixes:
org: http://www.w3.org/ns/org#
imports:
- linkml:types
- ../slots/has_or_had_field
- ../slots/has_or_had_text
- ../slots/has_or_had_method
default_range: string
classes:
ExtractionSourceInfo:
@ -25,16 +28,18 @@ classes:
related_mappings:
- prov:Derivation
- schema:PropertyValue
attributes:
field:
range: string
slots:
- has_or_had_field
- has_or_had_text
- has_or_had_method
slot_usage:
has_or_had_field:
description: Field name that was extracted
extracted_text:
range: string
has_or_had_text:
description: The text that was extracted
method:
range: string
has_or_had_method:
description: Extraction method (pattern_matching, llm, etc.)
range: string
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration

View file

@ -14,6 +14,12 @@ prefixes:
org: http://www.w3.org/ns/org#
imports:
- linkml:types
- ../slots/has_or_had_author_name
- ../slots/has_or_had_url
- ../slots/has_or_had_rating
- ../slots/has_or_had_description
- ../slots/has_or_had_text
- ../slots/has_or_had_publication_date
default_range: string
classes:
GoogleReview:
@ -24,28 +30,27 @@ classes:
related_mappings:
- prov:Entity
- schema:Rating
attributes:
author_name:
range: string
author_uri:
range: uri
rating:
slots:
- has_or_had_author_name
- has_or_had_url
- has_or_had_rating
- has_or_had_description
- has_or_had_text
- has_or_had_publication_date
slot_usage:
has_or_had_author_name:
description: Author/Reviewer name
has_or_had_url:
description: Author profile URL
has_or_had_rating:
range: integer
relative_time_description:
range: string
relative_time:
range: string
description: Alias for relative_time_description
text:
range: string
publish_time:
range: datetime
reviewer:
range: string
description: Alias for author_name (reviewer name)
date:
range: string
description: Alias for relative_time_description (review date)
description: Rating value (1-5 stars)
has_or_had_description:
description: Relative time description (e.g., "a week ago")
has_or_had_text:
description: Review content
has_or_had_publication_date:
description: Timestamp of review
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration

View file

@ -16,6 +16,10 @@ prefixes:
imports:
- linkml:types
- ../slots/has_or_had_code
- ../slots/has_or_had_iso_639_1
- ../slots/has_or_had_iso_639_3
- ../slots/has_or_had_text
- ../slots/has_or_had_label
classes:
Language:
class_uri: dct:LinguisticSystem
@ -56,45 +60,35 @@ classes:
- schema:Language
slots:
- has_or_had_code
attributes:
language_name:
range: string
description: 'Human-readable name of the language (e.g., "English", "Dutch", "French").
Parsed from raw string, not authoritative. Use ISO codes for formal identification.
'
iso_639_1:
range: string
description: ISO 639-1 two-letter code (e.g., "fr", "en", "de", "nl")
pattern: ^[a-z]{2}$
iso_639_3:
range: string
description: ISO 639-3 three-letter code (e.g., "fra", "eng", "deu", "nld")
pattern: ^[a-z]{3}$
text_content:
range: string
description: "Text content in this language.\n\nUsed when bundling language identification with the actual text content.\nThis enables migration from language-specific slots (fr, de, en, nl) to\na unified Language-tagged pattern.\n\n**Example**:\n```yaml\nhas_or_had_language:\n - iso_639_1: \"fr\"\n language_name: \"French\"\n text_content: \"archives universitaires\"\n - iso_639_1: \"en\"\n language_name: \"English\"\n text_content: \"university archives\"\n```\n"
- has_or_had_iso_639_1
- has_or_had_iso_639_3
- has_or_had_text
- has_or_had_label
slot_usage:
has_or_had_label:
description: 'Human-readable name of the language (e.g., "English", "Dutch", "French"). Parsed from raw string, not authoritative. Use ISO codes for formal identification.'
has_or_had_text:
description: "Text content in this language. Used when bundling language identification with the actual text content."
examples:
- value: 'iso_639_1: "fr"
- value: 'has_or_had_iso_639_1: "fr"
language_name: "French"
has_or_had_label: "French"
text_content: "archives universitaires"
has_or_had_text: "archives universitaires"
'
description: French language-tagged text for multilingual label
- value: 'iso_639_1: "en"
- value: 'has_or_had_iso_639_1: "en"
language_name: "English"
has_or_had_label: "English"
'
description: English language identifier (without text content)
- value: 'iso_639_1: "nl"
- value: 'has_or_had_iso_639_1: "nl"
language_name: "Dutch"
has_or_had_label: "Dutch"
text_content: "universitair archief"
has_or_had_text: "universitair archief"
'
description: Dutch language-tagged text

View file

@ -372,9 +372,9 @@ classes:
begin_of_the_begin: '2011-09-01'
end_of_the_end: null
created_by_project:
project_id: https://nde.nl/ontology/hc/project/europeana-dsi
project_name: Europeana DSI (Digital Service Infrastructure)
project_description: "EU-funded project under CEF Telecom to develop and maintain the \nEuropeana digital platform as core European cultural heritage infrastructure.\n"
has_or_had_identifier: https://nde.nl/ontology/hc/project/europeana-dsi
has_or_had_label: Europeana DSI (Digital Service Infrastructure)
has_or_had_description: "EU-funded project under CEF Telecom to develop and maintain the \nEuropeana digital platform as core European cultural heritage infrastructure.\n"
funding_sources:
- https://nde.nl/ontology/hc/funding-org/eu/cef-telecom
project_period:

View file

@ -47,7 +47,7 @@ slots:
**Range**: Any to accept both ISO datetime strings and Timestamp objects
'
# range: datetime
# range: Any
inlined: true
required: false
multivalued: false

View file

@ -0,0 +1,21 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_author_name
name: has_or_had_author_name
title: Has Or Had Author Name
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_author_name:
slot_uri: schema:author
description: "Name of the author (string value)."
range: string
multivalued: true
related_mappings:
- schema:author
annotations:
custodian_types: '["*"]'
specificity_score: 0.3

View file

@ -0,0 +1,21 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_field
name: has_or_had_field
title: Has Or Had Field
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_field:
slot_uri: schema:name
description: "Name of a data field or property."
range: string
multivalued: true
close_mappings:
- schema:propertyID
annotations:
custodian_types: '["*"]'
specificity_score: 0.2

View file

@ -0,0 +1,22 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_iso_639_1
name: has_or_had_iso_639_1
title: Has Or Had ISO 639-1
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
dct: http://purl.org/dc/terms/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_iso_639_1:
slot_uri: dct:language
description: "ISO 639-1 two-letter language code."
range: string
pattern: ^[a-z]{2}$
multivalued: true
close_mappings:
- dct:language
annotations:
custodian_types: '["*"]'
specificity_score: 0.3

View file

@ -0,0 +1,22 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_iso_639_3
name: has_or_had_iso_639_3
title: Has Or Had ISO 639-3
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
dct: http://purl.org/dc/terms/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_iso_639_3:
slot_uri: dct:language
description: "ISO 639-3 three-letter language code."
range: string
pattern: ^[a-z]{3}$
multivalued: true
close_mappings:
- dct:language
annotations:
custodian_types: '["*"]'
specificity_score: 0.3

View file

@ -0,0 +1,23 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_publication_date
name: has_or_had_publication_date
title: Has Or Had Publication Date
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_publication_date:
slot_uri: schema:datePublished
description: "Date when an entity was published."
range: datetime
multivalued: true
exact_mappings:
- schema:datePublished
- dcterms:issued
annotations:
custodian_types: '["*"]'
specificity_score: 0.2

View file