ADERIS
* source: sparql-aderis - Revision 143: /trunk
svn checkout http://sparql-aderis.googlecode.com/svn/trunk/ sparql-aderis-read-only
* execute:
example:
java -jar ADERIS.jar http://cu.pharmgkb.bio2rdf.org/sparql,http://cu.omim.bio2rdf.org/sparql,http://cu.drugbank.bio2rdf.org/sparql,http://cu.sider.bio2rdf.org/sparql, http://cu.kegg.bio2rdf.org/sparql "select ?s1 ?o1 ?o2 where{ ?s1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://bio2rdf.org/omim_vocabulary:Gene>. ?s1 <http://bio2rdf.org/omim_vocabulary:refers-to> ?o1. ?o1 <http://bio2rdf.org/omim_vocabulary:x-snomed> ?o2. <http://bio2rdf.org/pharmgkb:PA446359> <http://bio2rdf.org/pharmgkb_vocabulary:x-snomedct> ?o2.}"
Note: Use of "Prefix" tends to produce problems, such as " ?drug_drugbank drugbank:category drugbank:Anti-Allergic-Agents." in query 4 and " ?drug_drugbank drugbank:category drugbank:Anticonvulsants." in query 5, the objects with Predix will take errors. Query 4 should be written as "?drug_drugbank drugbank:category < http://bio2rdf.org/drugbank_vocabulary:Anti-Allergic-Agents>."
Result:
query1: results:zero.
Query\time(ms) | time 1 | time 2 | time 3 | time 4 | time 5 | avg |
case1 | 27010 | 25249 | 25710 | 25481 | 26147 | 25647 |
* Analysis:
1. When doing queries, ADERIS firstly queries each data sources using SPARQL to find out the number of distinct predicate values(Data about subjects/objects not retrieved.) select distinct ?p where { ?s ?p ?o }; select count(?p) where { ?s ?p ?o }; '''potential consequences:''' Without using caches and any metadata information pre-fetched, the system query each endpoint in real time, which could take a long time, especially, when the number of endpoints increases.