1

我正在编写一个 sparql 查询来搜索以下内容rdfxml

<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:bqbiol="http://biomodels.net/biology-qualifiers/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <rdf:Description rdf:about="PhysicalEntity0001">
    <bqbiol:is rdf:resource="https://identifiers.org/uniprot/PD12345"/>
    <bqbiol:isPartOf rdf:resource="https://identifiers.org/fma/fma:1234"/>
  </rdf:Description>
  <rdf:Description rdf:about="SemsimMetaid0000">
    <bqbiol:isPropertyOf rdf:resource="PhysicalEntity0001"/>
    <bqbiol:isVersionOf rdf:resource="https://identifiers.org/opb/opb_1234"/>
  </rdf:Description>
</rdf:RDF>

这个查询:

                "SELECT ?subject ?predicate ?resource\n"
                "WHERE { \n"
                "   ?subject ?predicate ?resource .\n"
                "}";

按我的预期工作并产生:

subject,predicate,resource
SemsimMetaid0000,http://biomodels.net/biology-qualifiers/isPropertyOf,PhysicalEntity0000
PhysicalEntity0000,http://biomodels.net/biology-qualifiers/is,https://identifiers.org/uniprot/PD12345
PhysicalEntity0000,http://biomodels.net/biology-qualifiers/isPartOf,https://identifiers.org/fma/fma:1234

当格式化为csv. 然而这:

                "SELECT ?predicate ?resource\n"
                "WHERE { \n"
                "   <SemsimMetaid0000> ?predicate ?resource .\n"
                "}";

作为一个空的结果集出现。谁能告诉我为什么?

笔记:

  • 我正在使用一个C调用rasqal来执行查询的库,而 rdf 图是raptor(如果这对你们中的任何人都意味着什么=])
  • 所有节点都是 URI / IRI 节点,因此尝试"SemsimMetaid0000"也不起作用。
  • 在搜索 rdf 图时没有基本 uri。序列化需要基本 uri,rdfxml但在搜索图形时,我还没有设置基本 uri。
4

0 回答 0