Refactor and update schema definitions

- Removed obsolete slots: `has_or_had_custodian_observation`, `provider`, and `specificity_annotation`.
- Updated `has_or_had_score` slot to use `SpecificityScore` class and modified its description and examples.
- Added new slots: `end_seconds`, `end_time`, `has_archive_path`, `has_or_had_custodian_name`, `protocol_name`, and `protocol_version`.
- Introduced a script `check_annotation_types.py` to validate the presence and structure of `custodian_types` in YAML files.
- Added a script `update_specificity.py` to automate updates related to `SpecificityAnnotation` to `SpecificityScore`.
This commit is contained in:
kempersc 2026-02-01 19:55:38 +01:00
parent 01e382b53b
commit fc405445c6
1965 changed files with 11325 additions and 16727 deletions

59
break_archive_cycles.py Normal file
View file

@ -0,0 +1,59 @@
import os
def check_and_fix(path):
filename = os.path.basename(path)
if not filename.endswith("RecordSetTypes.yaml"):
return
# Filename: WomensArchivesRecordSetTypes.yaml
# Custodian class: WomensArchives.yaml
custodian_class = filename.replace('RecordSetTypes.yaml', '')
custodian_class_s = custodian_class + "s"
with open(path, 'r') as f:
lines = f.readlines()
new_lines = []
in_imports = False
modified = False
for line in lines:
stripped = line.strip()
if stripped == "imports:":
in_imports = True
new_lines.append(line)
continue
if in_imports:
if not stripped.startswith("-"):
if stripped and not stripped.startswith("#"):
in_imports = False
new_lines.append(line)
else:
import_path = stripped.lstrip("- ").strip()
# Check for import of custodian class: - ./WomensArchives
if import_path == f"./{custodian_class}":
print(f"Removing cycle import in {path}: {stripped}")
modified = True
continue
elif import_path == f"./{custodian_class_s}":
print(f"Removing cycle import (plural) in {path}: {stripped}")
modified = True
continue
else:
new_lines.append(line)
else:
new_lines.append(line)
if modified:
with open(path, 'w') as f:
f.writelines(new_lines)
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
check_and_fix(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/classes")

50
check_annotation_types.py Normal file
View file

@ -0,0 +1,50 @@
import yaml
import os
def check_file(path):
try:
with open(path, 'r') as f:
data = yaml.safe_load(f)
except Exception as e:
print(f"Error parsing {path}: {e}")
return
if 'classes' in data:
for class_name, class_def in data['classes'].items():
if 'custodian_types' in class_def:
print(f"Misplaced custodian_types found in {path} Class {class_name} (root level)")
if 'slot_usage' in class_def and class_def['slot_usage']:
for slot_name, slot_def in class_def['slot_usage'].items():
if slot_def and 'custodian_types' in slot_def:
print(f"Misplaced custodian_types found in {path} Class {class_name} SlotUsage {slot_name}")
if 'annotations' in class_def:
ann = class_def['annotations']
if ann and 'custodian_types' in ann:
val = ann['custodian_types']
if isinstance(val, list):
print(f"List value found in {path} Class {class_name}: {val}")
elif not isinstance(val, str):
print(f"Non-string value found in {path} Class {class_name}: {val} (type: {type(val)})")
if 'slots' in data:
for slot_name, slot_def in data['slots'].items():
if 'custodian_types' in slot_def:
print(f"Misplaced custodian_types found in {path} Slot {slot_name} (root level)")
if 'annotations' in slot_def:
ann = slot_def['annotations']
if ann and 'custodian_types' in ann:
val = ann['custodian_types']
if isinstance(val, list):
print(f"List value found in {path} Slot {slot_name}: {val}")
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
check_file(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/classes")
process_directory("schemas/20251121/linkml/modules/slots")

View file

@ -2,6 +2,9 @@ import yaml
import os import os
def check_dir(directory): def check_dir(directory):
print(f"Checking directory: {directory}")
target_keys = ["related_mappings", "close_mappings", "exact_mappings", "broad_mappings", "narrow_mappings", "slots", "slot_usage", "attributes", "annotations", "description", "class_uri", "id", "name", "title", "imports", "prefixes", "default_prefix", "default_range", "classes", "types", "enums", "subsets"]
for root, dirs, files in os.walk(directory): for root, dirs, files in os.walk(directory):
for file in files: for file in files:
if file.endswith(".yaml"): if file.endswith(".yaml"):
@ -9,35 +12,56 @@ def check_dir(directory):
with open(path, 'r') as f: with open(path, 'r') as f:
lines = f.readlines() lines = f.readlines()
# Store (indentation, key) to check for duplicates in the current block
# This is complex to implement perfectly for YAML, but we can look for
# "related_mappings:" specifically.
related_mappings_indices = [i for i, line in enumerate(lines) if "related_mappings:" in line.strip()] keys_at_indent = {} # {indent: {key: line_no}}
prev_indent = 0
if len(related_mappings_indices) > 1: for i, line in enumerate(lines):
# Check indentation stripped = line.strip()
indents = [len(lines[i]) - len(lines[i].lstrip()) for i in related_mappings_indices] if not stripped or stripped.startswith('#') or stripped.startswith('-'):
continue
for i in range(len(related_mappings_indices) - 1):
idx1 = related_mappings_indices[i]
idx2 = related_mappings_indices[i+1]
indent1 = indents[i]
indent2 = indents[i+1]
if indent1 == indent2: indent = len(line) - len(line.lstrip())
# Check if there is a line between them with LOWER indentation (parent key)
if ':' in stripped:
key = stripped.split(':')[0].strip()
# Only check for specific structural keys to avoid noise
if key not in target_keys:
continue
# If indentation increased, we are in a new block
if indent > prev_indent:
pass
# If indentation decreased, clear deeper levels
elif indent < prev_indent:
keys_to_remove = [k for k in keys_at_indent if k > indent]
for k in keys_to_remove:
del keys_at_indent[k]
if indent not in keys_at_indent:
keys_at_indent[indent] = {}
if key in keys_at_indent[indent]:
prev_line = keys_at_indent[indent][key]
# Heuristic: if lines are in same block (no lower indent between)
# We assume it's a duplicate in the same object
# Double check if there was a lower indent line between them
parent_found = False parent_found = False
for j in range(idx1 + 1, idx2): for j in range(prev_line + 1, i):
line = lines[j] inner_line = lines[j]
if line.strip() and not line.strip().startswith('#'): if inner_line.strip() and not inner_line.strip().startswith('#'):
curr_indent = len(line) - len(line.lstrip()) curr_indent = len(inner_line) - len(inner_line.lstrip())
if curr_indent < indent1: if curr_indent < indent:
parent_found = True parent_found = True
break break
if not parent_found: if not parent_found:
print(f"Potential duplicate related_mappings in {path} at lines {idx1+1} and {idx2+1}") print(f"DUPLICATE KEY '{key}' in {path} at line {i+1} (previous at {prev_line+1})")
keys_at_indent[indent][key] = i
prev_indent = indent
check_dir("schemas/20251121/linkml/modules/classes") check_dir("schemas/20251121/linkml/modules/classes")
check_dir("schemas/20251121/linkml/modules/slots")

33
check_self_imports.py Normal file
View file

@ -0,0 +1,33 @@
import os
def check_file(path):
filename = os.path.basename(path)
classname = filename.replace('.yaml', '')
with open(path, 'r') as f:
lines = f.readlines()
in_imports = False
for i, line in enumerate(lines):
stripped = line.strip()
if stripped == "imports:":
in_imports = True
continue
if in_imports:
if not stripped.startswith("-"):
if stripped and not stripped.startswith("#"):
in_imports = False
else:
import_path = stripped.lstrip("- ").strip()
if import_path == f"./{classname}":
print(f"Self-import found in {path} at line {i+1}: {stripped}")
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
check_file(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/classes")

37
check_type_types_cycle.py Normal file
View file

@ -0,0 +1,37 @@
import os
def check_file(path):
filename = os.path.basename(path)
if not filename.endswith("Type.yaml"):
return
classname = filename.replace('.yaml', '')
plural_classname = classname + "s"
with open(path, 'r') as f:
lines = f.readlines()
in_imports = False
for i, line in enumerate(lines):
stripped = line.strip()
if stripped == "imports:":
in_imports = True
continue
if in_imports:
if not stripped.startswith("-"):
if stripped and not stripped.startswith("#"):
in_imports = False
else:
import_path = stripped.lstrip("- ").strip()
if import_path == f"./{plural_classname}":
print(f"Cycle found in {path}: imports plural {plural_classname}")
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
check_file(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/classes")

38
clean_01_imports.py Normal file
View file

@ -0,0 +1,38 @@
import os
def clean_imports(path):
with open(path, 'r') as f:
lines = f.readlines()
bad_imports = [
"DiarizationSegment",
"SpeechSegment",
"MusicSegment",
"ImagingEquipment",
"EADIdentifier",
"LEIIdentifier",
"AlternativeName",
"Series",
"MissionStatement",
"StorageFacility",
"AcquisitionBudget",
"DigitizationBudget"
]
new_lines = []
for line in lines:
stripped = line.strip()
remove = False
for bad in bad_imports:
if bad in stripped and "modules/classes" in stripped:
print(f"Removing {bad} from {path}")
remove = True
break
if not remove:
new_lines.append(line)
with open(path, 'w') as f:
f.writelines(new_lines)
clean_imports("schemas/20251121/linkml/01_custodian_name_modular.yaml")

33
find_custodian_types.py Normal file
View file

@ -0,0 +1,33 @@
import yaml
import os
def check_dict(d, path, context="root"):
if not isinstance(d, dict):
return
for k, v in d.items():
if k == 'custodian_types':
if context != 'annotations':
print(f"Misplaced custodian_types in {path} at context '{context}'")
if isinstance(v, dict):
check_dict(v, path, k)
elif isinstance(v, list):
for item in v:
check_dict(item, path, k)
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
path = os.path.join(root, file)
try:
with open(path, 'r') as f:
data = yaml.safe_load(f)
check_dict(data, path)
except Exception as e:
# Ignore parse errors
pass
process_directory("schemas/20251121/linkml/modules/classes")
process_directory("schemas/20251121/linkml/modules/slots")

89
find_cycles.py Normal file
View file

@ -0,0 +1,89 @@
import os
import networkx as nx
def get_imports(path):
imports = []
try:
with open(path, 'r') as f:
lines = f.readlines()
in_imports = False
for line in lines:
stripped = line.strip()
if stripped == "imports:":
in_imports = True
continue
if in_imports:
if not stripped.startswith("-"):
if stripped and not stripped.startswith("#"):
in_imports = False
else:
imp = stripped.lstrip("- ").strip()
imports.append(imp)
except Exception:
pass
return imports
def build_graph(root_dir):
G = nx.DiGraph()
# Map file paths to node names
# Node name: relative path from root_dir or filename if unique
# LinkML imports are relative paths.
# We need to resolve relative paths.
# files: list of (abs_path, rel_path_from_root)
# root_dir is schemas/20251121/linkml
files_map = {} # abs_path -> rel_path
for root, dirs, files in os.walk(root_dir):
for file in files:
if file.endswith(".yaml"):
abs_path = os.path.join(root, file)
rel_path = os.path.relpath(abs_path, root_dir)
files_map[abs_path] = rel_path
G.add_node(rel_path)
for abs_path, rel_path in files_map.items():
imports = get_imports(abs_path)
base_dir = os.path.dirname(abs_path)
for imp in imports:
# imp is relative to abs_path
# resolve it
if imp.startswith("linkml:"):
continue
imp_abs = os.path.normpath(os.path.join(base_dir, imp))
if not imp_abs.endswith(".yaml"):
imp_abs += ".yaml"
if imp_abs in files_map:
target = files_map[imp_abs]
G.add_edge(rel_path, target)
else:
# print(f"Warning: {rel_path} imports {imp} which resolves to {imp_abs} (not found)")
pass
return G
def find_cycles(G):
try:
cycles = nx.simple_cycles(G)
count = 0
for cycle in cycles:
print("Cycle found:")
print(cycle)
count += 1
if count >= 10:
print("Stopping after 10 cycles.")
break
if count == 0:
print("No cycles found.")
except Exception as e:
print(f"Error finding cycles: {e}")
if __name__ == "__main__":
G = build_graph("schemas/20251121/linkml")
find_cycles(G)

59
fix_dangling.py Normal file
View file

@ -0,0 +1,59 @@
import os
import re
def fix_dangling_in_file(path):
with open(path, 'r') as f:
lines = f.readlines()
new_lines = []
# keys that take lists
list_keys = [
"slots",
"exact_mappings", "close_mappings", "broad_mappings", "related_mappings", "narrow_mappings",
"examples", "comments", "see_also", "keywords", "structured_aliases",
"subsets", "mixins", "apply_to", "union_of", "values", "equals_expression", "equals_string_in",
"aliases", "local_names", "union_of", "defines"
]
last_key_at_4 = None
for i, line in enumerate(lines):
stripped = line.strip()
if not stripped or stripped.startswith('#'):
new_lines.append(line)
continue
indent = len(line) - len(line.lstrip())
# Check if line is a key at 4 spaces
# Regex: start with 4 spaces, then key chars, then colon, then optional space/value
if indent == 4 and ':' in stripped and not stripped.startswith('-'):
key = stripped.split(':')[0].strip()
last_key_at_4 = key
new_lines.append(line)
continue
# Check if line is a list item at 4 spaces
if indent == 4 and stripped.startswith('-'):
if last_key_at_4 not in list_keys:
print(f"Removing dangling list item in {path} at line {i+1} (after {last_key_at_4}): {stripped}")
continue # Skip/Delete
# Reset last_key_at_4 if indentation drops below 4
if indent < 4:
last_key_at_4 = None
new_lines.append(line)
with open(path, 'w') as f:
f.writelines(new_lines)
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
fix_dangling_in_file(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/classes")

38
fix_indentation.py Normal file
View file

@ -0,0 +1,38 @@
import os
def fix_indentation(path):
with open(path, 'r') as f:
lines = f.readlines()
new_lines = []
in_imports = False
for line in lines:
stripped = line.strip()
if stripped == "imports:":
in_imports = True
new_lines.append("imports:\n")
continue
if in_imports:
if not stripped.startswith("-"):
if stripped and not stripped.startswith("#"):
in_imports = False
new_lines.append(line)
else:
# Force 2 spaces indent
# content is stripped, so just prepend " "
new_lines.append(f" {stripped}\n")
else:
new_lines.append(line)
with open(path, 'w') as f:
f.writelines(new_lines)
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
fix_indentation(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/classes")

48
fix_self_imports.py Normal file
View file

@ -0,0 +1,48 @@
import os
def fix_file(path):
filename = os.path.basename(path)
classname = filename.replace('.yaml', '')
with open(path, 'r') as f:
lines = f.readlines()
new_lines = []
in_imports = False
modified = False
for line in lines:
stripped = line.strip()
if stripped == "imports:":
in_imports = True
new_lines.append(line)
continue
if in_imports:
if not stripped.startswith("-"):
if stripped and not stripped.startswith("#"):
in_imports = False
new_lines.append(line)
else:
import_path = stripped.lstrip("- ").strip()
# Check for self-import: - ./ClassName
if import_path == f"./{classname}":
print(f"Removing self-import in {path}: {stripped}")
modified = True
continue
else:
new_lines.append(line)
else:
new_lines.append(line)
if modified:
with open(path, 'w') as f:
f.writelines(new_lines)
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
fix_file(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/classes")

51
fix_type_types_cycle.py Normal file
View file

@ -0,0 +1,51 @@
import os
def fix_file(path):
filename = os.path.basename(path)
if not filename.endswith("Type.yaml"):
return
classname = filename.replace('.yaml', '')
plural_classname = classname + "s"
with open(path, 'r') as f:
lines = f.readlines()
new_lines = []
in_imports = False
modified = False
for line in lines:
stripped = line.strip()
if stripped == "imports:":
in_imports = True
new_lines.append(line)
continue
if in_imports:
if not stripped.startswith("-"):
if stripped and not stripped.startswith("#"):
in_imports = False
new_lines.append(line)
else:
import_path = stripped.lstrip("- ").strip()
if import_path == f"./{plural_classname}":
print(f"Removing cycle import in {path}: {stripped}")
modified = True
continue
else:
new_lines.append(line)
else:
new_lines.append(line)
if modified:
with open(path, 'w') as f:
f.writelines(new_lines)
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
fix_file(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/classes")

65
fix_types_imports.py Normal file
View file

@ -0,0 +1,65 @@
import os
def fix_file(path):
filename = os.path.basename(path)
if not (filename.endswith("Types.yaml") or filename.endswith("RecordSetTypes.yaml")):
return
if filename.endswith("Types.yaml"):
singular_filename = filename.replace('Types.yaml', 'Type.yaml')
classname_type = filename.replace('.yaml', '')[:-1] # Remove s
# RecordSetTypes is special?
# AcademicArchiveRecordSetTypes.yaml -> AcademicArchiveRecordSetType.yaml
# AcademicArchiveRecordSetType (class)
if filename.endswith("RecordSetTypes.yaml"):
singular_filename = filename.replace('RecordSetTypes.yaml', 'RecordSetType.yaml')
classname_type = filename.replace('.yaml', '')[:-1] # Remove s
singular_path = os.path.join(os.path.dirname(path), singular_filename)
if not os.path.exists(singular_path):
# Maybe irregular plural?
return
# Check if imported
with open(path, 'r') as f:
lines = f.readlines()
content = ''.join(lines)
import_stmt = f"- ./{classname_type}"
# Actually, filename without extension is usually the class name, but imports use filename (without ext).
import_stmt_file = f"- ./{singular_filename.replace('.yaml', '')}"
if import_stmt_file in content:
return
# Add import
new_lines = []
in_imports = False
added = False
for line in lines:
stripped = line.strip()
if stripped == "imports:":
in_imports = True
new_lines.append(line)
# Add immediately
new_lines.append(f" {import_stmt_file}\n")
added = True
continue
new_lines.append(line)
if added:
print(f"Restoring import in {path}: {import_stmt_file}")
with open(path, 'w') as f:
f.writelines(new_lines)
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
fix_file(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/classes")

37
flatten_slot_ranges.py Normal file
View file

@ -0,0 +1,37 @@
import os
import yaml
def flatten_ranges(path):
with open(path, 'r') as f:
lines = f.readlines()
new_lines = []
primitives = ["string", "integer", "float", "boolean", "date", "datetime", "uriorcurie", "uri", "ncname", "objectidentifier", "time", "decimal", "double"]
modified = False
for line in lines:
stripped = line.strip()
if stripped.startswith("range:") and ":" in stripped:
parts = stripped.split(":")
if len(parts) >= 2:
range_val = parts[1].strip()
if range_val not in primitives and not range_val.startswith("string"): # handle string(...)
print(f"Flattening range in {path}: {range_val} -> uriorcurie")
new_lines.append(f" range: uriorcurie\n")
new_lines.append(f" # range: {range_val}\n")
modified = True
continue
new_lines.append(line)
if modified:
with open(path, 'w') as f:
f.writelines(new_lines)
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
flatten_ranges(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/slots")

View file

@ -1,5 +1,5 @@
{ {
"generated": "2026-01-31T22:55:48.691Z", "generated": "2026-02-01T01:04:01.193Z",
"schemaRoot": "/schemas/20251121/linkml", "schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 2906, "totalFiles": 2906,
"categoryCounts": { "categoryCounts": {

53
nuke_class_imports.py Normal file
View file

@ -0,0 +1,53 @@
import os
def nuke_imports(path):
with open(path, 'r') as f:
lines = f.readlines()
new_lines = []
in_imports = False
modified = False
for line in lines:
stripped = line.strip()
if stripped == "imports:":
in_imports = True
new_lines.append(line)
continue
if in_imports:
if not stripped.startswith("-"):
if stripped and not stripped.startswith("#"):
in_imports = False
new_lines.append(line)
else:
import_path = stripped.lstrip("- ").strip()
# Remove imports of sibling classes (starting with ./)
if import_path.startswith("./"):
# But keep some if absolutely necessary? No, try removing all.
# Keep SpecificityScore maybe? No.
# Keep Type/Types? No.
print(f"Removing sibling import in {path}: {stripped}")
modified = True
continue
# Remove imports of parent classes (starting with ../classes/)
elif import_path.startswith("../classes/"):
print(f"Removing parent class import in {path}: {stripped}")
modified = True
continue
else:
new_lines.append(line)
else:
new_lines.append(line)
if modified:
with open(path, 'w') as f:
f.writelines(new_lines)
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
nuke_imports(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/classes")

79
populate_01_imports.py Normal file
View file

@ -0,0 +1,79 @@
import os
def populate_imports(main_schema_path, classes_dir):
with open(main_schema_path, 'r') as f:
lines = f.readlines()
# Find start and end of imports section
start_idx = -1
end_idx = -1
for i, line in enumerate(lines):
if line.strip() == "imports:":
start_idx = i
break
if start_idx == -1:
print("imports: section not found")
return
# Find where imports block ends (next top-level key or end of file)
for i in range(start_idx + 1, len(lines)):
line = lines[i]
if line.strip() and not line.startswith(" ") and not line.startswith("#"):
end_idx = i
break
if end_idx == -1:
end_idx = len(lines)
# Keep existing non-class imports (slots, enums, metadata, types)
# Filter out modules/classes/* imports
preserved_imports = []
for i in range(start_idx + 1, end_idx):
line = lines[i]
stripped = line.strip()
if stripped.startswith("- modules/classes/"):
continue # We will regenerate these
if stripped.startswith("- ./"): # Should not happen in 01_...
continue
if stripped.strip():
preserved_imports.append(line)
# Collect all class files
class_imports = []
for root, dirs, files in os.walk(classes_dir):
if 'archive' in dirs:
dirs.remove('archive')
if 'deprecated' in dirs:
dirs.remove('deprecated')
if 'archive' in root.split(os.sep):
continue
if 'deprecated' in root.split(os.sep):
continue
for file in files:
if file.endswith(".yaml"):
# Path relative to 01_... location (schemas/20251121/linkml)
# classes_dir is schemas/20251121/linkml/modules/classes
# relative path: modules/classes/Filename
# Check for duplicate base names? e.g. .yaml vs .yaml.bak?
# assume clean dir.
rel_path = f"modules/classes/{file.replace('.yaml', '')}"
class_imports.append(f" - {rel_path}\n")
class_imports.sort()
# Reassemble file
new_lines = lines[:start_idx + 1] + preserved_imports + class_imports + lines[end_idx:]
with open(main_schema_path, 'w') as f:
f.writelines(new_lines)
print(f"Updated {main_schema_path} with {len(class_imports)} class imports.")
populate_imports("schemas/20251121/linkml/01_custodian_name_modular.yaml", "schemas/20251121/linkml/modules/classes")

View file

@ -0,0 +1,46 @@
import os
def fix_file(path):
with open(path, 'r') as f:
lines = f.readlines()
new_lines = []
in_imports = False
modified = False
for line in lines:
stripped = line.strip()
if stripped == "imports:":
in_imports = True
new_lines.append(line)
continue
if in_imports:
if not stripped.startswith("-"):
if stripped and not stripped.startswith("#"):
in_imports = False
new_lines.append(line)
else:
import_path = stripped.lstrip("- ").strip()
# Check for import of class: - ../classes/ClassName
if import_path.startswith("../classes/"):
print(f"Removing class import in {path}: {stripped}")
modified = True
# Comment it out instead of deleting? Or delete. Deleting is cleaner.
continue
else:
new_lines.append(line)
else:
new_lines.append(line)
if modified:
with open(path, 'w') as f:
f.writelines(new_lines)
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
fix_file(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/slots")

78
remove_duplicates.py Normal file
View file

@ -0,0 +1,78 @@
import os
def remove_duplicates_in_file(path):
with open(path, 'r') as f:
lines = f.readlines()
new_lines = []
# Track keys at each indentation level to detect duplicates
# keys_at_indent: {indent: set(keys)}
# But we need to clear deeper levels when indent decreases.
keys_at_indent = {}
prev_indent = 0
# We also need to skip lines belonging to the removed duplicate key (list items)
skip_mode = False
skip_indent = -1
keys_to_check = ["broad_mappings", "close_mappings", "related_mappings", "exact_mappings"]
for i, line in enumerate(lines):
stripped = line.strip()
# Determine indent
if not stripped:
new_lines.append(line)
continue
indent = len(line) - len(line.lstrip())
# If we are skipping a block (children of removed key)
if skip_mode:
if indent > skip_indent:
# Still inside the block of removed key
continue
else:
# Block ended
skip_mode = False
skip_indent = -1
# Update indentation tracking
if indent > prev_indent:
pass
elif indent < prev_indent:
# Clear keys for deeper levels
levels = [k for k in keys_at_indent if k > indent]
for l in levels:
del keys_at_indent[l]
if indent not in keys_at_indent:
keys_at_indent[indent] = set()
# Check if line is a key
if ':' in stripped and not stripped.startswith('-') and not stripped.startswith('#'):
key = stripped.split(':')[0].strip()
if key in keys_to_check:
if key in keys_at_indent[indent]:
print(f"Removing duplicate key '{key}' in {path} at line {i+1}")
skip_mode = True
skip_indent = indent
continue
else:
keys_at_indent[indent].add(key)
new_lines.append(line)
prev_indent = indent
with open(path, 'w') as f:
f.writelines(new_lines)
def process_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".yaml"):
remove_duplicates_in_file(os.path.join(root, file))
process_directory("schemas/20251121/linkml/modules/classes")

105
reorder_imports.py Normal file
View file

@ -0,0 +1,105 @@
import os
def reorder_imports(path):
with open(path, 'r') as f:
lines = f.readlines()
# Find imports block
start_idx = -1
end_idx = -1
for i, line in enumerate(lines):
if line.strip() == "imports:":
start_idx = i
break
if start_idx == -1:
return
for i in range(start_idx + 1, len(lines)):
line = lines[i]
if line.strip() and not line.startswith(" ") and not line.startswith("#"):
end_idx = i
break
if end_idx == -1:
end_idx = len(lines)
imports = lines[start_idx + 1:end_idx]
# Separate class imports
class_imports = []
other_imports = []
for line in imports:
if "modules/classes/" in line:
class_imports.append(line)
else:
other_imports.append(line)
# Define priority classes
priority_classes = [
"ReconstructedEntity",
"CustodianType",
"Activity",
"Event",
"Provenance",
"Identifier",
"Label",
"Description",
"Content",
"CollectionType",
"FindingAidType",
"DocumentType",
"StatementType",
"NameType",
"LabelType",
"Place",
"TimeSpan",
"Agent",
"Organization",
"Person",
"Group",
"Thing",
"Concept",
"InformationObject",
"DigitalPlatform",
"Storage",
"FinancialStatement",
"Budget",
"Plan",
"Action"
]
sorted_class_imports = []
remaining_class_imports = []
# Extract priority
for p in priority_classes:
import_line = f"- modules/classes/{p}\n"
# Find matching line (ignoring whitespace)
found = False
# Iterate over copy to allow removal
for line in list(class_imports):
if p in line and line.strip().endswith(p): # Endswith classname
sorted_class_imports.append(line)
class_imports.remove(line)
found = True
break
if not found:
# Try to find without exact match
pass
# Sort remaining
class_imports.sort()
final_imports = other_imports + sorted_class_imports + class_imports
new_lines = lines[:start_idx + 1] + final_imports + lines[end_idx:]
with open(path, 'w') as f:
f.writelines(new_lines)
print(f"Reordered imports in {path}")
reorder_imports("schemas/20251121/linkml/01_custodian_name_modular.yaml")

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
{ {
"generated": "2026-02-01T01:04:01.193Z", "generated": "2026-02-01T18:55:42.704Z",
"schemaRoot": "/schemas/20251121/linkml", "schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 2906, "totalFiles": 2906,
"categoryCounts": { "categoryCounts": {

View file

@ -20,6 +20,6 @@ classes:
specificity_rationale: Generic utility class/slot created during migration specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']" custodian_types: "['*']"
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_url - ../slots/has_or_had_url

View file

@ -9,10 +9,10 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_endpoint - ../slots/has_or_had_endpoint
- ../slots/has_or_had_provenance - ../slots/has_or_had_provenance
- ../slots/has_or_had_version - ../slots/has_or_had_version
classes: classes:
APIRequest: APIRequest:
class_uri: prov:Activity class_uri: prov:Activity

View file

@ -9,9 +9,9 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
APIVersion: APIVersion:
class_uri: schema:SoftwareApplication class_uri: schema:SoftwareApplication

View file

@ -15,9 +15,9 @@ prefixes:
xsd: http://www.w3.org/2001/XMLSchema# xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_name - ../slots/has_or_had_name
- ../slots/has_or_had_type - ../slots/has_or_had_type
classes: classes:
AVEquipment: AVEquipment:
class_uri: schema:Product class_uri: schema:Product

View file

@ -8,28 +8,15 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_hypernym - ../slots/has_or_had_hypernym
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_scope - ../slots/has_or_had_scope
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ../slots/hold_or_held_record_set_type - ../slots/hold_or_held_record_set_type
- ../slots/is_or_was_related_to - ../slots/is_or_was_related_to
- ../slots/specificity_annotation
- ./AcademicArchiveRecordSetType
- ./AcademicArchiveRecordSetTypes
- ./ArchiveOrganizationType
- ./CollectionType
- ./DualClassLink
- ./Scope
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ./WikiDataEntry
- ./WikidataAlignment
classes: classes:
AcademicArchive: AcademicArchive:
is_a: ArchiveOrganizationType is_a: ArchiveOrganizationType
@ -40,7 +27,6 @@ classes:
- hold_or_held_record_set_type - hold_or_held_record_set_type
- has_or_had_hypernym - has_or_had_hypernym
- has_or_had_label - has_or_had_label
- specificity_annotation
- has_or_had_score - has_or_had_score
- is_or_was_related_to - is_or_was_related_to
structured_aliases: structured_aliases:

View file

@ -8,16 +8,11 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_scope - ../slots/has_or_had_scope
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ../slots/is_or_was_related_to - ../slots/is_or_was_related_to
- ../slots/specificity_annotation
- ./CollectionType
- ./DualClassLink
- ./Scope
- ./WikidataAlignment
classes: classes:
AcademicArchiveRecordSetType: AcademicArchiveRecordSetType:
description: A rico:RecordSetType for classifying collections of academic and description: A rico:RecordSetType for classifying collections of academic and
@ -26,7 +21,6 @@ classes:
class_uri: rico:RecordSetType class_uri: rico:RecordSetType
slots: slots:
- has_or_had_type - has_or_had_type
- specificity_annotation
- has_or_had_score - has_or_had_score
- has_or_had_scope - has_or_had_scope
- is_or_was_related_to - is_or_was_related_to

View file

@ -12,23 +12,17 @@ prefixes:
bf: http://id.loc.gov/ontologies/bibframe/ bf: http://id.loc.gov/ontologies/bibframe/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - ./AcademicArchiveRecordSetType
- ../slots/has_or_had_score - linkml:types
- ../slots/has_or_had_type - ../slots/has_or_had_score
- ../slots/organizational_principle - ../slots/has_or_had_type
- ../slots/organizational_principle_uri - ../slots/organizational_principle
- ../slots/privacy_note - ../slots/organizational_principle_uri
- ../slots/record_note - ../slots/privacy_note
- ../slots/record_set_type - ../slots/record_note
- ../slots/scope_exclude - ../slots/record_set_type
- ../slots/scope_include - ../slots/scope_exclude
- ../slots/specificity_annotation - ../slots/scope_include
- ./AcademicArchive
- ./AcademicArchiveRecordSetType
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
classes: classes:
UniversityAdministrativeFonds: UniversityAdministrativeFonds:
is_a: AcademicArchiveRecordSetType is_a: AcademicArchiveRecordSetType
@ -67,11 +61,10 @@ classes:
- accreditation records - accreditation records
- executive correspondence - executive correspondence
- institutional bylaws - institutional bylaws
exact_mappings: broad_mappings:
- rico:RecordSetType - rico:RecordSetType
related_mappings: related_mappings:
- rico-rst:Fonds - rico-rst:Fonds
broad_mappings:
- wd:Q1643722 - wd:Q1643722
- rico:RecordSetType - rico:RecordSetType
- skos:Concept - skos:Concept
@ -83,7 +76,6 @@ classes:
- rico-rst:Fonds - rico-rst:Fonds
slots: slots:
- has_or_had_type - has_or_had_type
- specificity_annotation
- has_or_had_score - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
@ -151,11 +143,10 @@ classes:
- disciplinary records - disciplinary records
- student organizations - student organizations
- financial aid records - financial aid records
exact_mappings: broad_mappings:
- rico:RecordSetType - rico:RecordSetType
related_mappings: related_mappings:
- rico-rst:Series - rico-rst:Series
broad_mappings:
- wd:Q185583 - wd:Q185583
- rico:RecordSetType - rico:RecordSetType
- skos:Concept - skos:Concept
@ -168,7 +159,6 @@ classes:
- UniversityAdministrativeFonds - UniversityAdministrativeFonds
slots: slots:
- has_or_had_type - has_or_had_type
- specificity_annotation
- has_or_had_score - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
@ -235,11 +225,10 @@ classes:
- conference papers - conference papers
- professional papers - professional papers
- academic papers - academic papers
exact_mappings: broad_mappings:
- rico:RecordSetType - rico:RecordSetType
related_mappings: related_mappings:
- rico-rst:Fonds - rico-rst:Fonds
broad_mappings:
- wd:Q22075301 - wd:Q22075301
- rico:RecordSetType - rico:RecordSetType
- skos:Concept - skos:Concept
@ -255,7 +244,6 @@ classes:
restrictions on access or publication specified by donor agreement. restrictions on access or publication specified by donor agreement.
slots: slots:
- has_or_had_type - has_or_had_type
- specificity_annotation
- has_or_had_score - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
@ -319,11 +307,10 @@ classes:
- event documentation - event documentation
- building documentation - building documentation
- campus life - campus life
exact_mappings: broad_mappings:
- rico:RecordSetType - rico:RecordSetType
related_mappings: related_mappings:
- rico-rst:Collection - rico-rst:Collection
broad_mappings:
- wd:Q9388534 - wd:Q9388534
- rico:RecordSetType - rico:RecordSetType
- skos:Concept - skos:Concept
@ -339,7 +326,6 @@ classes:
by subject, format, or documentation purpose rather than strict provenance. by subject, format, or documentation purpose rather than strict provenance.
slots: slots:
- has_or_had_type - has_or_had_type
- specificity_annotation
- has_or_had_score - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri

View file

@ -8,8 +8,8 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_name - ../slots/has_or_had_name
classes: classes:
AcademicInstitution: AcademicInstitution:
class_uri: schema:EducationalOrganization class_uri: schema:EducationalOrganization

View file

@ -8,8 +8,8 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_name - ../slots/has_or_had_name
classes: classes:
AcademicProgram: AcademicProgram:
class_uri: schema:EducationalOccupationalProgram class_uri: schema:EducationalOccupationalProgram

View file

@ -9,16 +9,14 @@ prefixes:
crm: http://www.cidoc-crm.org/cidoc-crm/ crm: http://www.cidoc-crm.org/cidoc-crm/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../enums/AccessTypeEnum - ../enums/AccessTypeEnum
- ../metadata - ../metadata
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_frequency - ../slots/has_or_had_frequency
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ../slots/has_or_had_user_category - ../slots/has_or_had_user_category
- ../slots/temporal_extent - ../slots/temporal_extent
- ./Frequency
- ./TimeSpan
classes: classes:
Access: Access:
class_uri: dcterms:RightsStatement class_uri: dcterms:RightsStatement

View file

@ -7,11 +7,10 @@ prefixes:
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_url - ../slots/has_or_had_url
- ./URL
default_prefix: hc default_prefix: hc
classes: classes:
AccessApplication: AccessApplication:

View file

@ -8,8 +8,8 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
classes: classes:
AccessControl: AccessControl:
class_uri: schema:DigitalDocumentPermission class_uri: schema:DigitalDocumentPermission

View file

@ -7,11 +7,10 @@ prefixes:
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
dcat: http://www.w3.org/ns/dcat# dcat: http://www.w3.org/ns/dcat#
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_url - ../slots/has_or_had_url
- ./URL
default_prefix: hc default_prefix: hc
classes: classes:
AccessInterface: AccessInterface:

View file

@ -8,8 +8,8 @@ prefixes:
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
AccessLevel: AccessLevel:
class_uri: skos:Concept class_uri: skos:Concept

View file

@ -12,37 +12,26 @@ prefixes:
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/credentials_required - ../slots/credentials_required
- ../slots/cultural_protocol_url - ../slots/cultural_protocol_url
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_embargo_end_date - ../slots/has_or_had_embargo_end_date
- ../slots/has_or_had_embargo_reason - ../slots/has_or_had_embargo_reason
- ../slots/has_or_had_level - ../slots/has_or_had_level
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/imposes_or_imposed - ../slots/imposes_or_imposed
- ../slots/legal_basis - ../slots/legal_basis
- ../slots/policy_id - ../slots/policy_id
- ../slots/policy_name - ../slots/policy_name
- ../slots/poses_or_posed_condition - ../slots/poses_or_posed_condition
- ../slots/registration_required - ../slots/registration_required
- ../slots/requires_appointment - ../slots/requires_appointment
- ../slots/requires_or_required - ../slots/requires_or_required
- ../slots/review_date - ../slots/review_date
- ../slots/rights_statement - ../slots/rights_statement
- ../slots/rights_statement_url - ../slots/rights_statement_url
- ../slots/specificity_annotation - ../slots/temporal_extent
- ../slots/temporal_extent
- ./AccessLevel
- ./Appointment
- ./Condition
- ./Description
- ./Fee
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ./TimeSpan
classes: classes:
AccessPolicy: AccessPolicy:
class_uri: premis:RightsStatus class_uri: premis:RightsStatus
@ -53,8 +42,8 @@ classes:
\ for preservation, not current access\n- Access restricted until triggering conditions (time, event)\n- \"Gray literature\" or un-catalogued backlogs awaiting processing\n" \ for preservation, not current access\n- Access restricted until triggering conditions (time, event)\n- \"Gray literature\" or un-catalogued backlogs awaiting processing\n"
exact_mappings: exact_mappings:
- premis:RightsStatus - premis:RightsStatus
- dcterms:accessRights
close_mappings: close_mappings:
- dcterms:accessRights
- rico:Rule - rico:Rule
- schema:ActionAccessSpecification - schema:ActionAccessSpecification
related_mappings: related_mappings:
@ -77,7 +66,6 @@ classes:
- review_date - review_date
- rights_statement - rights_statement
- rights_statement_url - rights_statement_url
- specificity_annotation
- has_or_had_score - has_or_had_score
- temporal_extent - temporal_extent
slot_usage: slot_usage:

View file

@ -9,9 +9,9 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/temporal_extent - ../slots/temporal_extent
classes: classes:
AccessTriggerEvent: AccessTriggerEvent:
class_uri: prov:Activity class_uri: prov:Activity

View file

@ -12,9 +12,9 @@ prefixes:
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
AccessibilityFeature: AccessibilityFeature:
class_uri: schema:LocationFeatureSpecification class_uri: schema:LocationFeatureSpecification

View file

@ -8,13 +8,11 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/temporal_extent - ../slots/temporal_extent
- ./Identifier
- ./TimeSpan
default_prefix: hc default_prefix: hc
classes: classes:
AccessionEvent: AccessionEvent:

View file

@ -9,10 +9,9 @@ prefixes:
crm: http://www.cidoc-crm.org/cidoc-crm/ crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ./Identifier
default_prefix: hc default_prefix: hc
classes: classes:
AccessionNumber: AccessionNumber:

View file

@ -12,8 +12,8 @@ prefixes:
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_value - ../slots/has_or_had_value
classes: classes:
AccountIdentifier: AccountIdentifier:
class_uri: schema:PropertyValue class_uri: schema:PropertyValue

View file

@ -12,8 +12,8 @@ prefixes:
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
AccountStatus: AccountStatus:
class_uri: skos:Concept class_uri: skos:Concept

View file

@ -12,8 +12,8 @@ prefixes:
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
Accreditation: Accreditation:
class_uri: schema:Permit class_uri: schema:Permit

View file

@ -12,8 +12,8 @@ prefixes:
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_name - ../slots/has_or_had_name
classes: classes:
AccreditationBody: AccreditationBody:
class_uri: schema:Organization class_uri: schema:Organization

View file

@ -12,8 +12,8 @@ prefixes:
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/temporal_extent - ../slots/temporal_extent
classes: classes:
AccreditationEvent: AccreditationEvent:
class_uri: prov:Activity class_uri: prov:Activity

View file

@ -9,9 +9,9 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/temporal_extent - ../slots/temporal_extent
classes: classes:
Accumulation: Accumulation:
class_uri: rico:AccumulationRelation class_uri: rico:AccumulationRelation

View file

@ -9,10 +9,10 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_value - ../slots/has_or_had_value
classes: classes:
AccuracyLevel: AccuracyLevel:
class_uri: skos:Concept class_uri: skos:Concept

View file

@ -15,15 +15,9 @@ prefixes:
org: http://www.w3.org/ns/org# org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema# xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/specificity_annotation - ../slots/temporal_extent
- ../slots/temporal_extent
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ./TimeSpan
default_range: string default_range: string
enums: enums:
AcquisitionMethodEnum: AcquisitionMethodEnum:
@ -89,7 +83,6 @@ classes:
- dwc:Event - dwc:Event
slots: slots:
- temporal_extent - temporal_extent
- specificity_annotation
- has_or_had_score - has_or_had_score
comments: comments:
- Created per slot_fixes.yaml revision for collection_date migration - Created per slot_fixes.yaml revision for collection_date migration

View file

@ -1,21 +0,0 @@
id: https://nde.nl/ontology/hc/class/AcquisitionBudget
name: AcquisitionBudget
title: AcquisitionBudget
description: >-
Budget allocated for acquisitions.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
classes:
AcquisitionBudget:
class_uri: schema:MonetaryAmount
description: Acquisition budget.
annotations:
specificity_score: 0.1
specificity_rationale: "Generic utility class created during migration"
custodian_types: '["*"]'
slots:

View file

@ -8,15 +8,11 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_method - ../slots/has_or_had_method
- ../slots/has_or_had_origin - ../slots/has_or_had_origin
- ../slots/has_or_had_provenance - ../slots/has_or_had_provenance
- ../slots/temporal_extent - ../slots/temporal_extent
- ./AcquisitionMethod
- ./Entity
- ./Provenance
- ./TimeSpan
default_prefix: hc default_prefix: hc
classes: classes:
AcquisitionEvent: AcquisitionEvent:

View file

@ -14,9 +14,9 @@ prefixes:
org: http://www.w3.org/ns/org# org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema# xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
default_prefix: hc default_prefix: hc
classes: classes:
AcquisitionMethod: AcquisitionMethod:

View file

@ -13,29 +13,17 @@ prefixes:
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../metadata - ../metadata
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/has_or_had_status - ../slots/has_or_had_status
- ../slots/is_or_was_succeeded_by - ../slots/is_or_was_succeeded_by
- ../slots/note - ../slots/note
- ../slots/preceding_activity - ../slots/preceding_activity
- ../slots/specificity_annotation - ../slots/temporal_extent
- ../slots/temporal_extent
- ./ActivityType
- ./ActivityTypes
- ./Description
- ./Identifier
- ./Label
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ./TimeSpan
- ./Activity
classes: classes:
Activity: Activity:
class_uri: prov:Activity class_uri: prov:Activity
@ -58,7 +46,6 @@ classes:
- preceding_activity - preceding_activity
- has_or_had_status - has_or_had_status
- note - note
- specificity_annotation
- has_or_had_score - has_or_had_score
slot_usage: slot_usage:
has_or_had_identifier: has_or_had_identifier:

View file

@ -12,19 +12,13 @@ prefixes:
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/created - ../slots/created
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/modified - ../slots/modified
- ../slots/specificity_annotation
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ./WikiDataIdentifier
classes: classes:
ActivityType: ActivityType:
class_uri: skos:Concept class_uri: skos:Concept
@ -43,7 +37,6 @@ classes:
slots: slots:
- created - created
- modified - modified
- specificity_annotation
- has_or_had_score - has_or_had_score
- has_or_had_description - has_or_had_description
- has_or_had_identifier - has_or_had_identifier

View file

@ -7,8 +7,8 @@ prefixes:
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - ./ActivityType
- ./ActivityType - linkml:types
classes: classes:
ActivityTypes: ActivityTypes:
class_uri: hc:ActivityTypes class_uri: hc:ActivityTypes

View file

@ -8,9 +8,9 @@ prefixes:
prov: http://www.w3.org/ns/prov# prov: http://www.w3.org/ns/prov#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_name - ../slots/has_or_had_name
- ../slots/has_or_had_role - ../slots/has_or_had_role
classes: classes:
Actor: Actor:
class_uri: prov:Agent class_uri: prov:Agent

View file

@ -12,28 +12,19 @@ prefixes:
dcterms: http://purl.org/dc/terms/ dcterms: http://purl.org/dc/terms/
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
imports: imports:
- linkml:types - linkml:types
- ../slots/country_name - ../slots/country_name
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_section - ../slots/has_or_had_section
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ../slots/is_or_was_derived_from # was: was_derived_from - ../slots/is_or_was_derived_from # was: was_derived_from
- ../slots/is_or_was_generated_by # was: was_generated_by - ../slots/is_or_was_generated_by # was: was_generated_by
- ../slots/is_or_was_located_in - ../slots/is_or_was_located_in
- ../slots/latitude - ../slots/latitude
- ../slots/locality - ../slots/locality
- ../slots/longitude - ../slots/longitude
- ../slots/postal_code - ../slots/postal_code
- ../slots/region - ../slots/region
- ./AddressType
- ./City # Added for is_or_was_located_in range (2026-01-18, Rule 53)
- ./Country
- ./CustodianObservation
- ./ReconstructionActivity
- ./Settlement
- ./Subregion
- ./HouseNumber
- ./Label
default_range: string default_range: string
classes: classes:
Address: Address:

View file

@ -8,12 +8,10 @@ prefixes:
vcard: http://www.w3.org/2006/vcard/ns# vcard: http://www.w3.org/2006/vcard/ns#
locn: http://www.w3.org/ns/locn# locn: http://www.w3.org/ns/locn#
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ../slots/long_name - ../slots/long_name
- ../slots/short_name - ../slots/short_name
- ./ComponentType
- ./ComponentTypes
default_range: string default_range: string
classes: classes:
AddressComponent: AddressComponent:

View file

@ -12,17 +12,15 @@ prefixes:
crm: http://www.cidoc-crm.org/cidoc-crm/ crm: http://www.cidoc-crm.org/cidoc-crm/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_code - ../slots/has_or_had_code
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_hypernym - ../slots/has_or_had_hypernym
- ../slots/has_or_had_hyponym - ../slots/has_or_had_hyponym
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/is_or_was_equivalent_to - ../slots/is_or_was_equivalent_to
- ../slots/is_or_was_related_to - ../slots/is_or_was_related_to
- ./WikiDataIdentifier
- ./AddressType
classes: classes:
AddressType: AddressType:
class_uri: skos:Concept class_uri: skos:Concept

View file

@ -9,8 +9,8 @@ prefixes:
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - ./AddressType
- ./AddressType - linkml:types
classes: classes:
HeadquartersAddress: HeadquartersAddress:
is_a: AddressType is_a: AddressType

View file

@ -9,10 +9,10 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
Administration: Administration:
class_uri: org:OrganizationalUnit class_uri: org:OrganizationalUnit

View file

@ -14,10 +14,10 @@ prefixes:
xsd: http://www.w3.org/2001/XMLSchema# xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_code - ../slots/has_or_had_code
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
AdministrativeLevel: AdministrativeLevel:
class_uri: skos:Concept class_uri: skos:Concept

View file

@ -2,33 +2,17 @@ id: https://nde.nl/ontology/hc/class/administrative-office
name: administrative_office_class name: administrative_office_class
title: AdministrativeOffice Class title: AdministrativeOffice Class
imports: imports:
- linkml:types - linkml:types
- ../classes/Description - ../slots/has_or_had_description
- ../classes/Identifier - ../slots/has_or_had_function
- ../classes/Label - ../slots/has_or_had_identifier
- ../slots/has_or_had_description - ../slots/has_or_had_label
- ../slots/has_or_had_function - ../slots/has_or_had_score
- ../slots/has_or_had_identifier - ../slots/has_or_had_staff
- ../slots/has_or_had_label - ../slots/is_leased
- ../slots/has_or_had_score - ../slots/is_or_was_derived_from
- ../slots/has_or_had_staff - ../slots/is_or_was_generated_by
- ../slots/is_leased - ../slots/lease_expiry
- ../slots/is_or_was_derived_from
- ../slots/is_or_was_generated_by
- ../slots/lease_expiry
- ../slots/specificity_annotation
- ./CustodianObservation
- ./FunctionType
- ./ReconstructedEntity
- ./ReconstructionActivity
- ./SpecificityAnnotation
- ./Staff
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ./Description
- ./Identifier
- ./Label
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
@ -63,7 +47,6 @@ classes:
- has_or_had_function - has_or_had_function
- is_leased - is_leased
- lease_expiry - lease_expiry
- specificity_annotation
- has_or_had_score - has_or_had_score
- is_or_was_derived_from - is_or_was_derived_from
- is_or_was_generated_by - is_or_was_generated_by

View file

@ -12,8 +12,8 @@ prefixes:
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_name - ../slots/has_or_had_name
classes: classes:
AdministrativeUnit: AdministrativeUnit:
class_uri: org:OrganizationalUnit class_uri: org:OrganizationalUnit

View file

@ -9,7 +9,7 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
classes: classes:
AdmissionFee: AdmissionFee:
class_uri: schema:PriceSpecification class_uri: schema:PriceSpecification

View file

@ -8,7 +8,7 @@ prefixes:
prov: http://www.w3.org/ns/prov# prov: http://www.w3.org/ns/prov#
xsd: http://www.w3.org/2001/XMLSchema# xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_range: string default_range: string
classes: classes:
AdmissionInfo: AdmissionInfo:

View file

@ -4,30 +4,18 @@ title: Advertising Radio Archive Type
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ../slots/hold_or_held_record_set_type - ../slots/hold_or_held_record_set_type
- ../slots/is_or_was_related_to - ../slots/is_or_was_related_to
- ../slots/specificity_annotation
- ./AdvertisingRadioArchiveRecordSetType
- ./AdvertisingRadioArchiveRecordSetTypes
- ./ArchiveOrganizationType
- ./CollectionType
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ./WikiDataEntry
- ./WikidataAlignment
classes: classes:
AdvertisingRadioArchive: AdvertisingRadioArchive:
is_a: ArchiveOrganizationType is_a: ArchiveOrganizationType
class_uri: skos:Concept class_uri: skos:Concept
slots: slots:
- hold_or_held_record_set_type - hold_or_held_record_set_type
- specificity_annotation
- has_or_had_score - has_or_had_score
description: 'Sound archive specializing in advertising radio productions and commercials. description: 'Sound archive specializing in advertising radio productions and commercials.

View file

@ -5,13 +5,10 @@ prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ../slots/is_or_was_related_to - ../slots/is_or_was_related_to
- ../slots/specificity_annotation
- ./CollectionType
- ./WikidataAlignment
classes: classes:
AdvertisingRadioArchiveRecordSetType: AdvertisingRadioArchiveRecordSetType:
description: A rico:RecordSetType for classifying collections of advertising radio productions and commercials within heritage institutions. description: A rico:RecordSetType for classifying collections of advertising radio productions and commercials within heritage institutions.
@ -29,7 +26,6 @@ classes:
- AdvertisingRadioArchive - AdvertisingRadioArchive
slots: slots:
- has_or_had_type - has_or_had_type
- specificity_annotation
- has_or_had_score - has_or_had_score
- is_or_was_related_to - is_or_was_related_to
annotations: annotations:

View file

@ -11,21 +11,15 @@ prefixes:
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - ./AdvertisingRadioArchiveRecordSetType
- ../slots/has_or_had_score - linkml:types
- ../slots/has_or_had_type - ../slots/has_or_had_score
- ../slots/organizational_principle - ../slots/has_or_had_type
- ../slots/organizational_principle_uri - ../slots/organizational_principle
- ../slots/record_holder - ../slots/organizational_principle_uri
- ../slots/record_holder_note - ../slots/record_holder
- ../slots/record_set_type - ../slots/record_holder_note
- ../slots/specificity_annotation - ../slots/record_set_type
- ./AdvertisingRadioArchive
- ./AdvertisingRadioArchiveRecordSetType
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
classes: classes:
RadioAdvertisementCollection: RadioAdvertisementCollection:
is_a: AdvertisingRadioArchiveRecordSetType is_a: AdvertisingRadioArchiveRecordSetType
@ -33,7 +27,7 @@ classes:
description: "A rico:RecordSetType for Radio commercial recordings.\n\n**RiC-O\ description: "A rico:RecordSetType for Radio commercial recordings.\n\n**RiC-O\
\ Alignment**:\nThis class is a specialized rico:RecordSetType following the\ \ Alignment**:\nThis class is a specialized rico:RecordSetType following the\
\ collection \norganizational principle as defined by rico-rst:Collection.\n" \ collection \norganizational principle as defined by rico-rst:Collection.\n"
exact_mappings: broad_mappings:
- rico:RecordSetType - rico:RecordSetType
related_mappings: related_mappings:
- rico-rst:Collection - rico-rst:Collection
@ -44,7 +38,6 @@ classes:
- rico:RecordSetType - rico:RecordSetType
slots: slots:
- has_or_had_type - has_or_had_type
- specificity_annotation
- has_or_had_score - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
@ -69,16 +62,13 @@ classes:
specificity_score: 0.1 specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration specificity_rationale: Generic utility class/slot created during migration
custodian_types: '[''*'']' custodian_types: '[''*'']'
broad_mappings:
- rico:RecordSetType
- skos:Concept
CampaignDocumentationSeries: CampaignDocumentationSeries:
is_a: AdvertisingRadioArchiveRecordSetType is_a: AdvertisingRadioArchiveRecordSetType
class_uri: rico:RecordSetType class_uri: rico:RecordSetType
description: "A rico:RecordSetType for Advertising campaign records.\n\n**RiC-O\ description: "A rico:RecordSetType for Advertising campaign records.\n\n**RiC-O\
\ Alignment**:\nThis class is a specialized rico:RecordSetType following the\ \ Alignment**:\nThis class is a specialized rico:RecordSetType following the\
\ series \norganizational principle as defined by rico-rst:Series.\n" \ series \norganizational principle as defined by rico-rst:Series.\n"
exact_mappings: broad_mappings:
- rico:RecordSetType - rico:RecordSetType
related_mappings: related_mappings:
- rico-rst:Series - rico-rst:Series
@ -89,7 +79,6 @@ classes:
- rico:RecordSetType - rico:RecordSetType
slots: slots:
- has_or_had_type - has_or_had_type
- specificity_annotation
- has_or_had_score - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
@ -110,6 +99,3 @@ classes:
record_holder_note: record_holder_note:
equals_string: This RecordSetType is typically held by AdvertisingRadioArchive equals_string: This RecordSetType is typically held by AdvertisingRadioArchive
custodians. Inverse of rico:isOrWasHolderOf. custodians. Inverse of rico:isOrWasHolderOf.
broad_mappings:
- rico:RecordSetType
- skos:Concept

View file

@ -8,10 +8,10 @@ prefixes:
dcterms: http://purl.org/dc/terms/ dcterms: http://purl.org/dc/terms/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_quantity - ../slots/has_or_had_quantity
- ../slots/has_or_had_unit - ../slots/has_or_had_unit
classes: classes:
Age: Age:
class_uri: schema:QuantitativeValue class_uri: schema:QuantitativeValue

View file

@ -8,9 +8,9 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
Agenda: Agenda:
class_uri: schema:Action class_uri: schema:Action

View file

@ -10,10 +10,10 @@ prefixes:
dcterms: http://purl.org/dc/terms/ dcterms: http://purl.org/dc/terms/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_name - ../slots/has_or_had_name
- ../slots/has_or_had_type - ../slots/has_or_had_type
classes: classes:
Agent: Agent:
class_uri: prov:Agent class_uri: prov:Agent

View file

@ -7,10 +7,10 @@ prefixes:
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_code - ../slots/has_or_had_code
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
AgentType: AgentType:
class_uri: skos:Concept class_uri: skos:Concept

View file

@ -7,8 +7,8 @@ description: 'Concrete subclasses for AgentType taxonomy.
' '
imports: imports:
- linkml:types - ./AgentType
- ./AgentType - linkml:types
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/

View file

@ -14,12 +14,11 @@ prefixes:
xsd: http://www.w3.org/2001/XMLSchema# xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/is_or_was_signed_on - ../slots/is_or_was_signed_on
- ../slots/temporal_extent - ../slots/temporal_extent
- ./TimeSpan
classes: classes:
Agreement: Agreement:
class_uri: schema:Contract class_uri: schema:Contract

View file

@ -7,11 +7,9 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_quantity - ../slots/has_or_had_quantity
- ../slots/has_or_had_unit - ../slots/has_or_had_unit
- ./Quantity
- ./Unit
classes: classes:
AirChanges: AirChanges:
class_uri: schema:QuantitativeValue class_uri: schema:QuantitativeValue

View file

@ -8,10 +8,10 @@ description: 'Represents positioning or alignment information for content elemen
- Visual element placement in layouts - Visual element placement in layouts
' '
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_alignment - ../slots/has_or_had_alignment
- ../slots/has_or_had_unit - ../slots/has_or_had_unit
- ../slots/has_or_had_value - ../slots/has_or_had_value
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/

View file

@ -8,20 +8,11 @@ prefixes:
gleif_base: https://www.gleif.org/ontology/Base/ gleif_base: https://www.gleif.org/ontology/Base/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
imports: imports:
- linkml:types - linkml:types
- ../enums/AllocationDomainEnum - ../enums/AllocationDomainEnum
- ../metadata - ../metadata
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/specificity_annotation
- ./Country
- ./RegistrationAuthority
- ./SpecificityAnnotation
- ./Standard
- ./Subregion
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
classes: classes:
AllocationAgency: AllocationAgency:
class_uri: org:FormalOrganization class_uri: org:FormalOrganization
@ -55,7 +46,6 @@ classes:
- gleif_base:RegistrationAuthority - gleif_base:RegistrationAuthority
- schema:Organization - schema:Organization
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
- name - name
- name_local - name_local

View file

@ -8,9 +8,8 @@ prefixes:
prov: http://www.w3.org/ns/prov# prov: http://www.w3.org/ns/prov#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/temporal_extent - ../slots/temporal_extent
- ./TimeSpan
classes: classes:
AllocationEvent: AllocationEvent:
class_uri: prov:Activity class_uri: prov:Activity

View file

@ -8,8 +8,8 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_code - ../slots/has_or_had_code
classes: classes:
Alpha2Code: Alpha2Code:
class_uri: skos:Concept class_uri: skos:Concept

View file

@ -8,8 +8,8 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_code - ../slots/has_or_had_code
classes: classes:
Alpha3Code: Alpha3Code:
class_uri: skos:Concept class_uri: skos:Concept

View file

@ -1,36 +0,0 @@
id: https://nde.nl/ontology/hc/classes/AlternativeName
name: AlternativeName
title: AlternativeName
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
xsd: http://www.w3.org/2001/XMLSchema#
skos: http://www.w3.org/2004/02/skos/core#
imports:
- linkml:types
default_range: string
classes:
AlternativeName:
description: "Alternative name with language and source information, representing\
\ a variant or translated form of an institution's name.\nOntology mapping rationale:\
\ - class_uri is skos:altLabel because this represents an alternative\n lexical\
\ label for a concept (the institution)\n- exact_mappings includes schema:alternateName\
\ as both represent variant names - related_mappings includes rdfs:label for\
\ general labeling context"
class_uri: skos:altLabel
exact_mappings:
- skos:altLabel
close_mappings:
- schema:alternateName
related_mappings:
- rdfs:label
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: '[''*'']'
slots:
- name
- language
- source

View file

@ -9,9 +9,9 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_unit - ../slots/has_or_had_unit
- ../slots/has_or_had_value - ../slots/has_or_had_value
classes: classes:
Altitude: Altitude:
class_uri: schema:QuantitativeValue class_uri: schema:QuantitativeValue

View file

@ -9,10 +9,10 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/temporal_extent - ../slots/temporal_extent
classes: classes:
AmendmentEvent: AmendmentEvent:
class_uri: prov:Activity class_uri: prov:Activity

View file

@ -15,11 +15,10 @@ prefixes:
xsd: http://www.w3.org/2001/XMLSchema# xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/is_or_was_categorized_as - ../slots/is_or_was_categorized_as
- ./Species
classes: classes:
Animal: Animal:
class_uri: schema:Animal class_uri: schema:Animal

View file

@ -4,30 +4,18 @@ title: Animal Sound Archive Type
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ../slots/hold_or_held_record_set_type - ../slots/hold_or_held_record_set_type
- ../slots/is_or_was_related_to - ../slots/is_or_was_related_to
- ../slots/specificity_annotation
- ./AnimalSoundArchiveRecordSetType
- ./AnimalSoundArchiveRecordSetTypes
- ./ArchiveOrganizationType
- ./CollectionType
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ./WikiDataEntry
- ./WikidataAlignment
classes: classes:
AnimalSoundArchive: AnimalSoundArchive:
is_a: ArchiveOrganizationType is_a: ArchiveOrganizationType
class_uri: skos:Concept class_uri: skos:Concept
slots: slots:
- hold_or_held_record_set_type - hold_or_held_record_set_type
- specificity_annotation
- has_or_had_score - has_or_had_score
description: "Archive specializing in animal sound recordings for research and preservation.\n\n**Wikidata**: Q18574935\n\n**Scope**:\nAnimal sound archives (Tierstimmenarchive) preserve:\n- Bioacoustic recordings of wildlife\n- Species identification recordings\n- Environmental soundscapes with animal vocalizations\n- Scientific research recordings\n- Educational materials for species identification\n\n**Scientific Context**:\nThese archives support:\n- Biodiversity monitoring and conservation\n- Species identification and taxonomy\n- Behavioral ecology research\n- Environmental impact assessment\n- Educational outreach\n\n**Related Types**:\n- SoundArchive (Q2230431) - Broader audio collection type\n- ScientificArchive (Q27032095) - Research-focused archives\n\n**Notable Examples**:\n- Tierstimmenarchiv (Museum f\xFCr Naturkunde Berlin)\n- Macaulay Library (Cornell Lab of Ornithology)\n- British Library Sound Archive wildlife collection\n" description: "Archive specializing in animal sound recordings for research and preservation.\n\n**Wikidata**: Q18574935\n\n**Scope**:\nAnimal sound archives (Tierstimmenarchive) preserve:\n- Bioacoustic recordings of wildlife\n- Species identification recordings\n- Environmental soundscapes with animal vocalizations\n- Scientific research recordings\n- Educational materials for species identification\n\n**Scientific Context**:\nThese archives support:\n- Biodiversity monitoring and conservation\n- Species identification and taxonomy\n- Behavioral ecology research\n- Environmental impact assessment\n- Educational outreach\n\n**Related Types**:\n- SoundArchive (Q2230431) - Broader audio collection type\n- ScientificArchive (Q27032095) - Research-focused archives\n\n**Notable Examples**:\n- Tierstimmenarchiv (Museum f\xFCr Naturkunde Berlin)\n- Macaulay Library (Cornell Lab of Ornithology)\n- British Library Sound Archive wildlife collection\n"
slot_usage: slot_usage:

View file

@ -5,13 +5,10 @@ prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ../slots/is_or_was_related_to - ../slots/is_or_was_related_to
- ../slots/specificity_annotation
- ./CollectionType
- ./WikidataAlignment
classes: classes:
AnimalSoundArchiveRecordSetType: AnimalSoundArchiveRecordSetType:
description: A rico:RecordSetType for classifying collections of animal sound archive materials within heritage institutions. description: A rico:RecordSetType for classifying collections of animal sound archive materials within heritage institutions.
@ -29,7 +26,6 @@ classes:
- AnimalSoundArchive - AnimalSoundArchive
slots: slots:
- has_or_had_type - has_or_had_type
- specificity_annotation
- has_or_had_score - has_or_had_score
- is_or_was_related_to - is_or_was_related_to
annotations: annotations:

View file

@ -11,21 +11,15 @@ prefixes:
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - ./AnimalSoundArchiveRecordSetType
- ../slots/has_or_had_score - linkml:types
- ../slots/has_or_had_type - ../slots/has_or_had_score
- ../slots/organizational_principle - ../slots/has_or_had_type
- ../slots/organizational_principle_uri - ../slots/organizational_principle
- ../slots/record_holder - ../slots/organizational_principle_uri
- ../slots/record_holder_note - ../slots/record_holder
- ../slots/record_set_type - ../slots/record_holder_note
- ../slots/specificity_annotation - ../slots/record_set_type
- ./AnimalSoundArchive
- ./AnimalSoundArchiveRecordSetType
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
classes: classes:
BioacousticRecordingCollection: BioacousticRecordingCollection:
is_a: AnimalSoundArchiveRecordSetType is_a: AnimalSoundArchiveRecordSetType
@ -33,7 +27,7 @@ classes:
description: "A rico:RecordSetType for Animal and nature sound recordings.\n\n\ description: "A rico:RecordSetType for Animal and nature sound recordings.\n\n\
**RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType following\ **RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType following\
\ the collection \norganizational principle as defined by rico-rst:Collection.\n" \ the collection \norganizational principle as defined by rico-rst:Collection.\n"
exact_mappings: broad_mappings:
- rico:RecordSetType - rico:RecordSetType
related_mappings: related_mappings:
- rico-rst:Collection - rico-rst:Collection
@ -44,7 +38,6 @@ classes:
- rico:RecordSetType - rico:RecordSetType
slots: slots:
- has_or_had_type - has_or_had_type
- specificity_annotation
- has_or_had_score - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
@ -69,16 +62,13 @@ classes:
specificity_score: 0.1 specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration specificity_rationale: Generic utility class/slot created during migration
custodian_types: '[''*'']' custodian_types: '[''*'']'
broad_mappings:
- rico:RecordSetType
- skos:Concept
FieldRecordingSeries: FieldRecordingSeries:
is_a: AnimalSoundArchiveRecordSetType is_a: AnimalSoundArchiveRecordSetType
class_uri: rico:RecordSetType class_uri: rico:RecordSetType
description: "A rico:RecordSetType for Field research audio.\n\n**RiC-O Alignment**:\n\ description: "A rico:RecordSetType for Field research audio.\n\n**RiC-O Alignment**:\n\
This class is a specialized rico:RecordSetType following the series \norganizational\ This class is a specialized rico:RecordSetType following the series \norganizational\
\ principle as defined by rico-rst:Series.\n" \ principle as defined by rico-rst:Series.\n"
exact_mappings: broad_mappings:
- rico:RecordSetType - rico:RecordSetType
related_mappings: related_mappings:
- rico-rst:Series - rico-rst:Series
@ -89,7 +79,6 @@ classes:
- rico:RecordSetType - rico:RecordSetType
slots: slots:
- has_or_had_type - has_or_had_type
- specificity_annotation
- has_or_had_score - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
@ -110,6 +99,3 @@ classes:
record_holder_note: record_holder_note:
equals_string: This RecordSetType is typically held by AnimalSoundArchive equals_string: This RecordSetType is typically held by AnimalSoundArchive
custodians. Inverse of rico:isOrWasHolderOf. custodians. Inverse of rico:isOrWasHolderOf.
broad_mappings:
- rico:RecordSetType
- skos:Concept

View file

@ -8,9 +8,9 @@ prefixes:
prov: http://www.w3.org/ns/prov# prov: http://www.w3.org/ns/prov#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_reason - ../slots/has_or_had_reason
- ../slots/temporal_extent - ../slots/temporal_extent
classes: classes:
AnnexCreationEvent: AnnexCreationEvent:
class_uri: prov:Activity class_uri: prov:Activity

View file

@ -8,20 +8,12 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../classes/Agent - ../slots/contains_or_contained
- ../classes/AnnotationType - ../slots/has_or_had_description
- ../classes/Rationale - ../slots/has_or_had_rationale
- ../classes/Segment - ../slots/has_or_had_type
- ../slots/contains_or_contained - ../slots/is_or_was_created_by
- ../slots/has_or_had_description
- ../slots/has_or_had_rationale
- ../slots/has_or_had_type
- ../slots/is_or_was_created_by
- ./Agent
- ./AnnotationType
- ./Rationale
- ./Segment
classes: classes:
Annotation: Annotation:
class_uri: oa:Annotation class_uri: oa:Annotation

View file

@ -16,17 +16,12 @@ prefixes:
xsd: http://www.w3.org/2001/XMLSchema# xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../metadata - ../metadata
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/motivation_type_description - ../slots/motivation_type_description
- ../slots/motivation_type_id - ../slots/motivation_type_id
- ../slots/motivation_type_name - ../slots/motivation_type_name
- ../slots/specificity_annotation
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
classes: classes:
AnnotationMotivationType: AnnotationMotivationType:
class_uri: oa:Motivation class_uri: oa:Motivation
@ -46,7 +41,6 @@ classes:
- motivation_type_id - motivation_type_id
- motivation_type_name - motivation_type_name
- motivation_type_description - motivation_type_description
- specificity_annotation
- has_or_had_score - has_or_had_score
slot_usage: slot_usage:
motivation_type_id: motivation_type_id:

View file

@ -13,20 +13,17 @@ prefixes:
wcag: https://www.w3.org/WAI/WCAG21/ wcag: https://www.w3.org/WAI/WCAG21/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - ./AnnotationMotivationType
- ../metadata - linkml:types
- ../slots/has_or_had_score - ../metadata
- ../slots/motivation_type_name - ../slots/has_or_had_score
- ../slots/specificity_annotation - ../slots/motivation_type_name
- ./AnnotationMotivationType
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
classes: classes:
ClassifyingMotivation: ClassifyingMotivation:
is_a: AnnotationMotivationType is_a: AnnotationMotivationType
class_uri: oa:classifying class_uri: hc:ClassifyingMotivation
exact_mappings:
- oa:classifying
description: 'Motivation for categorizing or classifying content. description: 'Motivation for categorizing or classifying content.
@ -78,16 +75,14 @@ classes:
- Iconographic classification (Iconclass) - Iconographic classification (Iconclass)
' '
exact_mappings:
- oa:classifying
close_mappings: close_mappings:
- oa:classifying
- skos:Concept - skos:Concept
- crm:E17_Type_Assignment - crm:E17_Type_Assignment
slot_usage: slot_usage:
motivation_type_name: motivation_type_name:
equals_string: classifying equals_string: classifying
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
comments: comments:
- W3C Web Annotation standard motivation - W3C Web Annotation standard motivation
@ -100,7 +95,9 @@ classes:
- skos:Concept - skos:Concept
DescribingMotivation: DescribingMotivation:
is_a: AnnotationMotivationType is_a: AnnotationMotivationType
class_uri: oa:describing class_uri: hc:DescribingMotivation
exact_mappings:
- oa:describing
description: 'Motivation for adding descriptive information to content. description: 'Motivation for adding descriptive information to content.
@ -152,16 +149,14 @@ classes:
- Video/audio content summarization - Video/audio content summarization
' '
exact_mappings:
- oa:describing
close_mappings: close_mappings:
- oa:describing
- dcterms:description - dcterms:description
- crm:E62_String - crm:E62_String
slot_usage: slot_usage:
motivation_type_name: motivation_type_name:
equals_string: describing equals_string: describing
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
comments: comments:
- W3C Web Annotation standard motivation - W3C Web Annotation standard motivation
@ -170,7 +165,9 @@ classes:
- skos:Concept - skos:Concept
IdentifyingMotivation: IdentifyingMotivation:
is_a: AnnotationMotivationType is_a: AnnotationMotivationType
class_uri: oa:identifying class_uri: hc:IdentifyingMotivation
exact_mappings:
- oa:identifying
description: 'Motivation for identifying depicted entities. description: 'Motivation for identifying depicted entities.
@ -222,16 +219,14 @@ classes:
- Object-to-record linking (computer vision) - Object-to-record linking (computer vision)
' '
exact_mappings:
- oa:identifying
close_mappings: close_mappings:
- oa:identifying
- crm:E15_Identifier_Assignment - crm:E15_Identifier_Assignment
- schema:identifier - schema:identifier
slot_usage: slot_usage:
motivation_type_name: motivation_type_name:
equals_string: identifying equals_string: identifying
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
comments: comments:
- W3C Web Annotation standard motivation - W3C Web Annotation standard motivation
@ -240,7 +235,9 @@ classes:
- skos:Concept - skos:Concept
TaggingMotivation: TaggingMotivation:
is_a: AnnotationMotivationType is_a: AnnotationMotivationType
class_uri: oa:tagging class_uri: hc:TaggingMotivation
exact_mappings:
- oa:tagging
description: 'Motivation for adding tags or keywords. description: 'Motivation for adding tags or keywords.
@ -292,16 +289,14 @@ classes:
- Folksonomies alongside controlled vocabularies - Folksonomies alongside controlled vocabularies
' '
exact_mappings:
- oa:tagging
close_mappings: close_mappings:
- oa:tagging
- skos:Concept - skos:Concept
- schema:keywords - schema:keywords
slot_usage: slot_usage:
motivation_type_name: motivation_type_name:
equals_string: tagging equals_string: tagging
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
comments: comments:
- W3C Web Annotation standard motivation - W3C Web Annotation standard motivation
@ -310,7 +305,9 @@ classes:
- skos:Concept - skos:Concept
LinkingMotivation: LinkingMotivation:
is_a: AnnotationMotivationType is_a: AnnotationMotivationType
class_uri: oa:linking class_uri: hc:LinkingMotivation
exact_mappings:
- oa:linking
description: 'Motivation for linking to external resources. description: 'Motivation for linking to external resources.
@ -362,9 +359,8 @@ classes:
- Bibliographic references - Bibliographic references
' '
exact_mappings:
- oa:linking
close_mappings: close_mappings:
- oa:linking
- dcterms:relation - dcterms:relation
- skos:related - skos:related
- schema:relatedLink - schema:relatedLink
@ -372,7 +368,6 @@ classes:
motivation_type_name: motivation_type_name:
equals_string: linking equals_string: linking
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
comments: comments:
- W3C Web Annotation standard motivation - W3C Web Annotation standard motivation
@ -381,7 +376,9 @@ classes:
- skos:Concept - skos:Concept
CommentingMotivation: CommentingMotivation:
is_a: AnnotationMotivationType is_a: AnnotationMotivationType
class_uri: oa:commenting class_uri: hc:CommentingMotivation
exact_mappings:
- oa:commenting
description: 'Motivation for adding commentary. description: 'Motivation for adding commentary.
@ -431,16 +428,14 @@ classes:
- Community engagement features - Community engagement features
' '
exact_mappings:
- oa:commenting
close_mappings: close_mappings:
- oa:commenting
- schema:Comment - schema:Comment
- schema:UserComments - schema:UserComments
slot_usage: slot_usage:
motivation_type_name: motivation_type_name:
equals_string: commenting equals_string: commenting
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
comments: comments:
- W3C Web Annotation standard motivation - W3C Web Annotation standard motivation
@ -524,7 +519,6 @@ classes:
motivation_type_name: motivation_type_name:
equals_string: accessibility equals_string: accessibility
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
comments: comments:
- Heritage-specific extension beyond W3C standard - Heritage-specific extension beyond W3C standard
@ -607,7 +601,6 @@ classes:
motivation_type_name: motivation_type_name:
equals_string: discovery equals_string: discovery
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
comments: comments:
- Heritage-specific extension beyond W3C standard - Heritage-specific extension beyond W3C standard
@ -692,7 +685,6 @@ classes:
motivation_type_name: motivation_type_name:
equals_string: preservation equals_string: preservation
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
comments: comments:
- Heritage-specific extension beyond W3C standard - Heritage-specific extension beyond W3C standard
@ -775,7 +767,6 @@ classes:
motivation_type_name: motivation_type_name:
equals_string: research equals_string: research
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
comments: comments:
- Heritage-specific extension beyond W3C standard - Heritage-specific extension beyond W3C standard

View file

@ -7,10 +7,10 @@ prefixes:
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_code - ../slots/has_or_had_code
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
AnnotationType: AnnotationType:
class_uri: skos:Concept class_uri: skos:Concept

View file

@ -7,14 +7,14 @@ description: 'Concrete subclasses for AnnotationType taxonomy.
' '
imports: imports:
- linkml:types - ./AnnotationType
- ./AnnotationType - linkml:types
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
default_prefix: hc default_prefix: hc
classes: classes:
Comment: CommentAnnotation:
is_a: AnnotationType is_a: AnnotationType
class_uri: hc:Comment class_uri: hc:Comment
description: A comment on a resource. description: A comment on a resource.
@ -24,7 +24,7 @@ classes:
custodian_types: '[''*'']' custodian_types: '[''*'']'
broad_mappings: broad_mappings:
- skos:Concept - skos:Concept
Tag: TagAnnotation:
is_a: AnnotationType is_a: AnnotationType
class_uri: hc:Tag class_uri: hc:Tag
description: A tag or keyword associated with a resource. description: A tag or keyword associated with a resource.

View file

@ -5,7 +5,7 @@ prefixes:
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
owl: http://www.w3.org/2002/07/owl# owl: http://www.w3.org/2002/07/owl#
imports: imports:
- linkml:types - linkml:types
classes: classes:
Any: Any:
class_uri: owl:Thing class_uri: owl:Thing

View file

@ -12,18 +12,11 @@ prefixes:
dcterms: http://purl.org/dc/terms/ dcterms: http://purl.org/dc/terms/
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
imports: imports:
- linkml:types - linkml:types
- ../enums/AppellationTypeEnum - ../enums/AppellationTypeEnum
- ../metadata - ../metadata
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ../slots/is_or_was_alternative_form_of - ../slots/is_or_was_alternative_form_of
- ../slots/specificity_annotation
- ./CustodianName
- ./Label
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
classes: classes:
CustodianAppellation: CustodianAppellation:
class_uri: crm:E41_Appellation class_uri: crm:E41_Appellation
@ -38,12 +31,12 @@ classes:
- rdfs:label - rdfs:label
- dcterms:title - dcterms:title
slots: slots:
- specificity_annotation
- has_or_had_score - has_or_had_score
- is_or_was_alternative_form_of - is_or_was_alternative_form_of
slot_usage: slot_usage:
is_or_was_alternative_form_of: is_or_was_alternative_form_of:
range: Label range: uriorcurie
# range: Label
inlined: true inlined: true
examples: examples:
- value: "Label:\n label_value: \"Rijksmuseum\"\n label_language: \"nl\"\n" - value: "Label:\n label_value: \"Rijksmuseum\"\n label_language: \"nl\"\n"

View file

@ -9,8 +9,8 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
AppellationType: AppellationType:
class_uri: skos:Concept class_uri: skos:Concept

View file

@ -10,12 +10,11 @@ prefixes:
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../metadata - ../metadata
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ./ApplicantType
classes: classes:
Applicant: Applicant:
class_uri: schema:Person class_uri: schema:Person

View file

@ -14,13 +14,11 @@ prefixes:
xsd: http://www.w3.org/2001/XMLSchema# xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../metadata - ../metadata
- ../slots/can_or_could_be_fulfilled_by - ../slots/can_or_could_be_fulfilled_by
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/imposes_or_imposed - ../slots/imposes_or_imposed
- ./Applicant
- ./GeographicExtent
classes: classes:
ApplicantRequirement: ApplicantRequirement:
class_uri: schema:Requirement class_uri: schema:Requirement

View file

@ -10,10 +10,10 @@ prefixes:
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../metadata - ../metadata
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
ApplicantType: ApplicantType:
class_uri: skos:Concept class_uri: skos:Concept

Some files were not shown because too many files have changed in this diff Show more