Skip to content

Commit

Permalink
Preview 0.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
nichtich committed Jan 9, 2025
1 parent d880879 commit 0d38b8d
Show file tree
Hide file tree
Showing 25 changed files with 7,896 additions and 0 deletions.
89 changes: 89 additions & 0 deletions 0.6.0/annotation.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
"$id": "https://gbv.github.io/jskos/annotation.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Annotation",
"description": "Annotation adjusted from Web Annotation Data Model",
"type": "object",
"definitions": {
"date": {
"allOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "string",
"pattern": "Z$"
}
]
}
},
"properties": {
"@context": {
"description": "reference to a JSON-LD context document",
"const": "http://www.w3.org/ns/anno.jsonld"
},
"id": {
"description": "globally unique identifier of the annotation",
"$ref": "resource.schema.json#/definitions/uri"
},
"type": {
"const": "Annotation"
},
"created": {
"description": "date of creation",
"$ref": "#/definitions/date"
},
"modified": {
"description": "date of last modification",
"$ref": "#/definitions/date"
},
"creator": {
"description": "agent primarily responsible for creation of resource",
"anyOf": [
{
"type": "object",
"required": [
"id"
]
},
{
"$ref": "resource.schema.json#/definitions/uri"
}
]
},
"target": {
"description": "object being annotated, or its URI",
"anyOf": [
{
"$ref": "resource.schema.json#/definitions/uri"
},
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"$ref": "resource.schema.json#/definitions/uri"
},
"state": {
"type": "object"
}
}
},
{
"$ref": "concept.schema.json#"
}
]
},
"motivation": {
"description": "motivation of the annotation",
"type": "string"
},
"bodyValue": {
"description": "optional body value of the annotation",
"type": "string"
}
}
}
60 changes: 60 additions & 0 deletions 0.6.0/bundle.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"$id": "https://gbv.github.io/jskos/bundle.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "JSKOS Concept Bundle",
"description": "A concept bundle is a group of concepts. Concept bundles can be used for mappings, composed concepts, and occurrences.",
"type": "object",
"$comment": "TODO: adjust sets to more specific ones, currently requires exactly one of the three properties to exist (instead of at most one)",
"properties": {
"memberSet": {
"description": "concepts in this bundle (unordered)",
"$ref": "concept.schema.json#/definitions/conceptSet"
},
"memberList": {
"description": "concepts in this bundle (ordered)",
"$ref": "concept.schema.json#/definitions/conceptSet"
},
"memberChoice": {
"description": "concepts in this bundle to choose from",
"$ref": "concept.schema.json#/definitions/conceptSet"
},
"memberRoles": {
"description": "sets of concepts, specified with a role",
"type": "object",
"propertyNames": {
"$ref": "resource.schema.json#/definitions/uri"
},
"patternProperties": {
".*": {
"$ref": "concept.schema.json#/definitions/conceptSet"
}
}
}
},
"anyOf": [
{
"type": "object",
"required": [
"memberSet"
]
},
{
"type": "object",
"required": [
"memberList"
]
},
{
"type": "object",
"required": [
"memberChoice"
]
},
{
"type": "object",
"required": [
"memberRoles"
]
}
]
}
76 changes: 76 additions & 0 deletions 0.6.0/concept.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
{
"$id": "https://gbv.github.io/jskos/concept.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "JSKOS Concept",
"description": "entities from a knowledge organization system",
"type": "object",
"definitions": {
"conceptSet": {
"type": "array",
"items": {
"anyOf": [
{
"type": "null"
},
{
"$ref": "concept.schema.json#"
}
]
}
}
},
"anyOf": [
{
"$ref": "item.schema.json"
},
{
"$ref": "bundle.schema.json"
}
],
"properties": {
"narrower": {
"description": "narrower concepts",
"$ref": "#/definitions/conceptSet"
},
"broader": {
"description": "broader concepts",
"$ref": "#/definitions/conceptSet"
},
"related": {
"description": "generally related concepts",
"$ref": "#/definitions/conceptSet"
},
"previous": {
"description": "related concepts ordered somehow before the concept",
"$ref": "#/definitions/conceptSet"
},
"next": {
"description": "related concepts ordered somehow after the concept",
"$ref": "#/definitions/conceptSet"
},
"ancestors": {
"description": "list of ancestors, possibly up to a top concept",
"$ref": "#/definitions/conceptSet"
},
"inScheme": {
"description": "concept schemes or URI of the concept schemes",
"$ref": "scheme.schema.json#/definitions/schemeSet"
},
"topConceptOf": {
"description": "concept schemes or URI of the concept schemes",
"$ref": "scheme.schema.json#/definitions/schemeSet"
},
"mappings": {
"description": "mappings from and/or to this concept",
"$ref": "mapping.schema.json#/definitions/mappingSet"
},
"occurrences": {
"description": "occurrences with this concept",
"$ref": "occurrence.schema.json#/definitions/occurrenceSet"
},
"deprecated": {
"description": "whether the concept has been marked as deprecated",
"type": "boolean"
}
}
}
38 changes: 38 additions & 0 deletions 0.6.0/concordance.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"$id": "https://gbv.github.io/jskos/concordance.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "JSKOS Concordance",
"description": "curated collections of mappings",
"type": "object",
"allOf": [
{
"$ref": "item.schema.json"
}
],
"properties": {
"mappings": {
"description": "Mappings in this concordance",
"$ref": "mapping.schema.json#/definitions/mappingSet"
},
"distributions": {
"description": "Distributions to access the concordance",
"$ref": "distribution.schema.json#/definitions/distributionSet"
},
"fromScheme": {
"description": "Source concept scheme",
"$ref": "scheme.schema.json"
},
"toScheme": {
"description": "Target concept scheme",
"$ref": "scheme.schema.json"
},
"extent": {
"description": "Size of the concordance",
"type": "string"
},
"license": {
"description": "License which the full concordance can be used under",
"$ref": "concept.schema.json#/definitions/conceptSet"
}
}
}
Loading

0 comments on commit 0d38b8d

Please sign in to comment.