This document recommends best practices for building Linguistic Linked Open Data (LLOD) aware web services. LLOD denotes the representation of linguistic resources in accordance with linked data principles. These principles include that entities are to be identified by HTTP URIs providing RDF-based information about the entity including links to related entities. LLOD-aware services consume, process and produce such resources. LLOD-aware services are services that consume resources available as Linked Data as Input and output an RDF resource that can in turn be published as Linked Data.
This document was published by the Best Practices for Multilingual Linked Open Data community group. It is not a W3C Standard nor is it on the W3C Standards Track.
There are a number of ways that one may participate in the development of this report:
We recommend building LLOD-aware web services using RESTful interfaces. Each resource provided by a REST-service is given its own URI. HTTP methods operate on resources in the following way:
We assume that each LLOD-aware service has a certain persistence layer in which snapshots of LD resources can be stored. This is because downloading resource just-in-time when the algorithm is actually invoked using a GET-method can take too long. Therefore, it is recommended to download and update relevant LD datasets asynchronously. There are multiple possible ways of providing RDF data to a service. For now, we assume that there is RDF-based metadata containing the location of an RDF dump in a http://www.w3.org/ns/dcat#accessURL field. This metadata should be the input to the service.
Results of the service should be returned in RDF/XML, Turtle-RDF or JSON-LD. Ideally, all three return types would be supported through content negotiation.
Our example service that we have implemented as a proof-of-concept to illustrate the best practice described here induces matches between two terminological resources in RDF and creates links between the associated concepts.
Terminologies are expected to use the lemon vocabulary for representing lexical resources in RDF. Comparison of entries is performed based on the entries lemon:writtenRep property. The concepts associated with entries as lemon:reference are regarded as equivalent if the concepts written representations match. A linking between the concepts is then created using skos:exactMatch.
Three basic operations are supported:We recommend building web services using a RESTful HTTP interface. The interface for our linking service is described in the following.
http://sc-lider.techfak.uni-bielefeld.de/LinkingWebService/resource/{resourceURL}
POST http://sc-lider.techfak.uni-bielefeld.de/LinkingWebService/resource/http://datahub.io/dataset/emnNote: Support for this operation is deactivated.
http://sc-lider.techfak.uni-bielefeld.de/LinkingWebService/resource/{resourceURL}
PUT http://sc-lider.techfak.uni-bielefeld.de/LinkingWebService/resource/http://datahub.io/dataset/iate-rdfNote: Support for this operation is deactivated.
http://sc-lider.techfak.uni-bielefeld.de/LinkingWebService/linking/dataset/{sourceURL}?target={targetURL}A linking for a single concept is retrieved by sending a HTTP GET request to
http://sc-lider.techfak.uni-bielefeld.de/LinkingWebService/linking/concept/{sourceURL}?target={targetURL}
GET http://sc-lider.techfak.uni-bielefeld.de/LinkingWebService/linking/dataset/https://datahub.io/dataset/emn?target=https://datahub.io/dataset/iate-rdfAnd would return as result:
european_migration_network:absconding skos:exactMatch iate:IATE-3544259 . european_migration_network:accommodationcentre skos:exactMatch iate:IATE-878245 . european_migration_network:acquisitionofcitizenship skos:exactMatch iate:IATE-3549121 . european_migration_network:actofpersecution skos:exactMatch iate:IATE-3549123 . european_migration_network:actorofprotection skos:exactMatch iate:IATE-3549124 . …where