bio2rdf / bio2rdf-rest-talend Goto Github PK
View Code? Open in Web Editor NEWA RESTful interface to the Bio2RDF network of data.
License: MIT License
A RESTful interface to the Bio2RDF network of data.
License: MIT License
Currently there is no support for entity resolution for arbitrary entities that appear in Bio2RDF datasets. Consider the statistics page for affymetrix probesets
http://download.bio2rdf.org/release/3/html/affymetrix.html
The first type http://bio2rdf.org/wormbase_vocabulary:Resource does not resolve even though WormBase is part of the Bio2RDF distribution.
The second type http://bio2rdf.org/uniprot_vocabulary:Resource does not resolve.
the web application should send out a federated query to SPARQL endpoints to gather triples to describe these terms.
Git is designed to help with versioning of text files. Publishing the essential code as ZIP files makes it impossible to practically trace bugs and bug fixes in Git.
I propose that we include the provenance for a REST call in the returned results. I suggest we offer quad-based nanopublications [1] with the resulting triples in an "assertion graph" and the provenance of how and where we got those triples in the "provenance graph". here is a quick mockeup:
@prefix : <http://nanopublications.bio2rdf.org/> .
@prefix np: <http://www.nanopub.org/nschema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# nanopublication
:np-uuid {
np:hasPubInfo :np-pubinfo-uuid;
np:hasAssertion :np-assertion-uuid;
np:hasProvenance :np-provenance-uuid;
}
# nanopublication metadata
:np-pubinfo-uuid {
dct:title "Bio2RDF SPARQL query nanopublication";
prov:generatedAtTime "YYYY-MM-DDTHH:MM:SSZ"^^xsd:dateTime;
dct:publisher <http://bio2rdf.org>;
dct:license <http://creativecommons.org/licenses/by/4.0/>;
cito:citesAsAuthority {} . # bio2rdf publications here
}
# nanopublication assertion
:np-assertion-uuid {
# query triples here
}
# nanopublication provenance
:np-provenance-uuid {
:np-assertion-uuid pav:wasGeneratedBy :np-agent-uuid .
:np-agent-uuid
a :web-service; # find appropriate type
prov:startedAtTime "";
prov:endedAtTime "";
prov:specializationOf <http://bio2rdf.org>;
prov:used bio2rdf:dataset1, bio2rdf:dataset2, ... # versioned dataset graph uris
prov:used :url_query_1, :url_query_2, ... # full URL of SPARQL queries for reproducibility.
}
It looks like whatever libraries are being used to handle the content-negotiation at the Bio2RDF end are not dealing with these complex (but valid!) request headers.
curl -H 'Accept: application/rdf+xml, application/xml; q=0.8, text/xml; q=0.7, application/rss+xml; q=0.3, /; q=0.2' --dump-header -http://bio2rdf.org/hgnc_vocabulary:approved-name
HTTP/1.1 404 Not Found
Date: Fri, 13 Jun 2014 08:02:39 GMT
Server: Jetty(8.1.12.v20130726)
Content-Length: 0
$ curl -H 'Accept: application/rdf+xml' --dump-header -http://bio2rdf.org/hgnc_vocabulary:approved-name
HTTP/1.1 200 OK
Date: Fri, 13 Jun 2014 08:03:11 GMT
Server: Jetty(8.1.12.v20130726)
Content-Type: application/rdf+xml
Content-Length: 1720
@vemonet @ansell
Should we consider implementing the Linked Data API (https://code.google.com/p/linked-data-api/wiki/Specification)?
logo
tagline is "linked data for the life sciences"
auto-completion search bar
university logos made smaller, and positioned at the bottom of the page.
links to wiki pages for
a) about - description, people, organizations, publications
b) contact - mailing list, admin email
c) sources - datasets (description + example identifiers), sparql endpoints, facet search interfaces
d) SPARQL - list of example queries
(all other things removed)
The vast majority of the datasets in Bio2RDF are not licensed under CC-BY, but the DataHub upload script 0f39015 has hardcoded that they are all CC-BY licensed, and that they are all "open" in the OpenDefinition.org sense, which they are most certainly not if you look into their licensing conditions one by one.
Please do something intelligent to map the actual licenses to the DataHub scheme, defaulting to "not-open" if the license is unknown or the license is known by it does not fulfill all of the OpenDefinition.org points.
@vemonet
In order to track changes on commits, and to make inline changes on the code, the codebase should not be in a zip file.
We should should have a document that specifies the API functionality and include their SPARQL queries. Please create a wiki page to keep this documentation.
@vemonet
It would be invaluable to have a service (e.g. /endpoint-status/[all|name]) to check the "status" of the endpoints for which we depend on. The service should send a SPARQL query like "describe http://bio2rdf.org/rest-service/ping" and get an empty turtle document.
You can get more information about http://bio2rdf.org/ns_vocabulary:Resource entities from the Life Science Registry. For instance, the :Resource entity defined by the sgd_vocabulary is linked to the LSR entry :
http://lsr.bio2rdf.org/describe/?url=http%3A%2F%2Fbio2rdf.org%2Fsgd_vocabulary:Resource
http://linkeddata.uriburner.com/about/html/http://bio2rdf.org/drugbank:DB00363
not sure what the problem is...
Please list the set of format types that are supported in the API on their example pages
For instance, on http://bio2rdf.org/test/affymetrix
in -> http://bio2rdf.org/affymetrix/describe/rdf/affymetrix:185061_at
there is "rdf", but really this corresponds to "rdf+xml"
and i apparent can also get "nt" for ntriples, and 'n3' or 'turtle'
what other formats are supported?
It looks like there is some rewriting of the content because the rdf:type should be
http://bio2rdf.org/hgnc_vocabulary:Resource
but is being incorrectly rewritten to
http://hgnc_vocabulary.bio2rdf.org/resource
$ curl -H 'Accept: application/rdf+xml' http://bio2rdf.org/hgnc_vocabulary:approved-name
HTTP/1.1 200 OK
Date: Fri, 13 Jun 2014 08:03:11 GMT
Server: Jetty(8.1.12.v20130726)
Content-Type: application/rdf+xml
Content-Length: 1720
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:j.0="http://bio2rdf.org/hgnc_vocabulary:"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:j.1="http://hgnc_vocabulary.bio2rdf.org/"
xmlns:void="http://rdfs.org/ns/void#"
xmlns:ns5="http://bio2rdf.org/bio2rdf_vocabulary:"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" >
<rdf:Description rdf:about="http://bio2rdf.org/hgnc_vocabulary:approved-name">
<rdf:type rdf:resource="http://hgnc_vocabulary.bio2rdf.org/resource"/>
<ns5:uri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">http://bio2rdf.org/hgnc_vocabulary:approved-name</ns5:uri>
<dc:identifier>hgnc_vocabulary:approved-name</dc:identifier>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
<ns5:namespace rdf:datatype="http://www.w3.org/2001/XMLSchema#string">hgnc_vocabulary</ns5:namespace>
<rdfs:label xml:lang="en">approved name [hgnc_vocabulary:approved-name]</rdfs:label>
<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">approved name [hgnc_vocabulary:approved-name]</rdfs:label>
<dcterms:title xml:lang="en">approved name</dcterms:title>
<rdf:type rdf:resource="http://bio2rdf.org/hgnc_vocabulary:Resource"/>
<ns5:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string">approved-name</ns5:identifier>
<dcterms:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string">hgnc_vocabulary:approved-name</dcterms:identifier>
<void:inDataset rdf:resource="http://bio2rdf.org/hgnc_resource:bio2rdf.dataset.hgnc.R3"/>
</rdf:Description>
</rdf:RDF>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.