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/

10-13 02:41