SPARQL 検索例

2015 年 7 月 24 日
産業技術総合研究所 (AIST)
創薬分子プロファイリング研究センター(MolProf)1. fRNAdb
fRNAdb に対する SPARQL 検索例を以下に示します。
取得するもの・ fRNAdb ID、配列の説明文、配列
検索条件
・ 配列長が 50 塩基以上 100 塩基以下
・ 生物種が”homo sapiens”
・ 生物種名は大文字小文字の区別をつけない
・ 配列の説明文にキーワード”miRNA”が含まれる
・ キーワードは大文字小文字の区別をつけない
・ 取得するエントリは最大で 25 エントリ
この条件を満たす SPARQL 検索文例は以下となります。

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX aistlsarc: <http://www.molprof.jp/ontologies/aistlsarc.owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT ?id ?description ?sequence
WHERE {?s rdfs:label ?id .
?s aistlsarc:description ?description .
?s aistlsarc:sequence ?sequence .
?s aistlsarc:length ?len .
?s aistlsarc:taxon ?taxon .
FILTER (?len <= 100 && ?len >= 50) .
FILTER regex(str(?taxon), "Homo sapiens", "i") .
FILTER regex(str(?description), "miRNA", "i") .
} LIMIT 25

2. SEVENSSEVENS に対する SPARQL 検索例を以下に示します。
取得するもの・ SEVENS ID、ファミリー名、配列
検索条件
・ 配列長が 300 残基以上 600 残基以下・ 生物種が”homo sapiens”
・ 生物種名は大文字小文字の区別をつけない・ ファミリー名にキーワード”adrenergic”が含まれる
・ キーワードは大文字小文字の区別をつけない
・ 取得するエントリは最大で 20 エントリ
この条件を満たす SPARQL 検索文例は以下となります。

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX aistlsarc: <http://www.molprof.jp/ontologies/aistlsarc.owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT ?id ?family ?sequence
WHERE {?s rdfs:label ?id .
?s aistlsarc:sequence ?sequence .
?s aistlsarc:length ?len .
?s aistlsarc:family ?family .
?s aistlsarc:taxon ?taxon .
FILTER (?len <= 600 && ?len >= 300) .
FILTER regex(str(?taxon), "Homo sapiens", "i") .
FILTER regex(str(?family), "adrenergic", "i") .
} LIMIT 20

3. UNIPROTUNIPROT に対する SPARQL 検索例を以下に示します。
取得するもの・ UNIPROT ID、アノテーション、配列
検索条件
・ アノテーションにキーワード”DNA helicase”が含まれる
・ キーワードは大文字小文字の区別をつけない
・ 取得するエントリは最大で 30 エントリ
この条件を満たす SPARQL 検索文例は以下となります。

PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX aistlsarc: <http://www.molprof.jp/ontologies/aistlsarc.owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX core: <http://purl.uniprot.org/core/>
SELECT ?id ?description ?sequence
WHERE {?s core:mnemonic ?id .
?s core:sequence ?seq .
FILTER regex(str(?seq), str(substr(str(?s), strlen(str(?s))-6, 6))) .
?seq rdf:value ?sequence .
?s core:annotation ?anno .
?anno a core:Function_Annotation ;rdfs:comment ?description .
FILTER regex(str(?description), "DNA helicase", "i") .
} LIMIT 30

4. PDBPDB に対する SPARQL 検索例を以下に示します。
取得するもの・ PDB code + chain identifier、アノテーション、配列
検索条件
・ 生物種は”Saccharomyces cerevisiae”
・ 生物種名は大文字小文字の区別をつけない・ 解像度は 3.0 以下
・ 配列長は 100 残基以上 500 残基未満
・ 取得するエントリは最大で 100 エントリ
この条件を満たす SPARQL 検索文例は以下となります。

PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX PDBx:<http://pdbml.pdb.org/schema/pdbx-v40.xsd>
PREFIX PDBo:<http://rdf.wwpdb.org/schema/pdbx-v40.owl#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT (CONCAT(?id, ?chain) AS ?code) ?desc ?seq
WHERE {?s PDBo:has_atom_sitesCategory ?sitesCa .
?sitesCa PDBo:has_atom_sites ?atomSites .
?atomSites PDBo:atom_sites.entry_id ?id .
?s PDBo:has_entityCategory ?entryCa .
?entryCa PDBo:has_entity ?entry .
?entry PDBo:entity.pdbx_description ?desc .
?entry PDBo:referenced_by_entity_src_gen ?entrySrc .
?entrySrc PDBo:entity_src_gen.pdbx_gene_src_scientific_name ?species .
FILTER regex(?species, "Saccharomyces cerevisiae", "i") .
?entry PDBo:referenced_by_entity_poly ?entryPo .
?entryPo PDBo:entity_poly.pdbx_seq_one_letter_code_can ?seq .
FILTER (STRLEN(?seq) < 500 && STRLEN(?seq) > 100) .
?entryPo PDBo:entity_poly.pdbx_strand_id ?chain .
?s PDBo:has_refine_ls_shellCategory ?resoCa .
?resoCa PDBo:has_refine_ls_shell ?reso .
?reso PDBo:refine_ls_shell.d_res_high ?highReso .
FILTER (STRLEN(?highReso) <= 3.0) .
} LIMIT 100

5. KEGG Pathway
KEGG Pathway に対する SPARQL 検索例を以下に示します。
取得するもの・ Pathway 名、アノテーション、URL
検索条件
・ アノテーションにキーワード”TCA”が含まれるもの
・ キーワードは大文字小文字を問わない
・ 取得するエントリは最大で 100 エントリ
この条件を満たす SPARQL 検索文例は以下となります。

PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX psys:<http://proton.semanticweb.org/protonsys#>
PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX pext:<http://proton.semanticweb.org/protonext#>
SELECT DISTINCT ?pathway ?description ?url
WHERE {?pathway ?p <http://bio2rdf.org/ns/kegg#Pathway> .
?pathway rdfs:label ?description .
FILTER (regex(?description, "tca", "i"))?pathway ?pp ?url .
FILTER (?pp = <http://bio2rdf.org/ns/bio2rdf#url>)} LIMIT 100