SISSVoc: A Linked Data API for access to SKOS vocabularies Editor(s): Krzysztof Janowicz, University of Santa Barbara, California Solicited review(s): Werner Kuhn, University of California, Santa Barbara, USA; Anusuriya Devaraju, Agrosphere Institute, For- schungszentrum Jülich, Germany; Antoine Isaac, Vrije Universiteit Amsterdam, The Netherlands; Alejandro Llaves, Facultad de Informática Boadilla del Monte, Madrid, Spain

Simon J D Coxa*, Jonathan Yua and Terry Rankineb a CSIRO Land and Water, PO Box 56, Highett, Vic. 3190 Australia b CSIRO Mineral Resources, PO Box 1130, Bentley WA, 6102 Australia {simon.cox|jonathan.yu|terry.rankine}@csiro.au

Abstract. The Spatial Information Services Stack Vocabulary Service (SISSVoc) is a Linked Data API for accessing pub- lished vocabularies. SISSVoc provides a RESTful interface via a set of URI patterns that are aligned with SKOS. These pro- vide a standard web interface for any vocabulary which uses SKOS classes and properties. The SISSVoc implementation pro- vides web pages for human users, and machine-readable resources for client applications (in RDF, JSON, and XML). SIS- SVoc is implemented using a Linked Data API façade over a SPARQL endpoint. This approach streamlines the configuration of content negotiation, styling, query construction and dispatching. SISSVoc is being used in a number of projects, mainly in the environmental sciences, where controlled vocabularies are used to support cross-domain and interdisciplinary interopera- bility. SISSVoc simplifies access to vocabularies for end users, and provides a web API to support vocabulary applications.

Keywords: Vocabulary, SKOS, API, Linked data

1. Introduction bases and spreadsheets, text documents, page and image formats. Some of the most fundamental vo- Controlled vocabularies are a key element of many cabularies are made available on the web by their classification systems. They are typically published official custodian only as browser pages or PDFs for by specific organisations, domains, or communities download (e.g SI units of measure1, geologic time- of practice. The web has encouraged and enabled scale2). consolidation of vocabulary use, such that common The emergence of Semantic Web technologies has vocabularies are now more likely to be maintained provided some powerful tools for formalizing defini- and published at a community level than only within tions, vocabularies, and ontologies, in forms that also an agency or project team, thus improving interoper- support reasoning and inferencing. In this context, ability of scientific datasets. Examples include chem- the Simple Knowledge Organization System (SKOS) ical entities [13,21], bio-medical terminology [38,49], [1,26] was designed to allow easy formalization of environmental science topic or subject headings existing multilingual vocabularies that have flat or [15,27,31] and geological classifications (see compi- hierarchical structures, to smooth the transition to- lation at [30]). Vocabularies such as EuroVoc [33] wards the richer logic-based tools from ontology and the International Chronostratigraphic Chart [6] modelling. have well-defined governance and authority, i.e. the SKOS provides a standard vocabulary for repre- Publications Office of the European Union, and the senting thesauri, classifications, taxonomies and con- International Commission for Stratigraphy, respec- trolled vocabularies, using RDF. SKOS has a simple tively. model with few key constructs, focusing on labeling While many vocabularies are openly available on the web, they are formalized and published in a va- 1 http://www.bipm.org/en/si/base_units/ , riety of generally incompatible ways, including data- http://www.bipm.org/en/si/si_brochure/ 2 http://stratigraphy.org/index.php/ics-chart-timescale and basic hierarchies. While it lacks the expressivity Linked Data approaches, such as Semantic Technol- and rigour of languages such as OWL, its simplicity ogies for Archaeological Resources (STAR) Project’s allows a broad range of vocabularies and classifiers semantic terminology services3, Library of Congress to be ported from a diverse set of formats to RDF, Authorities and Vocabularies service 4 , and the promoting ease of sharing and cross-linking between Coastal and Marine Spatial Planning Vocabularies vocabularies. Many existing vocabularies have been (CMSPV) SKOS API5 [45]. However, each service ported to SKOS [25] including large vocabularies has a different interface to access the content. Tech- such as AGROVOC [34] and the Library of Congress nologies such as Pubby [10], D2R server [3] and Ep- Subject Headers (LCSH) [44]. SKOS is now one of imorphics Linked Data API Implementation (ELDA) the most commonly used vocabularies for structured [17] are available for publishing RDF resources as data on the web [25]. Linked Data, but there is no standard pattern for ac- Vocabularies are likely to be adopted and shared if cess to SKOS vocabulary resources. The fundamental they are made available easily. Nevertheless, despite issue is that RESTful approaches rely only on URIs, successes in the use of SKOS for encoding vocabu- HTTP, and content-types [18,37], yet SKOS is not laries, current standards provide only low-level inter- recognised as a ‘content-type’ in this context. faces to vocabulary data. For example, many vocabu- In this paper, we describe a standard interface laries are published as an RDF document for down- called SISSVoc through which SKOS vocabularies load. However, if the vocabulary is large then the can be provided to web users. SISSVoc provides a download will be commensurately large, and if the level of abstraction for the end users corresponding user only wants to retrieve a single vocabulary term to the SKOS content model, supporting access to or select a few terms, this option requires processing vocabularies without specific knowledge of the un- on the client side. Alternatively, access to vocabular- derlying technologies and semantic web languages ies is often provided at a SPARQL endpoint. used, such as SPARQL endpoints and queries, SKOS SPARQL [20,32] is the generic RDF query language. and RDF. A human interface in the form of web pag- While this is powerful, it is a low-level language sim- es and forms is provided when HTML is requested. ilar to the relational database query language SQL SISSVoc also allows for machine-to-machine use, so and normally is only used by database administrators. that data providers can use HTTP links to vocabular- Some SKOS vocabularies are published via other ies, data applications can be configured with standard HTTP interfaces. However, each implementation terminology, and data clients can retrieve definitions uses different protocols and supports a varied set of or verify the existence of items claimed to be in par- features e.g. content-negotiation provided by the ticular vocabularies. GEMET [16] REST interface, and NERC Data SISSVoc is a key component of the Spatial Infor- Grid’s Vocabulary Server [23,29] SOAP interface. In mation Services Stack (SISS) developed by CSIRO some cases, one or both of human-readable formats through the AuScope project [47]. SISSVoc v1 and and machine-readable formats is not available. Thus, v3 have been briefly introduced previously [8,19]. In discovery and access across vocabulary endpoints this paper, we present the SISSVoc v3 design in de- becomes challenging and ad-hoc. tail and describe the current implementation. We There is a clear opportunity here, to design an API point to its use in some environmental domains, and to match the SKOS vocabulary, taking advantage of some client applications built on SISSVoc. We eval- the fact that much modern vocabulary content is uate SISSVoc in terms of the URI design, and com- structured using SKOS classes and predicates. This pare it with some other products with similar scope. API can then be used as the basis for various higher level vocabulary applications. Linked Data has been proposed as a means of pub- lishing and interlinking structured data on the web. Linked Data proposes the use of RDF for describing structured data and allows relationships and links between resources to be defined [4]. This allows both human-readable and machine-readable con- 3 tent/interaction to access data resources and their http://hypermedia.research.southwales.ac.uk/ descriptive metadata using existing web technologies resources/terminology/ 4 simply by dereferencing HTTP URIs. A number of http://id.loc.gov/search/ 5 SKOS vocabulary services are available that utilise http://tw.rpi.edu/web/project/CMSPV/KeyConcepts 2. Different vocabulary interfaces for different RESTful web services [37] and Linked Data [2,4] users principles. Standard operations are thus defined as a set of URI patterns. The patterns use the SKOS vo- Using standard semantic web technologies, a vo- cabulary, so as to facilitate discovery and access to cabulary can be usefully published through at least resources formalized using SKOS. four distinct interfaces:

1. The complete vocabulary formalized in RDF, 3. Design and implementation formatted using one of the standard RDF seriali- zations (RDF/XML, ) and bundled as a In this section we first provide a detailed descrip- single document (file), delivered from the "On- tion of the SISSVoc API, then summarize an imple- tology URI". This is for users and services who mentation of SISSVoc based on configuration of a wish to harvest the whole vocabulary in one Linked Data API implementation, and a typical de- transaction, for local processing. For example ployment based on configuration of the interface lay- http://sissvoc.ereefs.info/vocab/ereefs/wq ers described in section 2. Finally we provide links to example deployments for evaluation. 2. At a SPARQL endpoint, for access to subsets and views of the vocabulary through the standard 3.1. SISSVoc API RDF query language. This is for expert users, and to support applications that require a highly SISSVoc provides access to resource descriptions capable, though low-level interface: e.g. using the following general URI pattern: http://sissvoc.ereefs.info/ereefs/sparql

3. A vocabulary service supporting queries on the http://{server}/{vocabulary}/{type}[/{relation}] [?{selection-parameters}[&view-parameters]] standard properties of vocabulary items, with op- tions for what is included and the result format. This provides for general users who want to ex- Tables 1-5 show the details of the various parameters plore a vocabulary without having to know RDF in this pattern, and the corresponding SPARQL que- or SPARQL, and to provide an API that insu- ries. In Tables 2-5 the corresponding SELECT query lates developers from SPARQL or from having is shown. This is expected to be followed by a DE- to load a complete vocabulary: e.g. SCRIBE query on the selected items, so the resulting - query for all concepts in a vocabulary: graph contains descriptions of the resources with at http://sissvoc.ereefs.info/sissvoc/ereefs/concep least their known outgoing properties, depending on t the specific implementation of the DESCRIBE query. - query for concepts broader than those in the vocab- A key SISSVoc pattern is the resource description ulary with the label "nitrogen": pattern (Table 1), in which the description of a http://sissvoc.ereefs.info/sissvoc/ereefs/concep SKOS or non-SKOS resource, whose URI is known, t/broader?anylabel=nitrogen is obtained using

4. For each item in the vocabulary, its URI should http://{server}/{vocabulary}/resource resolve to a description of the item. This is suita- ?uri={resourceURI} ble for direct reference to vocabulary items, and in-line links within datasets. For example, an i.e. type== “resource”, item in a vocabulary of chemical substances and selection-parameters== “uri={resourceURI}”. taxa published on behalf of the Australian gov- Note that in this pattern the resourceURI for a vocab- ernment: is denoted ulary item does not necessarily include the SISSVoc http://environment.data.gov.au/def/object/nitrog en server URI. A basic set of SISSVoc URI patterns provides in- There are accepted standards for interface levels 1, terfaces to query lists of resources of the SKOS clas- 2 and 4, based on generic web or semantic-web tech- ses. Table 2 lists URI Patterns for selecting the set of nologies (HTTP/URI, RDF, SKOS, SPARQL). SIS- SKOS ConceptScheme, Collection and Concept re- SVoc has been developed to address the gap at inter- spectively. face level 3. It has a HTTP-based interface, following Another set of SISSVoc URI Patterns provide fil- ry construction and dispatching, and also provides tering and selection operations to specific SKOS some standard result handling, including paging and Concepts. Table 3 lists URI patterns for obtaining a language selection. list of concepts based on partial or exact matches on We have implemented SISSVoc using ELDA [17], text in labels (rdfs:label, skos:prefLabel, an open source implementation of the Linked Data skos:altLabel) for a given vocabulary. Text matching API [36]. An ELDA configuration is bound to a sin- is across all SKOS labels as well as rdfs:label, and gle RDF triple store (shown in Figure 1). Each URI matching is language neutral. We have not yet in- pattern (or “HTTP endpoint”) is a few lines in the cluded language-specific query, though that should configuration file, including the corresponding be straightforward. SPARQL query pattern6. SISSVoc presents vocabu- The final set of SISSVoc URI Patterns provides lary content as human-readable resources (HTML), interfaces to allow access to a list of concepts that are and as machine-readable resources (RDF, JSON, and related to a selected concept through the predicates XML) for client applications, controlled by HTTP defined in SKOS for structuring vocabularies, i.e. the content negotiation or by Linked Data API arguments. /broader and /narrower properties. Table 4 lists URI patterns for /broader, /broaderTransitive, /narrower, /narrowerTransitive related to a specific SKOS Con- cept, denoted by its URI. Table 5 lists URI patterns for obtaining a list of concepts that are /broader, /broaderTransitive, /narrower, /narrowerTransitive than SKOS Concepts discovered by the text searches. The exact behavior of a SISSVoc instance depends on the content and behavior of the SPARQL endpoint. For example, broaderTransitive/narrowerTransitive queries require that the vocabulary is processed using SKOS inference rules to completion. On the other hand, pattern 3 explicitly includes OrderedCollection, even though it is formally a subclass of Collection. The maintainer of any particular vocabulary content Fig. 1. SISSVoc Implementation using ELDA must consider the likely query modes when preparing content. Since the SPARQL endpoint is independent of the The SISSVoc API is currently limited to a subset SISSVoc deployment, it is not necessary for them to of the SKOS vocabulary and predicates, as required be co-located. This separates concerns with regards to satisfy specific applications that had emerged in a to vocabulary maintenance and persistence, and the set of environmental science applications. Table 6 discovery and access interface. SISSVoc can thus be summarizes which elements of the SKOS vocabulary deployed to provide an interface to any SKOS vo- are reflected in the current version of SISSVoc. Nev- cabulary that is published at a SPARQL endpoint. ertheless, a comprehensive SKOS API could easily Figure 2 shows an example where a SISSVoc de- be developed following the general URI pattern also ployed at CSIRO7 provides a standard interface to the applied to the other elements of the SKOS vocabu- NERC Vocabulary Server [23,29] using its SPARQL lary. And while SKOS data is the application consid- interface 8. ered here, in principle the general pattern is also ex- tensible to other RDF applications. SISSVoc is currently specified for HTTP GET op- erations only.

6 3.2. SISSVoc implementation The CSIRO implementation is documented at https://www.seegrid.csiro.au/wiki/Siss/SISSvoc3Overview. Also see https://github.com/jyucsiro/sissvoc-runner for a tool to SISSVoc 3.0 was conceived as a Linked Data fa- install locally for testing ELDA configurations. Packaging for çade over a vocabulary exposed at a SPARQL end- deployment to a virtual machine is in preparation. 7 point. Use of the Linked Data API [36] streamlines http://auscope-services-test.arrc.csiro.au/elda- the configuration of content negotiation, styling, que- demo/nerc/collection 8 http://vocab.nerc.ac.uk/sparql/ examples from a single actual vocabulary. While the different interfaces are all publicly available and may be used separately, in the context of a specific vo- cabulary deployment each interface can, and proba- bly should, use the next layer up in either configura- tion, or real-time operation. Figure 3 shows how this works in practice in configuration of a typical SIS- SVoc instance. Resolving the URI for the item in the vocabulary (interface 4 from section 2) involves a Fig. 2. Example of a SISSVoc deployment to externally governed call to the SISSVoc API (interface 3), which issues a vocabulary service SPARQL query (interface 2), to a triple store which was loaded from the vocabulary document (interface 3.3. SISSVoc deployment 1). The server for vocabulary item URIs is config- ured to redirect requests to the resource-description In section 2 we described different vocabulary in- URI hosted by this SISSVoc. terfaces suitable for different applications or classes of user. These interfaces are illustrated with specific

http://sissvoc.ereefs.info/sissvoc/ereefs/resource?uri= http://environment.data.gov.au/def/object/nitrogen http://environment.data.gov.au/ def/object/nitrogen

http://sissvoc.ereefs.info/sissvoc/ereefs/concept

http://sissvoc.ereefs.info/sissvoc/ereefs/concept/broader? anylabel=nitrogen

http://sissvoc.ereefs.info/ereefs/sparql

http://sissvoc.ereefs.info/vocab/ereefs/wq

Fig. 3. A typical SISSVoc Deployment complemented by PID service and a web service hosting RDF documents. Each box represents one of the 4 different interfaces to support the various vocabulary access use cases. An additional component (labeled PID Service9) redirects vocabu- lary URIs to the SISSVoc.

9 https://www.seegrid.csiro.au/wiki/Siss/PIDServiceUserGuide Table 1 SISSVoc URI Pattern for Resource description

ID URI pattern Description SPARQL Example 1 /resource?uri={URI} Resource description identi- DESCRIBE {URI} http://sissvoc.ereefs.info/sissvoc/ereefs/resource?uri=http://environment.data.gov.au/def/object/nitrogen fied by URI (not limited to any specific type).

Table 2 SISSVoc URI Patterns for SKOS Concept, ConceptScheme and Collection

ID URI pattern Description SPARQL Example 2 /conceptscheme List of all concept schemes SELECT ?item WHERE { http://sissvoc.ereefs.info/sissvoc/ereefs/conceptscheme ?item a skos:ConceptScheme } 3 /collection List of all concept collec- SELECT ?item WHERE { http://def.seegrid.csiro.au/sissvoc/cgi201211/collection tions ?item a ?type . FILTER (?type = skos:Collection || ?type = skos:OrderedCollection)} 4 /concept List of all concepts SELECT ?item WHERE { http://sissvoc.ereefs.info/sissvoc/ereefs/concept ?item a skos:Concept }

Table 3 SISSVoc URI Patterns for SKOS Concept discovery by label

ID URI pattern Description SPARQL Example 5 /concept?anylabel={text} List of concepts SELECT ?item WHERE { http://sissvoc.ereefs.info/sissvoc/ereefs/concept?anylabel=ammonia where a label ?item a skos:Concept . matches text ?item ?label ?l . FILTER ( ?label = skos:prefLabel || ?label = skos:altLabel || ?label = skos:hiddenLabel || ?label = rdfs:label ) FILTER regex( str(?l) , {text} , 'i' ) } 6 /concept?labelcontains={text} List of concepts SELECT ?item WHERE { http://sissvoc.ereefs.info/sissvoc/ereefs/concept?labelcontains=ammonia where a label ?item a skos:Concept . contains text ?item ?label ?l . FILTER ( ?label = skos:prefLabel || ?label = skos:altLabel ) FILTER regex( str(?l) , {text} , 'i' ) }

Table 4 SISSVoc URI patterns for SKOS Concept broader and narrower by URI

ID URI pattern Description SPARQL Example 7 /concept/broader?uri={URI} List of concepts skos:broader SELECT ?item WHERE { http://sissvoc.ereefs.info/sissvoc/ereefs/concept/broader?uri=http://environmen than the concept identified by ?item a skos:Concept . t.data.gov.au/def/property/ammonia_ammonium_concentration URI {URI} skos:broader ?item } 8 /concept/narrower?uri={URI} List of concepts skos:narrower SELECT ?item WHERE { http://sissvoc.ereefs.info/sissvoc/ereefs/concept/narrower?uri=http://environme than concept identified by URI ?item a skos:Concept . nt.data.gov.au/def/property/polyatomic_ion_concentration {URI} skos:narrower ?item } 9 /concept/broaderTransitive?uri={URI} List of concepts SELECT ?item WHERE { http://def.seegrid.csiro.au/sissvoc/isc2014/concept/broaderTransitive?uri=http:/ skos:broaderTransitive than ?item a skos:Concept . /resource.geosciml.org/classifier/ics/ischart/Coniacian concept identified by URI {URI} skos:broaderTransitive ?item } 10 /concept/narrowerTransitive?uri={URI} List of concepts SELECT ?item WHERE { http://def.seegrid.csiro.au/sissvoc/isc2014/concept/narrowerTransitive?uri=http skos:narrowerTransitive than ?item a skos:Concept . ://resource.geosciml.org/classifier/ics/ischart/Cretaceous concept identified by URI {URI} skos:narrowerTransitive ?item }

Table 5 SISSVoc URI pattern for SKOS Concept discovery broader/narrower by label

ID URI pattern Description SPARQL Example 11 /concept/broader?anylabel={text} List of concepts SELECT ?item WHERE { http://sissvoc.ereefs.info/sissvoc/ereefs/concept/broader?anylabel=sulfite%20concentration skos:broader than a ?item a skos:Concept . concept with a label ?i0 skos:broader ?item . that matches text ?i0 ?label ?l . FILTER ( ?label = rdfs:label || ?label = skos:prefLabel || ?label = skos:altLabel || ?label = skos:hiddenLabel ) FILTER regex( str(?l) , {text} , 'i' ) } 12 /concept/narrower?anylabel={text} List of concepts SELECT ?item WHERE { http://sissvoc.ereefs.info/sissvoc/ereefs/concept/narrower?anylabel=non- skos:narrower than a ?item a skos:Concept . metal%20concentration concept with a label ?i0 skos:narrower ?item . that matches text ?i0 ?label ?l . FILTER ( ?label = rdfs:label || ?label = skos:prefLabel || ?label = skos:altLabel || ?label = skos:hiddenLabel ) FILTER regex( str(?l) , {text} , 'i' ) } 13 /concept/broaderTransitive?anylabel= List of concepts SELECT ?item WHERE { http://def.seegrid.csiro.au/sissvoc/isc2014/concept/broaderTransitive?anylabel=Homerian {text} skos:broaderTransiti ?item a skos:Concept . ve than a concept ?i0 skos:broaderTransitive ?item . with a label that ?i0 ?label ?l . matches text FILTER ( ?label = rdfs:label || ?label = skos:prefLabel || ?label = skos:altLabel || ?label = skos:hiddenLabel ) FILTER regex( str(?l) , {text} , 'i' ) } 14 /concept/narrowerTransitive?anylabel List of concepts SELECT ?item WHERE { http://def.seegrid.csiro.au/sissvoc/isc2014/concept/narrowerTransitive?anylabel=Cretaceous ={text} skos:narrowerTransi ?item a skos:Concept . tive than a concept ?i0 skos:narrowerTransitive ?item . with a label that ?i0 ?label ?l . matches text FILTER ( ?label = rdfs:label || ?label = skos:prefLabel || ?label = skos:altLabel || ?label = skos:hiddenLabel ) FILTER regex( str(?l) , {text} , 'i' ) }

Table 6 Summary of coverage of SKOS vocabulary by current SISSVoc implementations

SKOS Meta-model SKOS class/property SISSVoc v3 Class Concept, ConceptScheme, Collection Yes10 OrderedCollection Included in “Collection” Property (Labels) prefLabel, altLabel, hiddenLabel Yes Property (Semantic) semanticRelation, related No broader, narrower Yes broaderTransitive, narrowerTransitive Yes Property (ConceptScheme) inScheme, topConceptOf, hasTopConcept No Property (Collection) member, memberList No Property (notes) note, changeNote, editorialNote, historyNote, scopeNote No definition, example No

10 With outgoing properties for selected resources Table 7 Examples of SISSVoc deployments and their service endpoints Bureau of Meteorology (Australia) vo- http://neiivocab.bom.gov.au/api/aclep/concept cabularies http://neiivocab.bom.gov.au/api/wdtf1.0.2/concept

OGC Definitions http://www.opengis.net/def/

Geoscience Australia borehole vocabu- http://www.ga.gov.au/sissvoc/api/borehole-gsmlborehole/conceptscheme lary Environmental monitoring definitions http://environment.data.gov.au/def/property/ http://environment.da ta.gov.au/def/object/ http://environment.data.gov.au/def/unit/

Geological Timescale http://resource.geosciml.org/classifier/ics/ischart/

NERC Vocabularies http://vocab.nerc.ac.uk/ via (no URI redirection, so links return to the http://auscope-services-test.arrc.csiro.au/elda-demo/nerc/collection NVS) ANZSRC Socio-Economic Objective http://researchdata.ands.org.au:8080/vocab/api/anzsrc-seo/concepts

Water and energy supply and consump- http://wescml.org/sissvoc/vocab/collection tion (WESC) definitions SIRF Gazeteer spatial feature codes http://sirf-data.csiro.au/sissvoc/gazetteer-unsdi/concept

3.4. Deployments and uptake scenarios 4. SISSVoc applications SISSVoc is being used in a number of projects, mainly in the earth and environmental sciences, SISSVoc presents a simple interface to any con- where controlled vocabularies are used to support trolled vocabulary that is structured using, or at least cross-domain and interdisciplinary interoperability. decorated with, SKOS classes and properties. A Scenarios for uptake of SISSVoc for publication of standard vocabulary interface allows listboxes and controlled vocabularies include: other User Interface widgets to be populated via - Vocabularies defined by authorities and central HTTP requests to standard vocabularies. It also organisations (e.g. Australian Bureau of Meteor- makes possible the development of common applica- ology's Soil Classifications and Water Data tions such as search clients and validation clients. Transfer Format vocabularies, OGC definitions, Here we describe two applications developed by the Geosciences Australia Borehole vocabulary ser- authors. vice) - Vocabularies developed by communities (e.g. 4.1. Water Data Transfer Format validation service ANZSoilML Soil vocabularies, environ- ment.data.gov.au) The Water Data Transfer Format (WDTF) is an - Vocabularies published on behalf of communi- XML-based exchange standard that was developed ties (e.g. Geological timescale, NERC, ANZSRC for transfer and ingestion of data into the Australian Socio-Economic Objective Vocabulary Service) Bureau of Meteorology’s information systems from - Vocabularies for project work (e.g. Water and over 200 data providers. A WDTF validation service energy supply and consumption definitions, Spa- was implemented using two standard schema lan- tial Identifier Reference Framework (SIRF) Gaz- guages together with a vocabulary service to check etteer Feature codes) both structure and content (Figure 4) [48]. A number of examples of SISSVoc uptake and de- ployment endpoints are listed in Table 7. Data structure is validated using a W3C XML schema validation component. Schematron [22] is used to perform co-constraint checking and vocabu- lary checking. Vocabulary checking includes API calls to a SISSVoc service presenting WDTF SKOS vocabularies. The listing in Figure 5 shows the XPath function used in the WDTF Validation service to perform vo- cabulary checking for valid water parameters. The function ‘checkParameterExists’ calls the function ‘getConceptByIdentifier’ which uses the SIS- SVoc resource API to retrieve the resource descrip- tion for the URI. The function then checks that it has a skos:broader Concept that matches a specified URI which means that the value is in the correct hierarchy (http://www.bom.gov.au/std/water/xml/wio0.2/prope rty/wdtf-parameters/Parameter). The function ‘checkParameterExists’ is used in a Schematron rule that checks wdtf:TimeSeriesObservation ele- Fig. 4. WDTF Validation Service using SISSVoc Vocabulary Service ments, specifically, to verify that the observedProper- ty is a valid WDTF water parameter.

Parameter ' ' is not valid at .

Fig. 5. XPath functions and a Schematron11 rule used to support a validation which uses the SISSVoc API

11 http://www.schematron.com/ (e.g. http://sissvoc.ereefs.info/search?q=water 4.2. SISSVoc Search &endpoint=http://wescml.org/sissvoc/vocab ).

SISSVoc Search is built on the SISSVoc API to The user interface allows a user to switch between provide a simple search for vocabulary entries, using endpoints, so users may search for vocabulary terms terms in the vocabulary labels and descriptions. It knowing only the SISSVoc deployment URL. Figure includes 6 shows a screenshot of the user interface. This ap- - a web-based search interface to support search plication has focused on the search use case, though via HTML form interface there are some obvious complementary features that (http://sissvoc.ereefs.info/search), could be considered to enhance the user experience - HTTP GET requests, with the term and SISSVoc of the tool, such as faceted browsing to support dis- endpoint in the query string of the URI covery of vocabulary terms.

Fig. 6. Screenshot of the SISSVoc Search tool

- http://dbpedia.org/resource/{id} denotes a con- cept, a non-information resource 5. Analysis of SISSVoc design - http://dbpedia.org/data/{id} an rdf graph describ- ing the concept, an information resource In this section we provide an analysis of some as- - http://dbpedia.org/page/{id} an html page de- pects of the SISSVoc v3 design, focusing on two scribing the concept, an information resource concerns: The SISSVoc pattern: - The URI patterns that make up the SISSVoc API, - http://example.net/{name} denotes a resource and their conformance to some REST considera- (optionally a non-information resource) tions; - http://example.org/sissvoc/resource?uri=http://ex - A comparison of the SISSVoc API with similar ample.net/{name} a description or information products. resource (format selected through content- negotiation)

5.1. URI pattern for resource descriptions The resource description URI pattern does not use the SKOS vocabulary. The properties included in a The URI pattern for resource descriptions is resource description are those provided by the SPARQL endpoint through its implementation of the http://{server}/{vocabulary}/resource DESCRIBE operation, which is typically an approx- ?uri={resourceURI} imation of the Concise Bounded Description [43].

This should be read as Thus, while the list endpoints described in Tables 2-5 what http://{server}/{vocabulary} knows about use SKOS predicates, the representations return may the resource denoted {resourceURI}. describe a concept within which the SKOS elements The pattern is a very explicit implementation of the are a minor aspect or ‘decoration’ of a more specific principles defined in ‘Cool URIs for the semantic ontology. The SISSVoc SKOS API is a ‘generic’ web’ [39], making a clear distinction between the vocabulary access point, and the response may be information resources and non-information resources supplemented by more specific interfaces relevant to involved. In this case a specialized vocabulary. For example, an RDF rep- resentation of the 2014 version of the geologic time- - a ‘concept’, denoted by {resourceURI}, is un- derstood as an abstract (non-information) re- scale is identified as source, which may have various definitions and http://resource.geosciml.org/classifier/ics/isch representations; art/2014 - the RDF graph, denoted by the complete re- source description pattern, is a corresponding in- and is delivered by a SISSVoc service in the form of formation resource. a graph that mixes SKOS predicates with predicates A number of URI patterns have been proposed that from an ontology designed for the geological time- distinguish between resources and their descriptions scale [9]. The non-SKOS elements can be accessed [5,12,39,42]. These typically combine special tokens through the underlying SPARQL endpoint, but are in the URI with HTTP parameters and response out of scope for the SISSVoc interface. Note that this codes to indicate to the user how to understand the vocabulary also links to a number of external sources resource. Two patterns are directly comparable with (including DBpedia [24] and SWEET [35]), but the the SISSVoc resource description pattern, in that they external content is not used in the SISSVoc interface, have distinct but related URIs for the non- which relies on a single SPARQL endpoint. information resource or concept, and for a descrip- tion of it: 5.2. URI patterns for lists The Cool URIs for the Semantic Web pattern [12,39,42]: The URI pattern for requesting resources of a par- - http://example.org/id/{id} denotes a non- ticular type is information resource - http://example.org/doc/{id} a corresponding http://{server}/{vocabulary}/{type} description or information resource [?{selection-parameters}[&{view-parameters}]]

In DBPedia [5]: SISSVoc follows the Linked Data API [36] in us- reveal any similar products which included a full ing the singular form of the resource type in the URI REST API. (i.e. concept, conceptscheme, collection), although Managing vocabulary content is a challenging task, the result will sometimes be a list. for which the technical aspect involves encoding not only the basic concept description, but also all the 5.3. URI patterns for queries relationships within and between vocabularies. Main- taining the integrity of these in the face of fine- Earlier versions of SISSVoc12 took the traditional grained update operations is a significant task. RDF approach of appending a query-string to a single ser- editors (such as Protégé13 or TopBraid Composer14), vice URI. In SISSVoc 3.0 each query pattern is a ensure that the consistency of relationships between distinct HTTP endpoint. Tables 4 and 5 focus on re- resources is maintained, and support generation of lationships between SKOS concepts, so all patterns RDF documents to transfer a set of vocabulary con- are based on tent from the maintenance to publication environ- ment, as outlined above. For complete web-hosted http://{server}/{vocabulary}/concept/{relation} vocabulary maintenance, as well as publication ?{selection-parameters} (commercial) tools like TopQuadrant’s Enterprise Vocabulary Net 15 , and the PoolParty Thesaurus From a REST point of view, this is oriented Server16 are available. around queries, rather than the concepts themselves, though in part this is a necessary consequence of the 5.5. Related work design goal of separating the service location from concept URIs. As noted above (section Error! Ref- A number of other vocabulary have been de- erence source not found.) concept URIs may be scribed, either in the context of a single vocabulary redirected to a SISSVoc service if the concept owner or as a general purpose re-usable API aligned with endorses a particular service to provide descriptions, SKOS. In this section, we compare the capabilities of but this is strictly a separate concern to SISSVoc APIs based on similar premises and scope to SIS- which provides a query function. Nevertheless, other SVoc. Candidates should explicitly leverage the redirections could support a REST interface oriented SKOS model, and be a reusable API, so we excluded around the concept URIs. For example, a URI redi- tools that focus on content management (e.g. rection pattern TopQuadrant EVN), or are a service with an API that hosts a specific vocabulary (e.g. GEMET API [16]). {conceptURI}/{relation}  http://{server}/{vocabulary}/concept/{relation} A summary comparison matrix is provided in Table 8. ?uri={conceptURI} SKOSAPI [7] is a Java-based API for SKOS vo- cabularies. It specializes the OWL API libraries, thus could access concepts related to a primary concept providing logics-based reasoning to applications built through the {relation} predicate. on SKOSAPI. Vocabularies can be loaded via HTTP, SISSVoc development is ongoing in support of a but interaction with vocabularies is via programmatic number of environmental science projects, through interfaces, and SKOSAPI does not provide any web- which this and other refinements of the API are being based APIs for access. In comparison, while SIS- explored for future versions. SVoc does not explicitly feature logics-based reason- ing in the API, this functionality could be included in 5.4. REST behavior and vocabulary maintenance a SISSVoc deployment by building on triple store implementations which support reasoning (e.g. The SISSVoc API is currently only specified for OWLIM). HTTP GET operations. It is not a full API, as it does ASKOSI [14] is a framework with coupled SKOS not support HTTP operations for insertion, update API to vocabularies loaded into a localized datastore and deletion [18,37]. SISSVoc is a lightweight search and retrieval SKOS API. An extensive search did not 13 http://protege.stanford.edu/ 14 http://www.topquadrant.com/tools/modeling-topbraid-composer- standard-edition/ 15 http://www.topquadrant.com/products/topbraid-enterprise-

12 vocabulary-net/ https://www.seegrid.csiro.au/wiki/Siss/VocabularyService 16 http://www.poolparty.biz/portfolio-item/poolparty-thesaurus- #SISSvoc_versions server/ (either via files or triple store endpoint). This is pri- SKOSMOS also supports content/lifecycle manage- marily to support human-readable web-based views ment, though not through the REST API. Note that on the loaded vocabularies, and supports machine- SKOSMOS is the successor project to ONKI SKOS readable views in RDF/XML and in customized Server [46]. At the time that SISSVoc design was XML. In comparison, SISSVoc provides a broader initiated (2009) ONKI was based on SOAP Web set of machine-readable views which includes JSON- Service technologies with AJAX web interfaces. LD, and RDF in Turtle notation (provided by ELDA). SISSVoc provides a layer of abstraction over a speci- fied SPARQL endpoint, and is decoupled from the 6. Future work datastore. However, ASKOSI provides a broader set of SKOS relationship APIs, also covering the inter- SISSVoc provides a key capability within a suite vocabulary mapping predicates (broadMatch, exact- of services supporting environmental science applica- Match, etc). tions at CSIRO and collaborators. ‘Controlled vocab- Skosprovider [11] is a Python-based API for cre- ularies’ are a key building block for interoperability ating, loading and interfacing with SKOS vocabular- within a technical community. Hence we expect to ies. A limitation of Skosprovider is that it only allows continue to develop SISSVoc in response to require- a mono-hierarchy view of the SKOS Concept model. ments emerging from various projects. Poolparty [40,41] is a commercial thesaurus As noted above, the SISSVoc v3 API only covers maintenance and publishing environment. The focus the subset of the SKOS vocabulary that was required is on interactive content management, and the com- to support some known applications in environmental plete suite provides a range of capabilities, including sciences (Table 6). However, the patterns established wiki functionality for community discussion of a in Tables 2-5 would be relatively easy to adapt to the thesaurus, some tools for automating creation of a other predicates. The semantic properties, and prop- new thesaurus from existing non-SKOS sources, and erties related to scheme and collection membership integration with external semantic-web resources like would be accessed following the patterns for broad- DBpedia. The REST API for accessing SKOS con- er/narrower, etc, shown in Tables 4 and 5, while the tent is similar to SISSVoc. For example, the Poolpar- text properties could be queried following the ‘la- ty URI pattern for ‘concepts broader than {concep- belcontains’ pattern shown in Table 3 and 5. Howev- tURI}’ is er, as noted in section 5.3, the transition from the earlier query-oriented to resource-oriented URI pat- http://{server}/api/thesaurus/{project}/broaders ?concept={conceptURI} terns is incomplete and future development will like- ly focus on the latter. which may be compared with the SISSVoc pattern Another aspect that has received limited attention shown in Table 4. A HTTP POST endpoint is speci- in the current API is proper multi-lingual support for fied to support a ‘suggestNewConcept’ function, selection. Again, this should be relatively straight- though somewhat surprisingly the submission pay- forward to remedy, with an additional argument to a load is JSON. Otherwise, update and other mainte- text query to limit selection from strings with a given nance is realized through a SPARQL Update end- language tag. There will need to be consideration of point. the precision for matching language tags, since there SKOSMOS [28] is the closest solution to SIS- are often variations even within a single language SVoc of the products tabulated, as it is an open- (e.g. ja-Hira, ja-Kana, ja-Hani and ja-Latn). As noted source, REST-based SKOS access API. The capabili- in Table 8, language support for output (projection) ties of SISSVoc and SKOSMOS are similar, and im- leverages the capability built into the Linked Data plemented using almost identical URI patterns: for API. example, compare the SKOSMOS pattern for ‘con- We are currently implementing a number of client cepts broader than {conceptURI}’: applications on top of SISSVoc, including the search application briefly described in section 4.2. A version http://{server}/rest/v1/{vocabulary}/broader of this is to be embedded in a larger application to ?uri={conceptURI}&lang=en guide selection of keywords or tags for classifying with SISSVoc: scientific datasets. In support of that we are currently generalizing SISSVoc Search to access multiple http://{server}/{vocabulary}/concept/broader sources simultaneously. ?uri={conceptURI}&_lang=en

Table 8 Comparison of general purpose SKOS APIs API SKOS API [7] ASKOSI [14] Skosprovider [11] Poolparty [41] SKOSMOS [28] SISSVoc Feature API / Programming Java / Java Python RESTful HTTP- PHP Implementation / LDA Implementation / Language OWL API based API availa- Fuseki / RESTful HTTP-based RESTful HTTP-based (GET) ble (GET) Decoupled from datas- No Partial (localizes copy of SKOS Partial (localizes copy No Yes Yes tore/ SPARQL endpoint content via file or SPARQL of SKOS content via file endpoint) or SPARQL endpoint using RDFLib) External SPARQL sup- No Partial Yes Yes Yes Yes port Open Source License Apache 2.0 Gnu GPL v3 Yes No MIT License CC-BY (LDA configuration) SKOS Concept API Yes Yes Yes17 Yes Yes Yes SKOS Collection API Yes Yes Yes Yes No Yes SKOS ConceptScheme Yes Yes Yes Yes Yes Yes API SKOS relationship API Yes Partial (exactMatch, close- Partial (broader, nar- Yes Partial (broader, broaderTransi- Partial (broader, broaderTransi- Match, broader, narrower, relat- rower, related) tive, narrower, narrowerTransi- tive, narrower, narrowerTransi- ed, broadMatch, narrowMatch, tive, related) tive) relatedMatch) SKOS Label API Yes Yes Yes Partial Yes18 Partial API for access via label (any label, label contains) Multilingual Yes Yes Yes Yes Yes Partial (language neutral query; response language controlled using LDA _lang parameter) Content negotiation No SKOS/RDF or XML No Yes Yes Yes Content / lifecycle man- Local only Local only No Yes Yes No – independent SPARQL agement endpoint

17 Single hierarchy 18 hiddenLabel support not yet implemented References

7. Conclusion [1] T. Baker, S. Bechhofer, A. Isaac, A. Miles, G. Schreiber, E. Summers, Key choices in the design of Simple Knowledge Organization System (SKOS), Web Semant. Sci. Serv. SISSVoc provides a lightweight search and re- Agents World Wide Web. 20 (2013) 35–49. trieval API for RDF datasets based on SKOS. SIS- doi:10.1016/j.websem.2013.05.001. SVoc provides an abstracted view for end users and [2] T. Berners-Lee, Linked Data - Design Issues, W3C Des. Issues. (2006). client applications to access and query SKOS vocab- http://www.w3.org/DesignIssues/LinkedData.html (ac- ulary resources without necessarily knowing any of cessed February 13, 2014). the underlying technologies and semantic web lan- [3] C. Bizer, R. Cyganiak, D2r server-publishing relational guages used. The current design of SISSVoc (v3) is databases on the semantic web, in: I. Cruz, S. Decker, D. Allemang, C. Preist, D. Schwabe, P. Mika, et al. (Eds.), based on the Linked Data API and the deployments Semant. Web - ISWC 2006 5th Int. Semant. Web Conf. Ath- described are implemented by configuring a Linked ens, Ga. USA, Springer Berlin Heidelberg, 2006: p. 26. Data API endpoint. Since the triple-store hosting the http://www4.wiwiss.fu-berlin.de/bizer/pub/Bizer-Cyganiak- content is only coupled to the SISSVoc layer through D2R-Server-ISWC2006.pdf. [4] C. Bizer, T. Heath, T. Berners-Lee, Linked Data - The Story a SPARQL endpoint, the deployment pattern is flexi- So Far, Int. J. Semant. Web Inf. Syst. 5 (2009) 1–22. ble. For a particular vocabulary it is typical to pro- doi:10.4018/jswis.2009081901. vide multiple standard interfaces, with each used as [5] C. Bizer, J. Lehmann, G. Kobilarov, S. Auer, C. Becker, R. the basis of the interface next higher in the stack. Cyganiak, et al., DBpedia - A crystallization point for the Web of Data, Web Semant. 7 (2009) 154–165. This supports a range of application approaches. The doi:10.1016/j.websem.2009.07.002. Linked Data API provides significant capability out- [6] K.M. Cohen, S.C. Finney, P.L. Gibbard, J.-X. Fan, (updat- of-the-box, including content negotiation for both ed), The ICS International Chronostratigraphic Chart, Epi- human interfaces and machine readable interfaces. sodes. 36 (2013) 199–204. http://www.episodes.co.in/contents/2013/september/p199- The SISSVoc URI patterns are generally aligned 204.pdf (accessed February 13, 2014). with REST and Linked Data principles, though some [7] CO-ODE, Sealife, SKOS API, (n.d.). potential improvements have been identified. Of http://skosapi.sourceforge.net/documentation.html (ac- comparable solutions, the three HTTP-based APIs cessed August 28, 2014). [8] S.J.D. Cox, K. Mills, F. Tan, Vocabulary services to support have independently converged on essentially identi- scientific data interoperability, in: Geophys. Res. Abstr. cal URI patterns for query, though their current im- Proc. Eur. Geosci. Union Gen. Assem., Copernicus GmbH, plementations use different technologies. SISSVoc is Vienna, 2013. a particularly light-weight implementation, as it is http://adsabs.harvard.edu/abs/2013EGUGA..15.1143C (ac- cessed February 04, 2014). achieved purely by configuring existing components [9] S.J.D. Cox, S.M. Richard, A geologic timescale ontology coupled through standard HTTP and SPARQL. We and service, Earth Sci. Informatics. (2014). have demonstrated that the availability of a simple doi:10.1007/s12145-014-0166-2. REST API to SKOS resources provides a basis for [10] R. Cyganiak, C. Bizer, Pubby – A Linked Data Frontend for SPARQL Endpoints, (2009). http://wifo5- useful applications, in search and validation scenarios. 03.informatik.uni-mannheim.de/pubby/ (accessed February 13, 2014). [11] K. Van Daele, Skosprovider, (n.d.). Acknowledgements http://skosprovider.readthedocs.org/en/latest/api.html (ac- cessed August 28, 2014). [12] P. Davidson, Designing URI Sets for the UK Public Sector, Jackie Stewart (nee Githaiga) (CSIRO) did the development London, 2009. work on earlier versions of SISSVoc; Stuart Williams & Chris https://www.gov.uk/government/uploads/system/uploads/at Dollin (Epimorphics) provided advice and debugging during the tachment_data/file/60975/designing-URI-sets-uk-public- initial ELDA implementation. Particular thanks to four reviewers sector.pdf (accessed February 13, 2014). from Semantic Web Journal whose thorough and constructive [13] K. Degtyarenko, P. de Matos, M. Ennis, J. Hastings, M. comments have led us to make many significant improvements in Zbinden, A. McNaught, et al., ChEBI: a database and on- the paper. SISSVoc development was supported by AuScope un- tology for chemical entities of biological interest., Nucleic der the Australian Government’s National Collaborative Research Acids Res. 36 (2008) D344–50. doi:10.1093/nar/gkm791. Infrastructure Strategy, and by CSIRO and the Bureau of Meteor- [14] C. Dupriez, ASKOSI, (n.d.). http://www.destin- ology under the Water Information Research and Development informatique.com/ASKOSI/ (accessed August 28, 2014). Alliance (WIRADA). [15] EIONET, GEMET Thesaurus, (n.d.). http://www.eionet.europa.eu/gemet/ (accessed March 27, 2014). [16] EIONET, GEMET WebService API, (n.d.). [30] G. Ogg, Geologic TimeScale Foundation - Stratigraphic http://taskman.eionet.europa.eu/projects/zope/wiki/GEMET Lexicons, (n.d.). WebServiceAPI (accessed February 13, 2014). https://engineering.purdue.edu/Stratigraphy/resources/lexic [17] Epimorphics, Elda: the linked-data API in Java, (2010). ons.html (accessed February 13, 2014). http://www.epimorphics.com/web/tools/elda.html (accessed [31] L.M. Olsen, G. Major, K. Shein, J. Scialdone, S. Ritz, T. February 13, 2014). Stevens, et al., NASA/Global Change Master Directory [18] R.T. Fielding, R.N. Taylor, Principled design of the modern (GCMD) Earth Science Keywords. Version 8.0.0.0.0, Web architecture, ACM Trans. Internet Technol. 2 (2002) (2013). http://gcmd.nasa.gov/learn/keyword_list.html (ac- 115–150. doi:10.1145/514183.514185. cessed February 13, 2014). [19] J. Githaiga, G. Duclaux, S.J.D. Cox, J. Yu, Spatial Infor- [32] E. Prud’hommeaux, A. Seaborne, SPARQL Query Lan- mation Services Stack (SISS) Vocabulary Service – A Tool guage for RDF, World Wide Web Consortium, 2008. For Managing Earth & Environmental Sciences Controlled http://www.w3.org/TR/rdf-sparql-query/ (accessed Febru- Vocabularies., in: 4th eResearch Australas. Conf., eRe- ary 13, 2014). search Australasia, 2010. [33] Publications Office of the European Union, Eurovoc, the http://eresearchau.files.wordpress.com/2012/10/61-spatial- EU’s multilingual thesaurus, (n.d.). information-services-stack-siss-vocabulary-service- http://eurovoc.europa.eu/ (accessed February 13, 2014). e28093.pdf (accessed February 13, 2014). [34] S. Rajbhandari, J. Keizer, The AGROVOC Concept [20] S. Harris, A. Seaborne, SPARQL 1.1 Query Language, Scheme : A Walkthrough, J. Integr. Agric. 11 (2012) 694– World Wide Web Consortium, 2013. 699. doi:10.1016/S2095-3119(12)60058-6. http://www.w3.org/TR/sparql11-query/ (accessed February [35] R.G. Raskin, M.J. Pan, Knowledge representation in the 13, 2014). semantic web for Earth and environmental terminology [21] J. Hastings, P. de Matos, A. Dekker, M. Ennis, B. Harsha, N. (SWEET), Comput. Geosci. 31 (2005) 1119–1125. Kale, et al., The ChEBI reference database and ontology for doi:10.1016/j.cageo.2004.12.004. biologically relevant chemistry: enhancements for 2013., [36] D. Reynolds, J. Tennison, L. Dodds, I. Dickinson, linked- Nucleic Acids Res. 41 (2013) D456–63. data-api - API and formats to simplify use of linked data by doi:10.1093/nar/gks1146. web-developers, (n.d.). https://code.google.com/p/linked- [22] ISO, Information technology — Document Schema Defini- data-api/ (accessed February 13, 2014). tion Languages (DSDL) — Part 3: Rule-based validation — [37] L. Richardson, S. Ruby, RESTful Web Services, O’Reilly Schematron, International Organization for Standardization, Media, 2008. doi:10.1109/MIC.2008.130. Geneva, 2006. [38] F.B. Rogers, Medical Subject Headings (MeSH), Bull. Med. http://standards.iso.org/ittf/PubliclyAvailableStandards/c04 Libr. Assoc. 51 (1963) 114–116. doi:10.1038/205236a0. 0833_ISO_IEC_19757-3_2006(E).zip. [39] L. Sauermann, R. Cyganiak, Cool URIs for the Semantic [23] A. Leadbetter, R. Lowry, D.O. Clements, The NERC Vo- Web, (2008). http://www.w3.org/TR/cooluris/ (accessed cabulary Server: Version 2.0, in: Geophys. Res. Abstr. Proc. February 13, 2014). Eur. Geosci. Union Gen. Assem., Copernicus GmbH, Vien- [40] T. Schandl, A. Blumauer, The Semantic Web: Research and na, 2012. Applications, in: L. Aroyo, G. Antoniou, E. Hyvönen, A. http://meetingorganizer.copernicus.org/EGU2012/EGU201 ten Teije, H. Stuckenschmidt, L. Cabral, et al. (Eds.), Se- 2-2943.pdf (accessed February 13, 2014). mant. Web Res. Appl. 7th Ext. Semant. Web Conf., Springer [24] J. Lehmann, R. Isele, M. Jakob, A. Jentzsch, D. Kontokostas, Berlin Heidelberg, Heraklion, Crete, Greece, 2010: pp. P.N. Mende, et al., DBpedia – A Large-scale , Multilingual 421–425. doi:10.1007/978-3-642-13489-0. Knowledge Base Extracted from Wikipedia, Semant. Web J. [41] Semantic Web Company, PoolParty API - Guide - Thesau- to appear. (n.d.). http://www.semantic-web- rus Services, (n.d.). https://grips.semantic- journal.net/content/dbpedia-large-scale-multilingual- web.at/display/POOLDOKU/Thesaurus+Services (accessed knowledge-base-extracted-wikipedia-0. August 28, 2014). [25] N.A.A. Manaf, S. Bechhofer, R. Stevens, The Current State [42] J. Sheridan, J. Tennison, Linking UK Government Data, in: of SKOS Vocabularies on the Web, in: Semant. Web Res. C. Bizer, T. Heath, T. Berners-Lee, M. Hausenblas (Eds.), Appl. Lect. Notes Comput. Sci., Springer, Berlin Heidelberg, Linked Data Web Work., CEUR Workshop Proceedings, 2012: pp. 270–284. doi:10.1007/978-3-642-30284-8_25. Raleigh, North Carolina, USA, April 27, 2010, 2010. [26] A. Miles, S. Bechhofer, SKOS Simple Knowledge Organi- http://ceur-ws.org/Vol-628/ldow2010_paper14.pdf (ac- zation System Reference, World Wide Web Consortium, cessed February 13, 2014). 2009. http://www.w3.org/TR/skos-reference/ (accessed [43] P. Stickler, CBD - Concise Bounded Description, World February 13, 2014). Wide Web Consortium, 2005. [27] K.S. Nagendra, O. Bukhres, S. Sikkupparbathyam, M. Areal, http://www.w3.org/Submission/CBD/ (accessed February Z.B. Miled, L.M. Olsen, et al., NASA Global Change Mas- 13, 2014). ter Directory: an implementation of asynchronous man- [44] E. Summers, A. Isaac, C. Redding, D. Krech, LCSH, SKOS agement protocol in a heterogeneous distributed environ- and Linked Data, Web Semant. Sci. Serv. Agents World ment, in: G. Blair, D. Schmidt, Z. Tari (Eds.), 3rd Int. Symp. Wide Web. 20 (2013) 35–49. Distrib. Objects Appl., IEEE Computer Society, Los Alami- doi:10.1016/j.websem.2013.05.001. tos, Ca. USA, Rome, Italy, 2001: pp. 136–145. [45] Tetherless World Constellation, Coastal and Marine Spatial doi:10.1109/DOA.2001.954079. Planning Vocabularies, (n.d.). [28] National Library of Finland, Skosmos REST API, (n.d.). http://tw.rpi.edu/web/project/CMSPV (accessed February https://github.com/NatLibFi/Skosmos/wiki/REST-API (ac- 13, 2014). cessed August 25, 2014). [46] J. Tuominen, M. Frosterus, K. Viljanen, E. Hyvönen, ONKI [29] Natural Environment Research Council, NERC Vocabulary SKOS Server for Publishing and Utilizing SKOS Vocabu- Server version 2.0 (NVS2.0) at BODC, (n.d.). laries and Ontologies as Services, Semant. Web Res. Appl. http://vocab.nerc.ac.uk/ (accessed February 13, 2014). Lect. Notes Comput. Sci. 5554 (2009) 768–780. doi:10.1007/978-3-642-02121-3_56. [47] R. Woodcock, B.A. Simons, G. Duclaux, S.J.D. Cox, Auscope’s use of standards to deliver earth resource data, in: Geophys. Res. Abstr. Proc. Eur. Geosci. Union Gen. Assem., Copernicus GmbH, Vienna, 2010. http://meetingorganizer.copernicus.org/EGU2010/EGU201 0-1556-1.pdf (accessed February 13, 2014). [48] J. Yu, S.J.D. Cox, G. Walker, P.J. Box, P. Sheahan, Use of standard vocabulary services in validation of water re- sources data described in XML, Earth Sci. Informatics. 4 (2011) 125–137. doi:10.1007/s12145-011-0084-5. [49] ICD-10-CM - International Classification of Diseases, Tenth Revision, Clinical Modification, (n.d.). http://www.cdc.gov/nchs/icd/icd10cm.htm (accessed Feb- ruary 13, 2014).