Skip to content

Added ISO 11179 JSON schemas used in CNRI type registry prototype #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions iso_11179_json_schemas/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# ISO 11179 JSON Schemas

Prototype JSON schemas for ISO 11179 objects. Thanks to Gramm
Richardson and Denise Warzel.
79 changes: 79 additions & 0 deletions iso_11179_json_schemas/concept.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{
"type": "object",
"title": "Concept",
"required": [
"name",
"description"
],
"properties": {
"identifier": {
"type": "string",
"net.cnri.repository": {
"type": {
"autoGeneratedField": "handle"
}
}
},
"name": {
"type": "string",
"title": "Name",
"net.cnri.repository": {
"preview": {
"showInPreview": true,
"isPrimary": true
}
}
},
"description": {
"type": "string",
"format": "textarea",
"title": "Description",
"net.cnri.repository": {
"preview": {
"showInPreview": true,
"excludeTitle": true
}
}
},
"relationships": {
"title": "Relationships",
"type": "array",
"items": {
"type": "object",
"title": "Relationship",
"properties": {
"concept-reference": {
"type": "string",
"net.cnri.repository": {
"type": {
"handleReference": {
"types": [
"concept"
],
"name": "{{../relationship-type}}"
}
}
}
},
"relationship-type": {
"type": "string",
"net.cnri.repository": {
"type": {
"suggestedVocabulary": [
"narrower",
"broader",
"related",
"narrowMatch",
"broadMatch",
"relatedMatch",
"closeMatch",
"exactMatch"
]
}
}
}
}
}
}
}
}
89 changes: 89 additions & 0 deletions iso_11179_json_schemas/dataElement.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
"title": "Data Element",
"description": "A Data_Element is considered to be a basic unit of data of interest to an organization. It is a unit of data for which the definition, identification, representation, and permissible values are specified by means of a set of attributes.",
"type": "object",
"required": [
"identifier",
"name",
"description",
"Data_Element_Concept",
"Value_Domain"
],
"properties": {
"identifier": {
"type": "string",
"net.cnri.repository": {
"type": {
"autoGeneratedField": "handle"
}
}
},
"name": {
"type": "string",
"title": "Name",
"net.cnri.repository": {
"preview": {
"showInPreview": true,
"isPrimary": true
}
}
},
"description": {
"type": "string",
"format": "textarea",
"title": "Description",
"net.cnri.repository": {
"preview": {
"showInPreview": true,
"excludeTitle": true
}
}
},
"Data_Element_Concept": {
"title": "Data Element Concept",
"description": "A data element concept is an abstraction of one or more data elements. Each data element addresses issues of concrete representation, e.g., codes, measurement units, etc. A data element concept may be represented by multiple data elements, which may vary in their value domains.",
"type": "string",
"net.cnri.repository": {
"type": {
"handleReference": {
"types": [
"dataElementConcept",
"property"
]
}
}
}
},
"Value_Domain": {
"title": "Value Domain",
"description": "A value domain is a set of permissible values. A value domain provides representation, but has no implication as to the data element concept with which the values are associated, nor what the values mean.",
"type": "string",
"net.cnri.repository": {
"type": {
"handleReference": {
"types": [
"valueDomain"
]
}
}
}
},
"relationships": {
"title": "Related Data Elements",
"type": "array",
"items": {
"type": "string",
"title": "Relationship",
"net.cnri.repository": {
"type": {
"handleReference": {
"types": [
"dataElement"
]
}
}
}
}
}
}
}
89 changes: 89 additions & 0 deletions iso_11179_json_schemas/dataElementConcept.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
"type": "object",
"title": "Data Element Concept",
"description": "A data element concept is an abstraction of one or more data elements. Each data element addresses issues of concrete representation, e.g., codes, measurement units, etc. A data element concept may be represented by multiple data elements, which may vary in their value domains.",
"required": [
"identifier",
"name",
"description"
],
"properties": {
"identifier": {
"type": "string",
"net.cnri.repository": {
"type": {
"autoGeneratedField": "handle"
}
}
},
"name": {
"type": "string",
"title": "Name",
"net.cnri.repository": {
"preview": {
"showInPreview": true,
"isPrimary": true
}
}
},
"description": {
"type": "string",
"format": "textarea",
"title": "Description",
"net.cnri.repository": {
"preview": {
"showInPreview": true,
"excludeTitle": true
}
}
},
"Object_Class": {
"type": "string",
"net.cnri.repository": {
"type": {
"handleReference": {
"types": [
"objectClass",
"property"
]
}
}
}
},
"Property": {
"type": "string",
"net.cnri.repository": {
"type": {
"handleReference": {
"types": [
"property"
]
}
}
}
},
"Representation": {
"title": "Representation",
"type": "object",
"properties": {
"Representation_Qualifiers": {
"title": "Representation Qualifiers",
"type": "array",
"items": {
"title": "Qualifier",
"type": "string",
"net.cnri.repository": {
"type": {
"handleReference": {
"types": [
"concept"
]
}
}
}
}
}
}
}
}
}
58 changes: 58 additions & 0 deletions iso_11179_json_schemas/objectClass.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
"type": "object",
"title": "Object Class",
"description": "An object class is a concept that represents a set of ideas, abstractions, or things in the real world that can be identified with explicit boundaries and meaning and whose properties and behavior follow the same rules.",
"required": [
"identifier",
"name",
"description"
],
"properties": {
"identifier": {
"type": "string",
"net.cnri.repository": {
"type": {
"autoGeneratedField": "handle"
}
}
},
"name": {
"type": "string",
"title": "Name",
"net.cnri.repository": {
"preview": {
"showInPreview": true,
"isPrimary": true
}
}
},
"description": {
"type": "string",
"format": "textarea",
"title": "Description",
"net.cnri.repository": {
"preview": {
"showInPreview": true,
"excludeTitle": true
}
}
},
"Object_Class_Concepts": {
"title": "Object Class Concepts",
"type": "array",
"items": {
"title": "Concept",
"type": "string",
"net.cnri.repository": {
"type": {
"handleReference": {
"types": [
"concept"
]
}
}
}
}
}
}
}
59 changes: 59 additions & 0 deletions iso_11179_json_schemas/property.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"type": "object",
"title": "Property",
"description": "A property may be any feature that humans naturally use to distinguish one individual object from another. It is the human perception of a single quality of an object class in the real world.",
"required": [
"identifier",
"name",
"description"
],
"properties": {
"identifier": {
"type": "string",
"net.cnri.repository": {
"type": {
"autoGeneratedField": "handle"
}
}
},
"name": {
"type": "string",
"title": "Name",
"net.cnri.repository": {
"preview": {
"showInPreview": true,
"isPrimary": true
}
}
},
"description": {
"type": "string",
"format": "textarea",
"title": "Description",
"net.cnri.repository": {
"preview": {
"showInPreview": true,
"excludeTitle": true
}
}
},
"Property_Qualifiers": {
"title": "Property Concepts",
"type": "array",
"items": {
"title": "Concept",
"type": "string",
"net.cnri.repository": {
"type": {
"handleReference": {
"types": [
"concept",
"objectClass"
]
}
}
}
}
}
}
}
Loading