Skip to content

Integration APIs: Telling GOKb about new or corresponding resources and local identifiers

Owen Stephens edited this page Jun 8, 2015 · 2 revisions

The GOKb Integration controller supports a number of rest endpoints for submitting data.

Please note that The GOKb integration API is protected using HTTP-BASIC authentication over HTTPS. In order to use this API you will need to register an account and request the API role by emailing [email protected] with details of your use case. Developers are advised to develop and test against the test service http://test-gokb.kuali.org/gokb/

Organisations

May be pushed to /gokb/integration/assertJsonLdOrg. This endpoint accepts a HTTP Post containing a JSON-LD encoded organisation record of the form

  {
        "@id": "http://www.lib.ncsu.edu/ld/onld/00000326" ,
        "skos:prefLabel": "101 Communications" ,
        "skos:altLabel": [
            "101 Communications, Inc" ,
            "101 Communications, LLC" ,
            "101communications"
        ] ,
        "owl:sameAs": [
            "http://viaf.org/viaf/158163150"
        ] ,
        "@type": [
            "http://dbpedia.org/ontology/Organisation" ,
            "http://xmlns.com/foaf/0.1/Agent" ,
            "http://xmlns.com/foaf/0.1/Organization" ,
            "http://www.w3.org/2002/07/owl#Thing" ,
            "http://schema.org/Organization"
        ]
    } ,

Then integration API will attempt identifier and normalised name matching. If matched, any identifiers will be added to the identified record, otherwise a new Org record will be created. The directory https://github.com/k-int/gokb-phase1/tree/dev/linkedData/orgsHarvest/ncsuONLD contains details of one way the NCSU Linked data may be synchronized with GOKb by parsing the export file and pushing records into GOKb via this interface.

Platforms

Can be created by posting JSON to gokb/integration/assertJsonldPlatform

The JSON is substantially simpler for platform names, as there is currently no shared way to identify platforms used. Normalised name matching is used. Post JSON formed as

{
    'skos-prefLabel':'Your Platform Name'
}

Title Cross-Referencing (And CoReferencing)

One challenge in GOKb is to record institutional variant identifiers (For example, UK JUSP Title IDs for counter statistics). GOKb provides an API for maintainers of proprietary identifiers to post records (Which must contain at least one shared common identifier) containing their own local IDs. These IDs will be absorbed into the GOKb record and added to the list of identifiers (Publisher data and a number of other properties may also be enriched using this mechanism).

Systems can post a JSON document to /gokb/integration/crossReferenceTitle structured as

{
    'title':'some title',
    'publisher':'some publisher',
    'identifiers':[
      { 'type':'issn', 'value':'0123-1234' },
      { 'type':'doi', 'value':'doi://xxxxxxx' }
    ]
}

Other methods are provided for loading bulk title lists, but not intended for general consumption. See code for details.