バージョン 1 から バージョン 2 における更新: ~FederatedQuery

差分発生行の前後
無視リスト:
更新日時:
2014/08/21 10:18:44 (10 年 前)
更新者:
wu
コメント:

--

凡例:

変更なし
追加
削除
変更
  • ~FederatedQuery

    v1 v2  
    1 Test 
     1The original query: 
     2 
     3{{{ 
     4SELECT ?it1 ?st1 ?p01 ?x01 ?p02 ?x02 ?p03 WHERE {?it1 ?st1 
     5<http://bio2rdf.org/omim_vocabulary:Gene> . ?it1 ?p01 ?x01 . ?x01 ?p02 
     6?x02 . <http://bio2rdf.org/pharmgkb:PA446359> ?p03 ?x02 . FILTER 
     7(isIRI(?it1) && isIRI(?x01) && isIRI(?x02)) FILTER (?it1 != ?x01) 
     8FILTER (?it1 != ?x02) FILTER (?x01 != ?x02) FILTER (str(?p01) NOT IN 
     9("http://rdfs.org/ns/void#inDataset", 
     10"http://bio2rdf.org/omim_vocabulary:refers-to", 
     11"http://bio2rdf.org/omim_vocabulary:article", 
     12"http://bio2rdf.org/omim_vocabulary:mapping-method", 
     13"http://www.w3.org/1999/02/22-rdf-syntax-ns#type", 
     14"http://www.w3.org/2000/01/rdf-schema#subClassOf", 
     15"http://bioportal.bioontology.org/ontologies/umls/hasSTY")) FILTER 
     16(str(?p02) NOT IN ("http://rdfs.org/ns/void#inDataset", 
     17"http://bio2rdf.org/omim_vocabulary:refers-to", 
     18"http://bio2rdf.org/omim_vocabulary:article", 
     19"http://bio2rdf.org/omim_vocabulary:mapping-method", 
     20"http://www.w3.org/1999/02/22-rdf-syntax-ns#type", 
     21"http://www.w3.org/2000/01/rdf-schema#subClassOf", 
     22"http://bioportal.bioontology.org/ontologies/umls/hasSTY")) FILTER 
     23(str(?p03) NOT IN ("http://rdfs.org/ns/void#inDataset", 
     24"http://bio2rdf.org/omim_vocabulary:refers-to", 
     25"http://bio2rdf.org/omim_vocabulary:article", 
     26"http://bio2rdf.org/omim_vocabulary:mapping-method", 
     27"http://www.w3.org/1999/02/22-rdf-syntax-ns#type", 
     28"http://www.w3.org/2000/01/rdf-schema#subClassOf", 
     29"http://bioportal.bioontology.org/ontologies/umls/hasSTY")) FILTER 
     30(str(?st1) IN ("http://www.w3.org/1999/02/22-rdf-syntax-ns#type", 
     31"http://www.w3.org/2000/01/rdf-schema#subClassOf", 
     32"http://bioportal.bioontology.org/ontologies/umls/hasSTY"))} LIMIT 10 
     33}}} 
     34 
     35==Test 1 == 
     36 
     37'''FedX:''' 
     38 
     39Rewriting the query by filling the predicate parts: 
     40 
     41{{{ 
     42select ?s1 ?o1 ?o2  
     43where{ 
     44?s1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://bio2rdf.org/omim_vocabulary:Gene>. 
     45?s1   <http://bio2rdf.org/omim_vocabulary:phenotype> ?o1. 
     46?o1   <http://bio2rdf.org/omim_vocabulary:x-snomed> ?o2. 
     47<http://bio2rdf.org/pharmgkb:PA446359> <http://bio2rdf.org/pharmgkb_vocabulary:x-SnoMedCT> ?o2. 
     48} 
     49}}} 
     50 
     51 
     52{{{ 
     53select ?s1 ?o1 ?o2  
     54where{ 
     55?s1 ?p1 <http://bio2rdf.org/omim_vocabulary:Gene>. 
     56?s1   <http://bio2rdf.org/omim_vocabulary:phenotype> ?o1. 
     57?o1   <http://bio2rdf.org/omim_vocabulary:x-snomed> ?o2. 
     58<http://bio2rdf.org/pharmgkb:PA446359> <http://bio2rdf.org/pharmgkb_vocabulary:x-SnoMedCT> ?o2. 
     59} 
     60 
     61}}} 
     62 
     63Both of the two queries can be finished within 5 seconds. 
     64 
     65 
     66{{{ 
     67select ?s1 ?o1 ?o2  
     68where{ 
     69?s1 ?P1 <http://bio2rdf.org/omim_vocabulary:Gene>. 
     70?s1   ?P2 ?o1. 
     71?o1   <http://bio2rdf.org/omim_vocabulary:x-snomed> ?o2. 
     72<http://bio2rdf.org/pharmgkb:PA446359> <http://bio2rdf.org/pharmgkb_vocabulary:x-SnoMedCT> ?o2. 
     73} 
     74 
     75}}} 
     76 
     77 
     78 
     79 
     80==Test 2 == 
     81 
     82 
     83''' Virtuoso:''' 
     84 
     85 
     86{{{ 
     87select ?s1 ?o1 ?o2  
     88where{ 
     89service<http://pharmgkb.bio2rdf.org/sparql> 
     90{<http://bio2rdf.org/pharmgkb:PA446359> <http://bio2rdf.org/pharmgkb_vocabulary:x-SnoMedCT> ?o2.} 
     91service<http://omim.bio2rdf.org/sparql> 
     92{ 
     93?s1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://bio2rdf.org/omim_vocabulary:Gene>. 
     94?s1   <http://bio2rdf.org/omim_vocabulary:phenotype> ?o1. 
     95?o1   <http://bio2rdf.org/omim_vocabulary:x-snomed> ?o2.} 
     96 
     97}  
     98 
     99}}} 
     100 
     101 
     102 
     103OK! 
     104 
     105 
     106{{{ 
     107 
     108select ?s1 ?o1 ?o2  
     109where{ 
     110service<http://omim.bio2rdf.org/sparql> 
     111{ 
     112?s1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   <http://bio2rdf.org/omim_vocabulary:Gene>. 
     113?s1   <http://bio2rdf.org/omim_vocabulary:phenotype> ?o1. 
     114?o1   <http://bio2rdf.org/omim_vocabulary:x-snomed> ?o2.} 
     115service<http://pharmgkb.bio2rdf.org/sparql> 
     116{<http://bio2rdf.org/pharmgkb:PA446359> <http://bio2rdf.org/pharmgkb_vocabulary:x-SnoMedCT> ?o2.} 
     117} 
     118}}} 
     119 
     120wrong! 
     121 
     122{{{ 
     123Virtuoso RDFZZ Error DB.DBA.SPARQL_REXEC('http://pharmgkb.bio2rdf.org/sparql', ...) has received result with unexpected variable name 'stubvar11' 
     124}}} 
     125 
     126'''Conclusion''' 
     127 
     1281. Virtuoso requires explicitly specified Service keyword, namely SPARQL endpoints; 
     129 
     1302. Even with the explicitly specified SPARQL endpoints, queries may not get an ideal result.