PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX drugbank: <http://www4.wiwiss.fu-berlin.de/drugbank/resource/drugbank/>
SELECT ?Drug ?IntDrug ?IntEffect
WHERE {
?Int drugbank:interactionDrug1 ?Drug .
?Int drugbank:interactionDrug2 ?IntDrug .
?Int drugbank:text ?IntEffect .
}
我正在端点
linkedlifedata.com/sparql
上运行此查询。如何修改它以获得2种特定药物(药物名称)而不是所有药物组合的结果。 最佳答案
要在SPARQL查询中查询特定的RDF资源,只需将资源的标识添加到查询中。您可以使用<...>
尖括号或prefix:name
格式命名资源。我从您的查询结果中挑选了一些药物资源:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX drugbank: <http://www4.wiwiss.fu-berlin.de/drugbank/resource/drugbank/>
PREFIX drugbank-drug: <http://www4.wiwiss.fu-berlin.de/drugbank/resource/drugs/>
SELECT ?IntEffect
WHERE {
?Int drugbank:interactionDrug1 drugbank-drug:DB01203 .
?Int drugbank:interactionDrug2
<http://www4.wiwiss.fu-berlin.de/drugbank/resource/drugs/DB00414> .
?Int drugbank:text ?IntEffect .
}
此查询将仅列出这两种药物的所有相互作用。在这种情况下,这仅仅是一种交互。
关于java - sparql查询药物相互作用小错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13557190/