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 4time 5 avg
case1 27010252492571025481 2614725647

* 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.