diff --git a/controller/RestController.php b/controller/RestController.php
index da79d78b7..88b97024a 100644
--- a/controller/RestController.php
+++ b/controller/RestController.php
@@ -96,7 +96,62 @@ public function vocabularies($request)
return $this->returnJson($ret);
}
-
+ //gives the history of thesaurus versions
+ public function history($request){
+
+ $vocabMatch=array();
+ $vocabId= $request->getVocab()->getId();
+ $uriConcept=$request->getUri();
+ $vocabVersion=$request->getVocab()->getConfig()->version();
+ $vocabVersionDate=$request->getVocab()->getConfig()->versionDate();
+ $lang = $request->getLang();
+ $graph=array();
+ $graph['uri']=$uriConcept;
+ foreach ($this->model->getVocabularies() as $voc) {
+ if($voc->getConceptInfo($uriConcept, $lang)!=null){
+ array_push($vocabMatch, $voc);
+ }
+ }
+ foreach ($vocabMatch as $v) {
+ $iscurrent=false;
+ if($v->getId()==$vocabId)
+ {
+ $iscurrent=true;
+ }
+ $graph['hasVersion'][]=array(
+ 'skosmosVocab'=>$v->getId(),
+ 'version'=>$v->getConfig()->version(),
+ 'createdOn'=>$v->getConfig()->versionDate(),
+ 'iscurrent'=>$iscurrent
+ );
+ }
+
+ $ret = array_merge_recursive($this->context, array(
+ '@context' => array(
+ 'rdfs' => 'http://www.w3.org/2000/01/rdf-schema#',
+ 'onki' => 'http://schema.onki.fi/onki#',
+ 'dct' => 'http://purl.org/dc/terms/',
+ 'dcterms' =>'http://purl.org/dc/terms/',
+ 'altLabel' => 'skos:altLabel',
+ 'broader' => 'skos:broader',
+ 'dc11' => 'http://purl.org/dc/elements/1.1/',
+ 'dct' => 'http://purl.org/dc/terms/',
+ 'graph' => '@graph',
+ 'pav' => 'http://purl.org/pav/',
+ 'hiddenLabel' => 'skos:hiddenLabel',
+ 'inScheme' => 'skos:inScheme',
+ 'isothes' => 'http://purl.org/iso25964/skos-thes#',
+ 'prefLabel' => 'skos:prefLabel',
+ 'owl'=>'http://www.w3.org/2002/07/owl#',
+ 'lang'=>'@language',
+ 'related'=>'skos:related',
+ 'value'=>'@value'
+ ),
+ 'graph' => array($graph))
+ );
+
+ return $this->returnJson($ret);
+ }
private function constructSearchParameters($request)
{
$parameters = new ConceptSearchParameters($request, $this->model->getConfig(), true);
diff --git a/model/Vocabulary.php b/model/Vocabulary.php
index f4a9ceac3..065742ebe 100644
--- a/model/Vocabulary.php
+++ b/model/Vocabulary.php
@@ -176,6 +176,11 @@ public function getInfo($lang = null)
if (isset($ret['owl:versionInfo'])) { // if version info availible for vocabulary convert it to a more readable format
$ret['owl:versionInfo'][0] = $this->parseVersionInfo($ret['owl:versionInfo'][0]);
}
+
+ if (isset($ret['pav:hasVersion'])) { // if version info availible for vocabulary convert it to a more readable format
+ $ret['pav:hasVersion']['pav:version'] []= $this->parseVersionInfo($ret['pav:hasVersion'][0]);
+ }
+
// remove duplicate values
foreach (array_keys($ret) as $prop) {
$ret[$prop] = array_unique($ret[$prop]);
@@ -609,4 +614,6 @@ public function getShortName() {
public function getId() {
return $this->config->getId();
}
+
+
}
diff --git a/model/VocabularyConfig.php b/model/VocabularyConfig.php
index 4885dd71e..f8539927e 100644
--- a/model/VocabularyConfig.php
+++ b/model/VocabularyConfig.php
@@ -121,6 +121,14 @@ public function getTitle($lang = null)
{
return $this->getLiteral('dc:title', $lang);
}
+ public function version($lang = null)
+ {
+ return $this->getLiteral('pav:hasVersion');
+ }
+ public function versionDate($lang = null)
+ {
+ return $this->getLiteral('pav:createdOn');
+ }
/**
* Returns a boolean value set in the vocabularies.ttl config.
diff --git a/resource/css/stylesheet.css b/resource/css/stylesheet.css
new file mode 100644
index 000000000..40926ea79
--- /dev/null
+++ b/resource/css/stylesheet.css
@@ -0,0 +1,222 @@
+.headerbar-coloured {
+ position: absolute;
+ background-color: #003a80;
+ width: 100%;
+ margin: 0 0 0 15px;
+ height: 50px;
+}
+.headerbar{
+ margin-top: 10px;
+}
+.search-vocab-text {
+ background-color: #a4c400;
+ opacity: 0.95;
+ height: 40px;
+ float: left;
+ text-align: right;
+ line-height: 40px;
+}
+
+.header-left > h1 {
+ background-color: #003a80;
+ line-height: 50px;
+ margin: 0 0 0 15px;
+ opacity: 0.99;
+ overflow: hidden;
+}
+
+.topbar-white {
+ background-color: #003a80;
+ height: 70px;
+
+}
+
+#language, #navigation{
+ background-color: #a4c400;
+ float: right;
+ height: 50px;
+ line-height: 70px;
+ padding-left: 0;
+ padding-right: 2%;
+ text-align: right;
+ width: auto;
+ margin-top: 10px;
+}
+#logo{
+ min-width: 30px;
+ width:6%;
+ display: normal;
+ position: absolute;
+}
+/* Timeline */
+.timeline,
+.timeline-horizontal {
+ list-style: none;
+ padding: 20px;
+ position: relative;
+}
+.timeline:before {
+ top: 40px;
+ bottom: 0;
+ position: absolute;
+ content: " ";
+ width: 3px;
+ background-color: #eeeeee;
+ left: 50%;
+ margin-left: -1.5px;
+}
+.timeline .timeline-item {
+ margin-bottom: 20px;
+ position: relative;
+}
+.timeline .timeline-item:before,
+.timeline .timeline-item:after {
+ content: "";
+ display: table;
+}
+.timeline .timeline-item:after {
+ clear: both;
+}
+.timeline .timeline-item .timeline-badge {
+ color: #fff;
+ width: 54px;
+ height: 54px;
+ line-height: 52px;
+ font-size: 22px;
+ text-align: center;
+ position: absolute;
+ top: 18px;
+ left: 50%;
+ margin-left: -25px;
+ background-color: #7c7c7c;
+ border: 3px solid #ffffff;
+ z-index: 100;
+ border-top-right-radius: 50%;
+ border-top-left-radius: 50%;
+ border-bottom-right-radius: 50%;
+ border-bottom-left-radius: 50%;
+}
+.timeline .timeline-item .timeline-badge i,
+.timeline .timeline-item .timeline-badge .fa,
+.timeline .timeline-item .timeline-badge .glyphicon {
+ top: 2px;
+ left: 0px;
+}
+.timeline .timeline-item .timeline-badge.primary {
+ background-color: #a4c400;
+}
+.timeline .timeline-item .timeline-badge.info {
+ background-color: #003a80;
+}
+.timeline .timeline-item .timeline-badge.success {
+ background-color: #59ba1f;
+}
+.timeline .timeline-item .timeline-badge.warning {
+ background-color: #d1bd10;
+}
+.timeline .timeline-item .timeline-badge.danger {
+ background-color: #ba1f1f;
+}
+.timeline .timeline-item .timeline-panel {
+ position: relative;
+ width: 10%;
+ float: left;
+ right: 16px;
+ border: 1px solid #c0c0c0;
+ background: #ffffff;
+ border-radius: 2px;
+ padding: 20px;
+ -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
+ box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
+}
+.timeline .timeline-item .timeline-panel:before {
+ position: absolute;
+ top: 5px;
+ right: -16px;
+ display: inline-block;
+ border-top: 16px solid transparent;
+ border-left: 16px solid #c0c0c0;
+ border-right: 0 solid #c0c0c0;
+ border-bottom: 16px solid transparent;
+ content: " ";
+}
+.timeline .timeline-item .timeline-panel .timeline-title {
+ margin-top: 0;
+ color: inherit;
+ text-align: center;
+}
+.timeline .timeline-item .timeline-panel .timeline-body > p,
+.timeline .timeline-item .timeline-panel .timeline-body > ul {
+ margin-bottom: 0;
+}
+.timeline .timeline-item .timeline-panel .timeline-body > p + p {
+ margin-top: 2px;
+}
+.timeline .timeline-item:last-child:nth-child(even) {
+ float: right;
+}
+.timeline .timeline-item:nth-child(even) .timeline-panel {
+ float: right;
+ left: 16px;
+}
+.timeline .timeline-item:nth-child(even) .timeline-panel:before {
+ border-left-width: 0;
+ border-right-width: 14px;
+ left: -14px;
+ right: auto;
+}
+.timeline-horizontal {
+ list-style: none;
+ position: relative;
+ padding: 20px 0px 20px 0px;
+ display: inline-block;
+}
+.timeline-horizontal:before {
+ height: 3px;
+ top: auto;
+ bottom: 26px;
+ left: 56px;
+ right: 0;
+ width: 100%;
+ margin-bottom: 20px;
+}
+.timeline-horizontal .timeline-item {
+ display: table-cell;
+ height: 170px;
+ width: 10%;
+ min-width: 320px;
+ float: none !important;
+ padding-left: 0px;
+ padding-right: 5px;
+ margin: 0 auto;
+ vertical-align: bottom;
+}
+.timeline-horizontal .timeline-item .timeline-panel {
+ top: auto;
+ bottom: 64px;
+ display: inline-block;
+ float: none !important;
+ left: 0 !important;
+ right: 0 !important;
+ width: 50%;
+ margin-bottom: 20px;
+}
+.timeline-horizontal .timeline-item .timeline-panel:before {
+ top: auto;
+ bottom: -16px;
+ left: 28px !important;
+ right: auto;
+ border-right: 16px solid transparent !important;
+ border-top: 16px solid #c0c0c0 !important;
+ border-bottom: 0 solid #c0c0c0 !important;
+ border-left: 16px solid transparent !important;
+}
+.timeline-horizontal .timeline-item:before,
+.timeline-horizontal .timeline-item:after {
+ display: none;
+}
+.timeline-horizontal .timeline-item .timeline-badge {
+ top: auto;
+ bottom: 0px;
+ left: 43px;
+}
\ No newline at end of file
diff --git a/resource/js/docready.js b/resource/js/docready.js
index 0eea7d1ad..f1ca8e564 100644
--- a/resource/js/docready.js
+++ b/resource/js/docready.js
@@ -1,5 +1,6 @@
-$(function() { // DOCUMENT READY
+$(function() { // DOCUMENT READY
+
var spinner = '
'+ loading_text + '
';
var searchString = ''; // stores the search field's value before autocomplete selection changes it
var selectedVocabs = [];
@@ -280,10 +281,17 @@ $(function() { // DOCUMENT READY
updateTitle(data);
updateTopbarLang(data);
makeCallbacks(data);
+ var uri = $('.uri-input-box').html();
+ getConceptVersions(uri,lang);
// take the content language buttons from the response
$('.header-float .dropdown-menu').empty().append($('.header-float .dropdown-menu', data).html());
+
}
+
});
+
+
+
return false;
}
);
@@ -361,9 +369,9 @@ $(function() { // DOCUMENT READY
return false;
}
var uri = $('.uri-input-box').html();
- var base_href = $('base').attr('href'); // see #315, #633
- var redirectUrl = base_href + vocab + '/' + lang + '/page/?uri=' + uri;
+ var redirectUrl = vocab + '/' + lang + '/page/?uri=' + uri;
window.location.replace(encodeURI(redirectUrl));
+
return false;
}
);
diff --git a/resource/js/hierarchy.js b/resource/js/hierarchy.js
index ece9a3711..71459450c 100644
--- a/resource/js/hierarchy.js
+++ b/resource/js/hierarchy.js
@@ -508,6 +508,7 @@ function getTreeConfiguration() {
nodeId = node.uri;
json_url = (rest_base_url + vocab + '/children');
}
+
$.ajax({
data: params,
url: json_url,
@@ -521,6 +522,7 @@ function getTreeConfiguration() {
}
}
});
+
}
}
});
diff --git a/resource/js/timeLine.js b/resource/js/timeLine.js
new file mode 100644
index 000000000..64248c5ca
--- /dev/null
+++ b/resource/js/timeLine.js
@@ -0,0 +1,90 @@
+
+
+
+/*
+ * For legacy browsers that don't natively support Object.size().
+ * @param {Object} obj
+ */
+Object.size = function (obj) {
+ var size = 0, key;
+ for (key in obj) {
+ if (obj.hasOwnProperty(key)) {
+ size += 1;
+ }
+ }
+ return size;
+};
+
+
+function getAllVersions(graph,lang) {
+ var tab=[];
+
+ for (var i = 0; i < graph.length ; i++) {
+ console.log('graph :'+i);
+ var groupPage = graph[i].uri.indexOf(uriSpace) !== -1 ? graph[i].uri.substr(uriSpace.length) : '?uri=' + encodeURIComponent(graph[i].uri);
+ for (var k = 0; k < graph[i].hasVersion.length; k++) {
+ console.log('version: '+k);
+ console.log('version value: '+graph[i].hasVersion[k].version);
+ var objectInfos={
+ text : graph[i].uri,
+ a_attr : { "href" : graph[i].hasVersion[k].skosmosVocab + '/' + lang + '/page/' + groupPage },
+ version: graph[i].hasVersion[k].version,
+ date : graph[i].hasVersion[k].createdOn,
+ iscurrent : graph[i].hasVersion[k].iscurrent
+ };
+ tab.push(objectInfos);
+ }
+ }
+ console.log(JSON.stringify(tab));
+ return tab;
+}
+// adds a delay before showing the spinner configured above
+ function delaySpinner(loading) {
+ loading = setTimeout(function() { $('.history-spinner').show() }, 500);
+ }
+
+function getConceptVersions(uri,lang) {
+ var results=[];
+ var html='';
+ var loading;
+ var json_url = (rest_base_url + vocab + '/history');
+ $.ajax({
+ data: $.param({'uri': uri, 'lang' : lang}),
+ url: json_url,
+ beforeSend: delaySpinner(loading),
+ complete: clearTimeout(loading),
+ success: function (response) {
+ $('.history-spinner').hide();
+ results= getAllVersions(response.graph,lang);
+
+ console.log(JSON.stringify(results));
+ $('.page-header').append('Versions
');
+ for(var i=0; i'
+ +''
+ + '
'
+ +'
'+results[i].version+'
'
+ +'
'+results[i].date+'
'
+ +'
'
+ +'
'
+ +'';
+ }else{
+ html=''
+ +''
+ +''
+ + '
'
+ +'
'+results[i].version+'
'
+ +'
'+results[i].date+'
'
+ +'
'
+ +'
'
+ +'';
+ }
+ $('.concept-main #history').append(html);
+ }
+ }
+ });
+ }
+
+//''+results[i].text+' | '+results[i].version+' | '+results[i].date+' |
'
diff --git a/rest.php b/rest.php
index 6b0e5ea89..f815aa43a 100644
--- a/rest.php
+++ b/rest.php
@@ -59,7 +59,9 @@
$controller->label($request);
} elseif ($parts[2] == 'lookup') {
$controller->lookup($request);
- } elseif ($parts[2] == 'broader') {
+ } elseif ($parts[2] == 'history') {
+ $controller->history($request);
+ }elseif ($parts[2] == 'broader') {
$controller->broader($request);
} elseif ($parts[2] == 'broaderTransitive') {
$controller->broaderTransitive($request);
diff --git a/swagger.json b/swagger.json
index 2189cfcfd..450c1902b 100644
--- a/swagger.json
+++ b/swagger.json
@@ -1,1810 +1,1916 @@
{
- "swagger": "2.0",
- "info": {
- "title": "Skosmos API",
- "version": "v1",
- "description": "The Skosmos REST API is a read-only interface to the data stored on the vocabulary server. The URL namespace is the base URL of the Skosmos instance followed by `/rest/v1/`. \n\nMost methods return the data as UTF-8 encoded JSON-LD, served using the `application/json` MIME type. The data consists of a single JSON object which includes JSON-LD context information (in the `@context` field) and one or more fields which contain the actual data. Some methods (`data`) return other formats (RDF/XML, Turtle, RDF/JSON) with the appropriate MIME type.\n\nThe API supports Cross-Origin Resource Sharing by setting the Access-Control-Allow-Origin HTTP header to `\"*\"` for all requests.\n\nThe API supports the JSONP convention of appending a callback parameter to any URL. The returned data will then be wrapped in a JavaScript function call using the function name provided as the callback parameter value. JSONP wrapped data will be served using the `application/javascript` MIME type.\n"
- },
- "schemes": [
- "http",
- "https"
- ],
- "basePath": "/rest/v1",
- "produces": [
- "application/rdf+xml",
- "text/turtle",
- "application/ld+json",
- "application/json"
- ],
- "paths": {
- "/vocabularies": {
- "get": {
- "summary": "Available vocabularies",
- "parameters": [
- {
- "name": "lang",
- "in": "query",
- "description": "language of labels, e.g. \"en\" or \"fi\"",
- "required": true,
- "type": "string"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "a list of vocabularies on the server",
- "schema": {
- "$ref": "#/definitions/VocabularyList"
- }
- }
- },
- "tags": [
- "Global methods"
- ]
+ "swagger": "2.0",
+ "info": {
+ "title": "Skosmos API",
+ "version": "v1",
+ "description": "The Skosmos REST API is a read-only interface to the data stored on the vocabulary server. The URL namespace is the base URL of the Skosmos instance followed by `/rest/v1/`. \n\nMost methods return the data as UTF-8 encoded JSON-LD, served using the `application/json` MIME type. The data consists of a single JSON object which includes JSON-LD context information (in the `@context` field) and one or more fields which contain the actual data. Some methods (`data`) return other formats (RDF/XML, Turtle, RDF/JSON) with the appropriate MIME type.\n\nThe API supports Cross-Origin Resource Sharing by setting the Access-Control-Allow-Origin HTTP header to `\"*\"` for all requests.\n\nThe API supports the JSONP convention of appending a callback parameter to any URL. The returned data will then be wrapped in a JavaScript function call using the function name provided as the callback parameter value. JSONP wrapped data will be served using the `application/javascript` MIME type.\n"
+ },
+ "schemes": [
+ "http",
+ "https"
+ ],
+ "basePath": "/rest/v1",
+ "produces": [
+ "application/rdf+xml",
+ "text/turtle",
+ "application/ld+json",
+ "application/json"
+ ],
+ "paths": {
+ "/vocabularies": {
+ "get": {
+ "summary": "Available vocabularies",
+ "parameters": [
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "language of labels, e.g. \"en\" or \"fi\"",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "a list of vocabularies on the server",
+ "schema": {
+ "$ref": "#/definitions/VocabularyList"
}
+ }
},
- "/search": {
- "get": {
- "summary": "Search concepts and collections by query term",
- "parameters": [
- {
- "name": "query",
- "in": "query",
- "description": "the term to search for e.g. \"cat*\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "language of labels to match, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- },
- {
- "name": "labellang",
- "in": "query",
- "description": "language of labels to return, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- },
- {
- "name": "vocab",
- "in": "query",
- "description": "vocabulary/vocabularies to limit search to, e.g. \"yso\" or \"yso allars\"",
- "required": false,
- "type": "string"
- },
- {
- "name": "type",
- "in": "query",
- "description": "limit search to concepts of the given type(s), e.g. \"skos:Concept\".",
- "required": false,
- "type": "string"
- },
- {
- "name": "parent",
- "in": "query",
- "description": "limit search to concepts which have the given concept (specified by URI) as parent in their transitive broader hierarchy",
- "required": false,
- "type": "string"
- },
- {
- "name": "group",
- "in": "query",
- "description": "limit search to concepts in the given group (specified by URI)",
- "required": false,
- "type": "string"
- },
- {
- "name": "maxhits",
- "in": "query",
- "description": "Maximum number of results to return. If not given, maxhits will default to 100. (default settable in config.inc)",
- "required": false,
- "type": "integer"
- },
- {
- "name": "offset",
- "in": "query",
- "description": "offset where to start in ther esult set, useful for paging the result. If not given, defaults to 0.",
- "required": false,
- "type": "integer"
- },
- {
- "name": "fields",
- "in": "query",
- "description": "space-separated list of extra fields to include in the results. e.g. \"related\" or \"prefLabel\" or any other skos property.",
- "required": false,
- "type": "string"
- },
- {
- "name": "unique",
- "in": "query",
- "description": "boolean flag to indicate that each concept should be returned only once, instead of returning all the different ways it could match (for example both via prefLabel and altLabel).",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "data of the concepts matching the search term",
- "schema": {
- "$ref": "#/definitions/SearchResults"
- }
- }
- },
- "tags": [
- "Global methods"
- ]
+ "tags": [
+ "Global methods"
+ ]
+ }
+ },
+ "/search": {
+ "get": {
+ "summary": "Search concepts and collections by query term",
+ "parameters": [
+ {
+ "name": "query",
+ "in": "query",
+ "description": "the term to search for e.g. \"cat*\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "language of labels to match, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "labellang",
+ "in": "query",
+ "description": "language of labels to return, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "vocab",
+ "in": "query",
+ "description": "vocabulary/vocabularies to limit search to, e.g. \"yso\" or \"yso allars\"",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "limit search to concepts of the given type(s), e.g. \"skos:Concept\".",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "parent",
+ "in": "query",
+ "description": "limit search to concepts which have the given concept (specified by URI) as parent in their transitive broader hierarchy",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group",
+ "in": "query",
+ "description": "limit search to concepts in the given group (specified by URI)",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "maxhits",
+ "in": "query",
+ "description": "Maximum number of results to return. If not given, maxhits will default to 100. (default settable in config.inc)",
+ "required": false,
+ "type": "integer"
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "description": "offset where to start in ther esult set, useful for paging the result. If not given, defaults to 0.",
+ "required": false,
+ "type": "integer"
+ },
+ {
+ "name": "fields",
+ "in": "query",
+ "description": "space-separated list of extra fields to include in the results. e.g. \"related\" or \"prefLabel\" or any other skos property.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "unique",
+ "in": "query",
+ "description": "boolean flag to indicate that each concept should be returned only once, instead of returning all the different ways it could match (for example both via prefLabel and altLabel).",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "data of the concepts matching the search term",
+ "schema": {
+ "$ref": "#/definitions/SearchResults"
}
+ }
},
- "/data": {
- "get": {
- "summary": "RDF data of the requested concept",
- "parameters": [
- {
- "name": "uri",
- "in": "query",
- "description": "URI of the concept whose data to return",
- "required": true,
- "type": "string"
- },
- {
- "name": "format",
- "in": "query",
- "description": "the MIME type of the serialization format, e.g. \"text/turtle\" or \"application/rdf+xml\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/rdf+xml",
- "text/turtle",
- "application/ld+json",
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "the data of the requested concept"
- },
- "404": {
- "description": "the URI did not match any known concept"
- }
- },
- "tags": [
- "Global methods"
- ]
- }
+ "tags": [
+ "Global methods"
+ ]
+ }
+ },
+ "/data": {
+ "get": {
+ "summary": "RDF data of the requested concept",
+ "parameters": [
+ {
+ "name": "uri",
+ "in": "query",
+ "description": "URI of the concept whose data to return",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "format",
+ "in": "query",
+ "description": "the MIME type of the serialization format, e.g. \"text/turtle\" or \"application/rdf+xml\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/rdf+xml",
+ "text/turtle",
+ "application/ld+json",
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "the data of the requested concept"
+ },
+ "404": {
+ "description": "the URI did not match any known concept"
+ }
},
- "/types": {
- "get": {
- "summary": "Information about the types (classes) of objects contained in all vocabularies",
- "parameters": [
- {
- "name": "lang",
- "in": "query",
- "description": "language of labels, e.g. \"en\" or \"fi\"",
- "required": true,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "the data of the requested concept",
- "schema": {
- "$ref": "#/definitions/TypeList"
- }
- }
- },
- "tags": [
- "Global methods"
- ]
+ "tags": [
+ "Global methods"
+ ]
+ }
+ },
+ "/types": {
+ "get": {
+ "summary": "Information about the types (classes) of objects contained in all vocabularies",
+ "parameters": [
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "language of labels, e.g. \"en\" or \"fi\"",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "the data of the requested concept",
+ "schema": {
+ "$ref": "#/definitions/TypeList"
}
+ }
},
- "/{vocid}/": {
- "get": {
- "summary": "General information about the vocabulary",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "The Skosmos vocabulary id e.g. stw or yso",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "language of labels, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "information about the requested vocabulary",
- "schema": {
- "$ref": "#/definitions/VocabularyInfo"
- }
- },
- "404": {
- "description": "no vocabulary could be found with the requested id"
- }
- },
- "tags": [
- "Vocabulary-specific methods"
- ]
+ "tags": [
+ "Global methods"
+ ]
+ }
+ },
+ "/{vocid}/": {
+ "get": {
+ "summary": "General information about the vocabulary",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "The Skosmos vocabulary id e.g. stw or yso",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "language of labels, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "information about the requested vocabulary",
+ "schema": {
+ "$ref": "#/definitions/VocabularyInfo"
}
+ },
+ "404": {
+ "description": "no vocabulary could be found with the requested id"
+ }
},
- "/{vocid}/types": {
- "get": {
- "summary": "Information about the types (classes) of objects in the vocabulary",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "language of labels, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "type information about the requested vocabulary",
- "schema": {
- "$ref": "#/definitions/TypeList"
- }
- },
- "404": {
- "description": "no vocabulary could be found with the requested id"
- }
- },
- "tags": [
- "Vocabulary-specific methods"
- ]
+ "tags": [
+ "Vocabulary-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/types": {
+ "get": {
+ "summary": "Information about the types (classes) of objects in the vocabulary",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "language of labels, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "type information about the requested vocabulary",
+ "schema": {
+ "$ref": "#/definitions/TypeList"
}
+ },
+ "404": {
+ "description": "no vocabulary could be found with the requested id"
+ }
},
- "/{vocid}/topConcepts": {
- "get": {
- "summary": "Top concepts of the vocabulary",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "language of labels, e.g. \"en\" or \"fi\"",
- "type": "string"
- },
- {
- "name": "scheme",
- "in": "query",
- "description": "concept scheme whose top concepts to return. If not given, the default concept scheme of the vocabulary will be used.",
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "type information about the requested vocabulary",
- "schema": {
- "$ref": "#/definitions/TopConcepts"
- }
- },
- "404": {
- "description": "no vocabulary could be found with the requested id"
- }
- },
- "tags": [
- "Vocabulary-specific methods"
- ]
+ "tags": [
+ "Vocabulary-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/topConcepts": {
+ "get": {
+ "summary": "Top concepts of the vocabulary",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "language of labels, e.g. \"en\" or \"fi\"",
+ "type": "string"
+ },
+ {
+ "name": "scheme",
+ "in": "query",
+ "description": "concept scheme whose top concepts to return. If not given, the default concept scheme of the vocabulary will be used.",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "type information about the requested vocabulary",
+ "schema": {
+ "$ref": "#/definitions/TopConcepts"
}
+ },
+ "404": {
+ "description": "no vocabulary could be found with the requested id"
+ }
+ },
+ "tags": [
+ "Vocabulary-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/data": {
+ "get": {
+ "summary": "RDF data of the whole vocabulary or a specific concept",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "format",
+ "in": "query",
+ "description": "The MIME type of the serialization format, e.g \"text/turtle\" or \"application/rdf+xml\". If not specified, HTTP content negotiation (based on the Accept header) is used to determine a suitable serialization format from among the available ones.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "uri",
+ "in": "query",
+ "description": "URI of the desired concept. When no uri parameter is given, the whole vocabulary is returned instead.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/rdf+xml",
+ "text/turtle",
+ "application/ld+json",
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "the RDF data of the requested vocabulary/concept"
+ },
+ "404": {
+ "description": "no vocabulary/concept could be found with the requested id/uri"
+ }
},
- "/{vocid}/data": {
- "get": {
- "summary": "RDF data of the whole vocabulary or a specific concept",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "format",
- "in": "query",
- "description": "The MIME type of the serialization format, e.g \"text/turtle\" or \"application/rdf+xml\". If not specified, HTTP content negotiation (based on the Accept header) is used to determine a suitable serialization format from among the available ones.",
- "required": false,
- "type": "string"
- },
- {
- "name": "uri",
- "in": "query",
- "description": "URI of the desired concept. When no uri parameter is given, the whole vocabulary is returned instead.",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/rdf+xml",
- "text/turtle",
- "application/ld+json",
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "the RDF data of the requested vocabulary/concept"
- },
- "404": {
- "description": "no vocabulary/concept could be found with the requested id/uri"
- }
- },
- "tags": [
- "Vocabulary-specific methods",
- "Concept-specific methods"
- ]
+ "tags": [
+ "Vocabulary-specific methods",
+ "Concept-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/search": {
+ "get": {
+ "summary": "Finds concepts and collections from a vocabulary by query term",
+ "description": "Returns a list of search results. The search is performed as a case-insensitive pattern, where an asterisk (*) may be used as wildcard. E.g. \"cat*\" may return results such as \"CATCH-22\" and \"categorization\". If decoded into RDF, the result is a vocabulary fragment expressed as SKOS.",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "query",
+ "in": "query",
+ "description": "the term to search for e.g. \"cat*\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "language of labels to match, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "limit search to concepts of the given type, e.g. \"skos:Concept\"; multiple types can be specified as a space-separated list",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "parent",
+ "in": "query",
+ "description": "limit search to concepts which have the given concept (specified by URI) as parent in their transitive broader hierarchy",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group",
+ "in": "query",
+ "description": "limit search to concepts in the given group (specified by URI)",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "maxhits",
+ "in": "query",
+ "description": "Maximum number of results to return. If not given, maxhits will default to 100. (default settable in config.inc)",
+ "required": false,
+ "type": "integer"
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "description": "offset where to start in ther esult set, useful for paging the result. If not given, defaults to 0.",
+ "required": false,
+ "type": "integer"
+ },
+ {
+ "name": "fields",
+ "in": "query",
+ "description": "space-separated list of extra fields to include in the results. e.g. \"related\" or \"prefLabel\" or any other skos property.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "unique",
+ "in": "query",
+ "description": "boolean flag to indicate that each concept should be returned only once, instead of returning all the different ways it could match (for example both via prefLabel and altLabel).",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "data of the concepts matching the search term",
+ "schema": {
+ "$ref": "#/definitions/SearchResults"
}
+ }
},
- "/{vocid}/search": {
- "get": {
- "summary": "Finds concepts and collections from a vocabulary by query term",
- "description": "Returns a list of search results. The search is performed as a case-insensitive pattern, where an asterisk (*) may be used as wildcard. E.g. \"cat*\" may return results such as \"CATCH-22\" and \"categorization\". If decoded into RDF, the result is a vocabulary fragment expressed as SKOS.",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "query",
- "in": "query",
- "description": "the term to search for e.g. \"cat*\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "language of labels to match, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- },
- {
- "name": "type",
- "in": "query",
- "description": "limit search to concepts of the given type, e.g. \"skos:Concept\"; multiple types can be specified as a space-separated list",
- "required": false,
- "type": "string"
- },
- {
- "name": "parent",
- "in": "query",
- "description": "limit search to concepts which have the given concept (specified by URI) as parent in their transitive broader hierarchy",
- "required": false,
- "type": "string"
- },
- {
- "name": "group",
- "in": "query",
- "description": "limit search to concepts in the given group (specified by URI)",
- "required": false,
- "type": "string"
- },
- {
- "name": "maxhits",
- "in": "query",
- "description": "Maximum number of results to return. If not given, maxhits will default to 100. (default settable in config.inc)",
- "required": false,
- "type": "integer"
- },
- {
- "name": "offset",
- "in": "query",
- "description": "offset where to start in ther esult set, useful for paging the result. If not given, defaults to 0.",
- "required": false,
- "type": "integer"
- },
- {
- "name": "fields",
- "in": "query",
- "description": "space-separated list of extra fields to include in the results. e.g. \"related\" or \"prefLabel\" or any other skos property.",
- "required": false,
- "type": "string"
- },
- {
- "name": "unique",
- "in": "query",
- "description": "boolean flag to indicate that each concept should be returned only once, instead of returning all the different ways it could match (for example both via prefLabel and altLabel).",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "data of the concepts matching the search term",
- "schema": {
- "$ref": "#/definitions/SearchResults"
- }
- }
- },
- "tags": [
- "Vocabulary-specific methods"
- ]
+ "tags": [
+ "Vocabulary-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/lookup": {
+ "get": {
+ "summary": "Look up concepts by label",
+ "description": "Returns the best matching concept(s) for the given label in JSON-LD format. In case the label matches several concepts with the same precedence, all of them are returned.",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "label",
+ "in": "query",
+ "description": "the label to look for, e.g. \"cat\" or \"dog\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "search language, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "type information about the requested vocabulary",
+ "schema": {
+ "$ref": "#/definitions/LookupResults"
}
+ },
+ "404": {
+ "description": "no concept could be found with the requested label"
+ }
},
- "/{vocid}/lookup": {
- "get": {
- "summary": "Look up concepts by label",
- "description": "Returns the best matching concept(s) for the given label in JSON-LD format. In case the label matches several concepts with the same precedence, all of them are returned.",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "label",
- "in": "query",
- "description": "the label to look for, e.g. \"cat\" or \"dog\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "search language, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "type information about the requested vocabulary",
- "schema": {
- "$ref": "#/definitions/LookupResults"
- }
- },
- "404": {
- "description": "no concept could be found with the requested label"
- }
- },
- "tags": [
- "Vocabulary-specific methods"
- ]
+ "tags": [
+ "Vocabulary-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/vocabularyStatistics": {
+ "get": {
+ "summary": "Number of Concepts and Collections in the vocabulary",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "language of labels, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "the concept and group counts for the vocabulary",
+ "schema": {
+ "$ref": "#/definitions/VocabularyStatistics"
}
+ },
+ "404": {
+ "description": "no vocabulary could be found with the requested id"
+ }
},
- "/{vocid}/vocabularyStatistics": {
- "get": {
- "summary": "Number of Concepts and Collections in the vocabulary",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "language of labels, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "the concept and group counts for the vocabulary",
- "schema": {
- "$ref": "#/definitions/VocabularyStatistics"
- }
- },
- "404": {
- "description": "no vocabulary could be found with the requested id"
- }
- },
- "tags": [
- "Vocabulary-specific methods"
- ]
+ "tags": [
+ "Vocabulary-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/labelStatistics": {
+ "get": {
+ "summary": "Number of labels by language",
+ "description": "Returns a list of label (skos:prefLabel, skos:altLabel and skos:hiddenLabel) counts in all the different languages.",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "language of labels, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "the concept and group counts for the vocabulary",
+ "schema": {
+ "$ref": "#/definitions/LabelStatistics"
}
+ },
+ "404": {
+ "description": "no vocabulary could be found with the requested id"
+ }
},
- "/{vocid}/labelStatistics": {
- "get": {
- "summary": "Number of labels by language",
- "description": "Returns a list of label (skos:prefLabel, skos:altLabel and skos:hiddenLabel) counts in all the different languages.",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "language of labels, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "the concept and group counts for the vocabulary",
- "schema": {
- "$ref": "#/definitions/LabelStatistics"
- }
- },
- "404": {
- "description": "no vocabulary could be found with the requested id"
- }
- },
- "tags": [
- "Vocabulary-specific methods"
- ]
+ "tags": [
+ "Vocabulary-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/label": {
+ "get": {
+ "summary": "Preferred label for the requested concept",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "uri",
+ "in": "query",
+ "description": "URI of the concept whose label to return",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "search language, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "preferred label for the requested concept",
+ "schema": {
+ "$ref": "#/definitions/PrefAndUri"
}
+ },
+ "404": {
+ "description": "no concept could be found with the requested URI"
+ }
},
- "/{vocid}/label": {
- "get": {
- "summary": "Preferred label for the requested concept",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "uri",
- "in": "query",
- "description": "URI of the concept whose label to return",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "search language, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "preferred label for the requested concept",
- "schema": {
- "$ref": "#/definitions/PrefAndUri"
- }
- },
- "404": {
- "description": "no concept could be found with the requested URI"
- }
- },
- "tags": [
- "Concept-specific methods"
- ]
+ "tags": [
+ "Concept-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/broader": {
+ "get": {
+ "summary": "Broader concepts of the requested concept",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "uri",
+ "in": "query",
+ "description": "URI of the concept whose broader concept to return",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "label language, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "the broader concept(s) of the requested concept or an empty array if there are none",
+ "schema": {
+ "$ref": "#/definitions/BroaderResult"
}
+ },
+ "404": {
+ "description": "no concept could be found with the requested URI"
+ }
},
- "/{vocid}/broader": {
- "get": {
- "summary": "Broader concepts of the requested concept",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "uri",
- "in": "query",
- "description": "URI of the concept whose broader concept to return",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "label language, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "the broader concept(s) of the requested concept or an empty array if there are none",
- "schema": {
- "$ref": "#/definitions/BroaderResult"
- }
- },
- "404": {
- "description": "no concept could be found with the requested URI"
- }
- },
- "tags": [
- "Concept-specific methods"
- ]
+ "tags": [
+ "Concept-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/broaderTransitive": {
+ "get": {
+ "summary": "Broader transitive hierarchy for the requested concept",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "uri",
+ "in": "query",
+ "description": "URI of the concept whose broader transitive hierarchy to return",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "label language, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "the broader transitive hierarchy for the requested concept or an empty array if there concept does not have broaders",
+ "schema": {
+ "$ref": "#/definitions/BroaderTransitiveResult"
}
+ },
+ "404": {
+ "description": "no concept could be found with the requested URI"
+ }
},
- "/{vocid}/broaderTransitive": {
- "get": {
- "summary": "Broader transitive hierarchy for the requested concept",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "uri",
- "in": "query",
- "description": "URI of the concept whose broader transitive hierarchy to return",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "label language, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "the broader transitive hierarchy for the requested concept or an empty array if there concept does not have broaders",
- "schema": {
- "$ref": "#/definitions/BroaderTransitiveResult"
- }
- },
- "404": {
- "description": "no concept could be found with the requested URI"
- }
- },
- "tags": [
- "Concept-specific methods"
- ]
+ "tags": [
+ "Concept-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/narrower": {
+ "get": {
+ "summary": "Narrower concepts of the requested concept",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "uri",
+ "in": "query",
+ "description": "URI of the concept whose narrower concept to return",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "label language, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "the narrower concept(s) of the requested concept or an empty array if there are none",
+ "schema": {
+ "$ref": "#/definitions/NarrowerResult"
}
+ },
+ "404": {
+ "description": "no concept could be found with the requested URI"
+ }
},
- "/{vocid}/narrower": {
- "get": {
- "summary": "Narrower concepts of the requested concept",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "uri",
- "in": "query",
- "description": "URI of the concept whose narrower concept to return",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "label language, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "the narrower concept(s) of the requested concept or an empty array if there are none",
- "schema": {
- "$ref": "#/definitions/NarrowerResult"
- }
- },
- "404": {
- "description": "no concept could be found with the requested URI"
- }
- },
- "tags": [
- "Concept-specific methods"
- ]
+ "tags": [
+ "Concept-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/narrowerTransitive": {
+ "get": {
+ "summary": "Narrower transitive hierarchy for the requested concept",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "uri",
+ "in": "query",
+ "description": "URI of the concept whose narrower transitive hierarchy to return",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "label language, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "the narrower transitive hierarchy for the requested concept or an empty array if there concept does not have narrowers",
+ "schema": {
+ "$ref": "#/definitions/NarrowerTransitiveResult"
}
+ },
+ "404": {
+ "description": "no concept could be found with the requested URI"
+ }
},
- "/{vocid}/narrowerTransitive": {
- "get": {
- "summary": "Narrower transitive hierarchy for the requested concept",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "uri",
- "in": "query",
- "description": "URI of the concept whose narrower transitive hierarchy to return",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "label language, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "the narrower transitive hierarchy for the requested concept or an empty array if there concept does not have narrowers",
- "schema": {
- "$ref": "#/definitions/NarrowerTransitiveResult"
- }
- },
- "404": {
- "description": "no concept could be found with the requested URI"
- }
- },
- "tags": [
- "Concept-specific methods"
- ]
+ "tags": [
+ "Concept-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/related": {
+ "get": {
+ "summary": "Related concepts of the requested concept",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "uri",
+ "in": "query",
+ "description": "URI of the concept whose related concept to return",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "label language, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "the related concept(s) of the requested concept or an empty array if there are none",
+ "schema": {
+ "$ref": "#/definitions/RelatedResult"
}
+ },
+ "404": {
+ "description": "no concept could be found with the requested URI"
+ }
},
- "/{vocid}/related": {
- "get": {
- "summary": "Related concepts of the requested concept",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "uri",
- "in": "query",
- "description": "URI of the concept whose related concept to return",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "label language, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "the related concept(s) of the requested concept or an empty array if there are none",
- "schema": {
- "$ref": "#/definitions/RelatedResult"
- }
- },
- "404": {
- "description": "no concept could be found with the requested URI"
- }
- },
- "tags": [
- "Concept-specific methods"
- ]
+ "tags": [
+ "Concept-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/children": {
+ "get": {
+ "summary": "Narrower concepts of the requested concept",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "uri",
+ "in": "query",
+ "description": "URI of the concept whose narrower concepts to return",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "label language, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the children of the requested concept. The data is intended to be used in a hierarchical display.",
+ "schema": {
+ "$ref": "#/definitions/ChildrenResult"
}
+ },
+ "404": {
+ "description": "no concept could be found with the requested URI"
+ }
},
- "/{vocid}/children": {
- "get": {
- "summary": "Narrower concepts of the requested concept",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "uri",
- "in": "query",
- "description": "URI of the concept whose narrower concepts to return",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "label language, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "Returns the children of the requested concept. The data is intended to be used in a hierarchical display.",
- "schema": {
- "$ref": "#/definitions/ChildrenResult"
- }
- },
- "404": {
- "description": "no concept could be found with the requested URI"
- }
- },
- "tags": [
- "Concept-specific methods"
- ]
+ "tags": [
+ "Concept-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/groups": {
+ "get": {
+ "summary": "Concept groups in the vocabulary",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "label language, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "concept groups of the vocabulary",
+ "schema": {
+ "$ref": "#/definitions/GroupResult"
}
+ },
+ "404": {
+ "description": "no vocabulary could be found with the requested id"
+ }
},
- "/{vocid}/groups": {
- "get": {
- "summary": "Concept groups in the vocabulary",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "label language, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "concept groups of the vocabulary",
- "schema": {
- "$ref": "#/definitions/GroupResult"
- }
- },
- "404": {
- "description": "no vocabulary could be found with the requested id"
- }
- },
- "tags": [
- "Vocabulary-specific methods"
- ]
+ "tags": [
+ "Vocabulary-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/groupMembers": {
+ "get": {
+ "summary": "Members of the requested concept group",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "label language, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "concept groups of the vocabulary",
+ "schema": {
+ "$ref": "#/definitions/GroupMembers"
}
+ },
+ "404": {
+ "description": "no concept group could be found with the requested URI"
+ }
},
- "/{vocid}/groupMembers": {
- "get": {
- "summary": "Members of the requested concept group",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "label language, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "concept groups of the vocabulary",
- "schema": {
- "$ref": "#/definitions/GroupMembers"
- }
- },
- "404": {
- "description": "no concept group could be found with the requested URI"
- }
- },
- "tags": [
- "Concept-specific methods"
- ]
+ "tags": [
+ "Concept-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/hierarchy": {
+ "get": {
+ "summary": "Hierarchical context of the requested concept",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "uri",
+ "in": "query",
+ "description": "URI of the concept whose hierarchical context to return",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "label language, e.g. \"en\" or \"fi\"",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the hierarchical context of the requested concept. The hierarchy is intended to be used in a hierarchical display.",
+ "schema": {
+ "$ref": "#/definitions/Hierarchy"
}
+ },
+ "404": {
+ "description": "no concept group could be found with the requested URI"
+ }
},
- "/{vocid}/hierarchy": {
- "get": {
- "summary": "Hierarchical context of the requested concept",
- "parameters": [
- {
- "name": "vocid",
- "in": "path",
- "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
- "required": true,
- "type": "string"
- },
- {
- "name": "uri",
- "in": "query",
- "description": "URI of the concept whose hierarchical context to return",
- "required": true,
- "type": "string"
- },
- {
- "name": "lang",
- "in": "query",
- "description": "label language, e.g. \"en\" or \"fi\"",
- "required": false,
- "type": "string"
- }
- ],
- "produces": [
- "application/ld+json"
- ],
- "responses": {
- "200": {
- "description": "Returns the hierarchical context of the requested concept. The hierarchy is intended to be used in a hierarchical display.",
- "schema": {
- "$ref": "#/definitions/Hierarchy"
- }
- },
- "404": {
- "description": "no concept group could be found with the requested URI"
- }
- },
- "tags": [
- "Concept-specific methods"
- ]
+ "tags": [
+ "Concept-specific methods"
+ ]
+ }
+ },
+ "/{vocid}/history": {
+ "get": {
+ "summary": "get all versions of the requested concept",
+ "parameters": [
+ {
+ "name": "vocid",
+ "in": "path",
+ "description": "a Skosmos vocabulary identifier e.g. \"stw\" or \"yso\"",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "uri",
+ "in": "query",
+ "description": "URI of the concept for which we want to obtain versions",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "in": "query",
+ "description": "label language, e.g. \"en\" or \"fi\"",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/ld+json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns versions of the requested concept. These versions are used to display the timeline",
+ "schema": {
+ "$ref": "#/definitions/History"
}
+ },
+ "404": {
+ "description": "uri undefined"
+ }
+ },
+ "tags": [
+ "Concept-specific methods"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "VocabularyList": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
+ },
+ "vocabularies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Vocabulary"
+ }
}
+ },
+ "required": [
+ "uri",
+ "vocabularies"
+ ]
},
- "definitions": {
- "VocabularyList": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string"
- },
- "vocabularies": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Vocabulary"
- }
- }
- },
- "required": [
- "uri",
- "vocabularies"
- ]
- },
- "Vocabulary": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "title": {
- "type": "string"
- }
- },
- "required": [
- "uri",
- "id",
- "title"
- ]
- },
- "TypeList": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string"
- },
- "types": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Type"
- }
- }
- }
+ "Vocabulary": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
},
- "Type": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "Concept scheme URI"
- },
- "label": {
- "type": "string",
- "description": "Label of type"
- },
- "superclass": {
- "type": "string",
- "description": "URI of the superclass type, which this type is an extension/specialization of"
- }
- },
- "required": [
- "uri"
- ]
- },
- "SearchResults": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string"
- },
- "vocabularies": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SearchResult"
- }
- }
- },
- "required": [
- "uri",
- "vocabularies"
- ]
- },
- "SearchResult": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string"
- },
- "type": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "prefLabel": {
- "type": "string"
- },
- "altLabel": {
- "type": "string"
- },
- "hiddenLabel": {
- "type": "string"
- },
- "lang": {
- "type": "string"
- },
- "vocab": {
- "type": "string"
- },
- "exvocab": {
- "type": "string"
- },
- "notation": {
- "type": "string"
- }
- },
- "required": [
- "uri"
- ]
- },
- "VocabularyInfo": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "defaultLanguage": {
- "type": "string"
- },
- "languages": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "conceptschemes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ConceptScheme"
- }
- },
- "type": {
- "description": "Optional vocabulary classification e.g. 'http://publications.europa.eu/resource/authority/dataset-type/ONTOLOGY'",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PrefAndUri"
- }
- }
- },
- "required": [
- "uri",
- "id",
- "title",
- "defaultLanguage",
- "languages",
- "conceptschemes"
- ]
- },
- "ConceptScheme": {
- "type": "object",
- "properties": {
- "label": {
- "type": "string",
- "description": "Label of concept scheme (rdfs:label)"
- },
- "prefLabel": {
- "type": "string",
- "description": "Preferred label of concept scheme (skos:prefLabel)"
- },
- "title": {
- "type": "string",
- "description": "Title of concept scheme (dc:title)"
- },
- "uri": {
- "type": "string",
- "description": "Concept scheme URI"
- },
- "type": {
- "type": "string",
- "description": "Type of object (currently always \"skos:ConceptScheme\")"
- }
- }
+ "id": {
+ "type": "string"
},
- "TopConcepts": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string"
- },
- "topconcepts": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/TopConcept"
- }
- }
- },
- "required": [
- "uri",
- "topconcepts"
- ]
- },
- "TopConcept": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "label": {
- "type": "string",
- "description": "Label of the concept"
- },
- "topConceptOf": {
- "type": "string"
- },
- "notation": {
- "type": "string",
- "description": "Notation of the concept"
- },
- "hasChildren": {
- "type": "boolean",
- "description": "Boolean value indicating whether the concept has narrower concepts"
- }
- },
- "required": [
- "uri",
- "hasChildren"
- ]
- },
- "LookupResults": {
- "type": "object",
- "properties": {
- "result": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SearchResult"
- }
- }
- },
- "required": [
- "result"
- ]
- },
- "VocabularyStatistics": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "Skosmos vocabulary identifier"
- },
- "title": {
- "type": "string",
- "description": "Vocabulary title"
- },
- "concepts": {
- "$ref": "#/definitions/CountObject"
- },
- "subTypes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/TypeCountObject"
- }
- },
- "conceptsGroups": {
- "$ref": "#/definitions/CountObject"
- }
- }
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "uri",
+ "id",
+ "title"
+ ]
+ },
+ "TypeList": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
},
- "CountObject": {
- "type": "object",
- "properties": {
- "class": {
- "type": "string",
- "description": "Class/type of concepts"
- },
- "label": {
- "type": "string",
- "description": "Label of the class"
- },
- "count": {
- "type": "integer"
- }
- },
- "required": [
- "count",
- "class"
- ]
- },
- "TypeCountObject": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "description": "Class/type of concepts"
- },
- "label": {
- "type": "string",
- "description": "Label of the type"
- },
- "count": {
- "type": "integer"
- }
- },
- "required": [
- "count",
- "type"
- ]
- },
- "LabelStatistics": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string"
- },
- "id": {
- "type": "string",
- "description": "Skosmos vocabulary identifier"
- },
- "title": {
- "type": "string",
- "description": "Vocabulary title"
- },
- "languages": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/LanguageObject"
- }
- }
- }
+ "types": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Type"
+ }
+ }
+ }
+ },
+ "Type": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "Concept scheme URI"
},
- "LanguageObject": {
- "type": "object",
- "properties": {
- "language": {
- "type": "string",
- "description": "Language code e.g. \"fi\" or \"en\""
- },
- "literal": {
- "type": "string",
- "description": "language name e.g. \"Finnish\" or \"English\" (if lang parameter was used)"
- },
- "properties": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/LabelCount"
- }
- }
- },
- "required": [
- "language",
- "properties"
- ]
- },
- "LabelCount": {
- "type": "object",
- "properties": {
- "property": {
- "type": "string",
- "description": "property identifier, either \"skos:prefLabel\" or \"skos:altLabel\" or \"skos:hiddenLabel\""
- },
- "labels": {
- "type": "integer",
- "description": "number of labels with the specified property in the given language"
- }
- }
+ "label": {
+ "type": "string",
+ "description": "Label of type"
+ },
+ "superclass": {
+ "type": "string",
+ "description": "URI of the superclass type, which this type is an extension/specialization of"
+ }
+ },
+ "required": [
+ "uri"
+ ]
+ },
+ "SearchResults": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
+ },
+ "vocabularies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SearchResult"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "vocabularies"
+ ]
+ },
+ "SearchResult": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
+ },
+ "type": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "prefLabel": {
+ "type": "string"
+ },
+ "altLabel": {
+ "type": "string"
+ },
+ "hiddenLabel": {
+ "type": "string"
+ },
+ "lang": {
+ "type": "string"
+ },
+ "vocab": {
+ "type": "string"
+ },
+ "exvocab": {
+ "type": "string"
+ },
+ "notation": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "uri"
+ ]
+ },
+ "VocabularyInfo": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "defaultLanguage": {
+ "type": "string"
+ },
+ "languages": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "conceptschemes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConceptScheme"
+ }
+ },
+ "type": {
+ "description": "Optional vocabulary classification e.g. 'http://publications.europa.eu/resource/authority/dataset-type/ONTOLOGY'",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrefAndUri"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "id",
+ "title",
+ "defaultLanguage",
+ "languages",
+ "conceptschemes"
+ ]
+ },
+ "ConceptScheme": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "Label of concept scheme (rdfs:label)"
+ },
+ "prefLabel": {
+ "type": "string",
+ "description": "Preferred label of concept scheme (skos:prefLabel)"
+ },
+ "title": {
+ "type": "string",
+ "description": "Title of concept scheme (dc:title)"
+ },
+ "uri": {
+ "type": "string",
+ "description": "Concept scheme URI"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of object (currently always \"skos:ConceptScheme\")"
+ }
+ }
+ },
+ "TopConcepts": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
+ },
+ "topconcepts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TopConcept"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "topconcepts"
+ ]
+ },
+ "TopConcept": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "label": {
+ "type": "string",
+ "description": "Label of the concept"
+ },
+ "topConceptOf": {
+ "type": "string"
+ },
+ "notation": {
+ "type": "string",
+ "description": "Notation of the concept"
+ },
+ "hasChildren": {
+ "type": "boolean",
+ "description": "Boolean value indicating whether the concept has narrower concepts"
+ }
+ },
+ "required": [
+ "uri",
+ "hasChildren"
+ ]
+ },
+ "LookupResults": {
+ "type": "object",
+ "properties": {
+ "result": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SearchResult"
+ }
+ }
+ },
+ "required": [
+ "result"
+ ]
+ },
+ "VocabularyStatistics": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Skosmos vocabulary identifier"
+ },
+ "title": {
+ "type": "string",
+ "description": "Vocabulary title"
+ },
+ "concepts": {
+ "$ref": "#/definitions/CountObject"
+ },
+ "subTypes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TypeCountObject"
+ }
+ },
+ "conceptsGroups": {
+ "$ref": "#/definitions/CountObject"
+ }
+ }
+ },
+ "CountObject": {
+ "type": "object",
+ "properties": {
+ "class": {
+ "type": "string",
+ "description": "Class/type of concepts"
+ },
+ "label": {
+ "type": "string",
+ "description": "Label of the class"
+ },
+ "count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "count",
+ "class"
+ ]
+ },
+ "TypeCountObject": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Class/type of concepts"
+ },
+ "label": {
+ "type": "string",
+ "description": "Label of the type"
+ },
+ "count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "count",
+ "type"
+ ]
+ },
+ "LabelStatistics": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "description": "Skosmos vocabulary identifier"
+ },
+ "title": {
+ "type": "string",
+ "description": "Vocabulary title"
+ },
+ "languages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LanguageObject"
+ }
+ }
+ }
+ },
+ "LanguageObject": {
+ "type": "object",
+ "properties": {
+ "language": {
+ "type": "string",
+ "description": "Language code e.g. \"fi\" or \"en\""
+ },
+ "literal": {
+ "type": "string",
+ "description": "language name e.g. \"Finnish\" or \"English\" (if lang parameter was used)"
+ },
+ "properties": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LabelCount"
+ }
+ }
+ },
+ "required": [
+ "language",
+ "properties"
+ ]
+ },
+ "LabelCount": {
+ "type": "object",
+ "properties": {
+ "property": {
+ "type": "string",
+ "description": "property identifier, either \"skos:prefLabel\" or \"skos:altLabel\" or \"skos:hiddenLabel\""
+ },
+ "labels": {
+ "type": "integer",
+ "description": "number of labels with the specified property in the given language"
+ }
+ }
+ },
+ "PrefAndUri": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "prefLabel": {
+ "type": "string",
+ "description": "Preferred label of concept"
+ }
+ },
+ "required": [
+ "uri",
+ "prefLabel"
+ ]
+ },
+ "PrefAndUriAndBroader": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "broader": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "URI of the broader concept"
+ }
+ },
+ "prefLabel": {
+ "type": "string",
+ "description": "Preferred label of concept"
+ }
+ },
+ "required": [
+ "uri",
+ "prefLabel"
+ ]
+ },
+ "PrefAndUriAndNarrower": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "narrower": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "URI of the narrower concept"
+ }
+ },
+ "prefLabel": {
+ "type": "string",
+ "description": "Preferred label of concept"
+ }
+ },
+ "required": [
+ "uri",
+ "prefLabel"
+ ]
+ },
+ "BroaderResult": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "broader": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrefAndUri"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "broader"
+ ]
+ },
+ "BroaderTransitiveResult": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "broaderTransitive": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrefAndUriAndBroader"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "broaderTransitive"
+ ]
+ },
+ "NarrowerResult": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "narrower": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrefAndUri"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "narrower"
+ ]
+ },
+ "RelatedResult": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "related": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrefAndUri"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "related"
+ ]
+ },
+ "NarrowerTransitiveResult": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "narrowerTransitive": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrefAndUriAndNarrower"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "narrowerTransitive"
+ ]
+ },
+ "PrefAndUriAndChildren": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "hasChildren": {
+ "type": "boolean",
+ "description": "Indicates whether the concept has children of its' own (narrower concepts)"
+ },
+ "prefLabel": {
+ "type": "string",
+ "description": "Preferred label of concept"
+ },
+ "notation": {
+ "type": "string",
+ "description": "Notation code"
+ }
+ },
+ "required": [
+ "uri",
+ "prefLabel",
+ "hasChildren"
+ ]
+ },
+ "ChildrenResult": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "narrower": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrefAndUriAndChildren"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "narrower"
+ ]
+ },
+ "GroupResult": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrefAndUriAndMembers"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "groups"
+ ]
+ },
+ "PrefAndUriAndMembers": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "childGroups": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Member URI"
+ }
+ },
+ "hasMembers": {
+ "type": "boolean",
+ "description": "Indicates whether the group has members"
+ },
+ "prefLabel": {
+ "type": "string",
+ "description": "Preferred label of concept"
+ },
+ "notation": {
+ "type": "string",
+ "description": "Notation code"
+ }
+ },
+ "required": [
+ "uri",
+ "prefLabel",
+ "hasMembers"
+ ]
+ },
+ "MembersList": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "type": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isSuper": {
+ "type": "boolean",
+ "description": "Indicates whether the group is a superGroup to an another group"
+ },
+ "hasMembers": {
+ "type": "boolean",
+ "description": "Indicates whether the group has members"
+ },
+ "prefLabel": {
+ "type": "string",
+ "description": "Preferred label of concept"
+ },
+ "notation": {
+ "type": "string",
+ "description": "Notation code"
+ }
+ },
+ "required": [
+ "uri",
+ "prefLabel",
+ "hasMembers"
+ ]
+ },
+ "GroupMembers": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MembersList"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "members"
+ ]
+ },
+ "Hierarchy": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "broaderTransitive": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HierarchyResult"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "broaderTransitive"
+ ]
+ },
+ "HierarchyResult": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "broader": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "broader concept URI"
+ }
+ },
+ "narrower": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LabelAndUriAndChildren"
+ }
+ },
+ "hasChildren": {
+ "type": "boolean",
+ "description": "Indicates whether the concept has narrower concepts"
+ },
+ "prefLabel": {
+ "type": "string",
+ "description": "Preferred label of concept"
+ },
+ "notation": {
+ "type": "string",
+ "description": "Notation code"
+ },
+ "top": {
+ "type": "string",
+ "description": "This field is present if the current concept is a toplevel concept in the vocabulary and contains the concept scheme URI"
+ }
+ },
+ "required": [
+ "uri",
+ "hasChildren",
+ "prefLabel"
+ ]
+ },
+ "HistoryVersion": {
+ "type": "object",
+ "properties": {
+ "skosmosVocab": {
+ "type": "string",
+ "description": "vocabulary which contains the concept"
+ },
+ "version": {
+ "type": "string",
+ "description": "vocabulary's version eg \"3.0\""
+ },
+ "createdOn": {
+ "type": "string",
+ "description": "date of the vocabulary version"
+ },
+ "iscurrent": {
+ "type": "boolean",
+ "description": "flag to know in which version of the concept we are watching"
+ }
+ },
+ "required": [
+ "skosmosVocab",
+ "version",
+ "createdOn",
+ "iscurrent"
+ ]
+ },
+ "HistoryData": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "hasVersion": {
+ "type": "array",
+ "description": "Array of concept's versions contains version, date and the vocabulary which contains this concept",
+ "items": {
+ "$ref": "#/definitions/HistoryVersion"
+ }
+ }
+ },
+ "required": [
+ "uri",
+ "hasVersion"
+ ]
+ },
+ "History": {
+ "type": "object",
+ "properties": {
+ "graph": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HistoryData"
+ }
+ }
+ },
+ "required": [
+ "graph"
+ ]
+ },
+ "LabelAndUriAndChildren": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI of the concept"
+ },
+ "hasChildren": {
+ "type": "boolean",
+ "description": "Indicates whether the concept has children of its' own (narrower concepts)"
+ },
+ "label": {
+ "type": "string",
+ "description": "Preferred label of concept"
},
- "PrefAndUri": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "prefLabel": {
- "type": "string",
- "description": "Preferred label of concept"
- }
- },
- "required": [
- "uri",
- "prefLabel"
- ]
- },
- "PrefAndUriAndBroader": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "broader": {
- "type": "array",
- "items": {
- "type": "string",
- "description": "URI of the broader concept"
- }
- },
- "prefLabel": {
- "type": "string",
- "description": "Preferred label of concept"
- }
- },
- "required": [
- "uri",
- "prefLabel"
- ]
- },
- "PrefAndUriAndNarrower": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "narrower": {
- "type": "array",
- "items": {
- "type": "string",
- "description": "URI of the narrower concept"
- }
- },
- "prefLabel": {
- "type": "string",
- "description": "Preferred label of concept"
- }
- },
- "required": [
- "uri",
- "prefLabel"
- ]
- },
- "BroaderResult": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "broader": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PrefAndUri"
- }
- }
- },
- "required": [
- "uri",
- "broader"
- ]
- },
- "BroaderTransitiveResult": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "broaderTransitive": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PrefAndUriAndBroader"
- }
- }
- },
- "required": [
- "uri",
- "broaderTransitive"
- ]
- },
- "NarrowerResult": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "narrower": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PrefAndUri"
- }
- }
- },
- "required": [
- "uri",
- "narrower"
- ]
- },
- "RelatedResult": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "related": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PrefAndUri"
- }
- }
- },
- "required": [
- "uri",
- "related"
- ]
- },
- "NarrowerTransitiveResult": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "narrowerTransitive": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PrefAndUriAndNarrower"
- }
- }
- },
- "required": [
- "uri",
- "narrowerTransitive"
- ]
- },
- "PrefAndUriAndChildren": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "hasChildren": {
- "type": "boolean",
- "description": "Indicates whether the concept has children of its' own (narrower concepts)"
- },
- "prefLabel": {
- "type": "string",
- "description": "Preferred label of concept"
- },
- "notation": {
- "type": "string",
- "description": "Notation code"
- }
- },
- "required": [
- "uri",
- "prefLabel",
- "hasChildren"
- ]
- },
- "ChildrenResult": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "narrower": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PrefAndUriAndChildren"
- }
- }
- },
- "required": [
- "uri",
- "narrower"
- ]
- },
- "GroupResult": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "groups": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PrefAndUriAndMembers"
- }
- }
- },
- "required": [
- "uri",
- "groups"
- ]
- },
- "PrefAndUriAndMembers": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "childGroups": {
- "type": "array",
- "items": {
- "type": "string",
- "description": "Member URI"
- }
- },
- "hasMembers": {
- "type": "boolean",
- "description": "Indicates whether the group has members"
- },
- "prefLabel": {
- "type": "string",
- "description": "Preferred label of concept"
- },
- "notation": {
- "type": "string",
- "description": "Notation code"
- }
- },
- "required": [
- "uri",
- "prefLabel",
- "hasMembers"
- ]
- },
- "MembersList": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "type": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "isSuper": {
- "type": "boolean",
- "description": "Indicates whether the group is a superGroup to an another group"
- },
- "hasMembers": {
- "type": "boolean",
- "description": "Indicates whether the group has members"
- },
- "prefLabel": {
- "type": "string",
- "description": "Preferred label of concept"
- },
- "notation": {
- "type": "string",
- "description": "Notation code"
- }
- },
- "required": [
- "uri",
- "prefLabel",
- "hasMembers"
- ]
- },
- "GroupMembers": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "members": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MembersList"
- }
- }
- },
- "required": [
- "uri",
- "members"
- ]
- },
- "Hierarchy": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "broaderTransitive": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/HierarchyResult"
- }
- }
- },
- "required": [
- "uri",
- "broaderTransitive"
- ]
- },
- "HierarchyResult": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "broader": {
- "type": "array",
- "items": {
- "type": "string",
- "description": "broader concept URI"
- }
- },
- "narrower": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/LabelAndUriAndChildren"
- }
- },
- "hasChildren": {
- "type": "boolean",
- "description": "Indicates whether the concept has narrower concepts"
- },
- "prefLabel": {
- "type": "string",
- "description": "Preferred label of concept"
- },
- "notation": {
- "type": "string",
- "description": "Notation code"
- },
- "top": {
- "type": "string",
- "description": "This field is present if the current concept is a toplevel concept in the vocabulary and contains the concept scheme URI"
- }
- },
- "required": [
- "uri",
- "hasChildren",
- "prefLabel"
- ]
- },
- "LabelAndUriAndChildren": {
- "type": "object",
- "properties": {
- "uri": {
- "type": "string",
- "description": "URI of the concept"
- },
- "hasChildren": {
- "type": "boolean",
- "description": "Indicates whether the concept has children of its' own (narrower concepts)"
- },
- "label": {
- "type": "string",
- "description": "Preferred label of concept"
- },
- "notation": {
- "type": "string",
- "description": "Notation code"
- }
- },
- "required": [
- "uri",
- "label",
- "hasChildren"
- ]
+ "notation": {
+ "type": "string",
+ "description": "Notation code"
}
+ },
+ "required": [
+ "uri",
+ "label",
+ "hasChildren"
+ ]
}
-}
+ }
+}
\ No newline at end of file
diff --git a/view/concept-shared.twig b/view/concept-shared.twig
index dd6e528ff..7480b71a1 100644
--- a/view/concept-shared.twig
+++ b/view/concept-shared.twig
@@ -143,6 +143,7 @@
{% endif %}
{% if concept.foreignLabels %}
+
{{ 'foreign prefLabels'|trans|upper }}
{% set prevlang = '' %}{# Only displaying the language when it appears for the very first time #}
@@ -171,6 +172,18 @@
JSON-LD
{% if concept.date %}
{{ concept.date }}{% endif %}
+
+
{% set appendixProperties = concept.mappingProperties %}