Copyright © 2012,2013, Rinke Hoekstra, VU University Amsterdam/Data2Semantics Project
Linkitup is a Web-based dashboard for enrichment of research output published via the Figshare.com repository service. For license terms, see below.
Linkitup currently does two things:
- it takes metadata entered through Figshare.com and tries to find equivalent terms, categories, persons or entities on the Linked Data cloud and several Web 2.0 services.
- it extracts references from publications in Figshare.com, and tries to find the corresponding Digital Object Identifier (DOI).
Linkitup is developed within the COMMIT Data2Semantics project, a research project that develops technology for adding semantics to research data.
Using Figshare allows Data2Semantics to:
- tap into a wealth of research data already published
- provide state-of-the art data enrichment services on a prominent platform with a significant user base, and
- bring RDF data publishing to a mainstream platform.
- And lastly, Figshare removes the need for a Data2Semantics data repository
Linkitup feeds the enriched metadata back as links to the original article in Figshare, but also builds a RDF representation of the metadata that can be downloaded separately, or published as research output on Figshare.
We aim to extend linkitup to connect to other research repositories such as EASY and the Dataverse Network.
Figshare allows researchers to publish all of their research outputs in seconds in an easily citable, sharable and discoverable manner. All file formats can be published, including videos and datasets that are often demoted to the supplemental materials section in current publishing models. By opening up the peer review process, researchers can easily publish null results, avoiding the file drawer effect and helping to make scientific research more efficient. figshare uses creative commons licensing to allow frictionless sharing of research data whilst allowing users to maintain their ownership.
From http://figshare.com/about
Figshare is ideal for our purposes as it combines an extremely lightweight and user friendly publishing process with a convenient application programming interface (API) on their repository.
Furthermore, Figshare assigns a DOI and standard citation to every data item in their repository, allowing for data integration in publications.
Figshare allows the annotation of five types of research output ('articles' in their terminology):
- Dataset, tables, statistics
- Paper, publication document
- Poster, illustration, diagram
- Figure, image files
- Media, videos, audio
These file types can be assigned:
- Categories, taken from a taxonomy of research (individual data publishers can add categories to the taxonomy if needed)
- Tags, simple keywords that describe the research output
- Links, links to relevant other material.
- Authors, the authors of the publication
The functionality of linkitup is provided through a plugin mechanism. This version of linkitup is shipped with five plugins (See below for instructions on writing your own plugin).
The Wikipedia/DBPedia plugin takes all tags from a Figshare publication, and does a literal string match to rdfs:label
values in DBPedia.
Users are presented with a list of Wikipedia URLs that match the tags for their publication. They can select the matches they feel are appropriate, and add them as links to the Figshare repository.
Corresponding DBPedia URIs are added to the RDF representation with skos:exactMatch
properties to the related tag.
The DBLP plugin takes all author names and attempts to find authors with the same name published in the Linked Data version of the DBLP bibliography of computer science.
Users are presented with a list of DBLP URIs that match the authors for their publication. They can select the matches they feel are appropriate, and add them as links to the Figshare repository.
The selected DBLP URIs are added to the RDF representation as owl:sameAs
to the matching author.
The CrossRef plugin extracts references from a PDF publication (if applicable) and matches them to publications in the CrossRef metadata search.
Users are presented with a list of three matches per reference. They can select the matches they feel are appropriate, and add the associated DOI URIs as links to the Figshare repository.
The selected DOI URIs are added to the RDF representation using act:references
links from the Figshare DOI URI.
The LDR plugin takes all tags from a Figshare publication, and does a literal string match to concepts in the Elsevier Linked Data Repository. Currently this repository only contains a vocabulary of funding agencies.
Users are presented with a list of LDR concepts that match the tags of their publication. They can select the matches they feel are appropriate, and add them as links to the Figshare repository.
Corresponding LDR URIs are added to the RDF representation via skos:exactMatch
properties to the related tag.
The ORCID plugin takes all authors from a Figshare publication, and does a search for these authors using the ORCID search API.
Users are presented with a list of potential matches. They can select the matches they feel are appropriate, and add them as links to the Figshare repository.
Corresponding ORCID URIs are added to the RDF representation via owl:sameAs
to the matching author.
Linkitup now also connect to the NIF Registry, the NeuroLex wiki, and various others. Check the website for more information.
Linkitup is free software, you can redistribute it and/or modify it under the terms of GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
You should have received a copy of the the GNU Affero General Public License along with Linkitup (in the file AGPL_LICENSE
). If not, see http://www.gnu.org/licenses/agpl-3.0.html
Additional permission under the GNU Affero GPL version 3 section 7:
If you modify this Program, or any covered work, by linking or combining it with other code, such other code is not for that reason alone subject to any of the requirements of the GNU Affero GPL version 3.
Paraphrased: the additional permission removes the copyleft obligation of AGPL, and thereby ensures compatibility with the LGPL while maintaining the extension of the GPL to web services, as provided by the AGPL.
Linkitup uses the following libraries:
- Python 2.7
- Flask 0.10
- RDFLib
- SPARQLWrapper
- requests
- requests-oauth
- PyYAML
- Optional:
- Linkitup includes its own reference extraction functionality, but this may perform sub-optimally for non-standard PDF layouts. You could try using pdf-extract instead (the code for calling pdf-extract is ready to use)
Install dependencies
$ pip install -r requirements.txt
initialise the local database
$ python manage.py db upgrade
and start Linkitup server
$ python manage.py runserver
Linkitup is a Flask project. Refer to its documentation to see how to install Linkitup as a WSGI module.
Happy linking!