SPARQL QUERY什么都没给

时间:2013-07-25 11:19:10

标签: sparql

我有两个名为<http://localhost:5822/fub>&amp;的图表。 <http://localhost:5822/fub_byrn>。 两个图都包含MetaphoneCode。 我想得到Metaphone的结果,两个图中都有相同的MetaphoneCode。 执行此查询后,我没有结果。 需要帮助和建议。

SELECT ?MetaPhone 
WHERE
{
  GRAPH <http://localhost:5822/fub>
  { 
    GRAPH ?g {}
    { ?s <http://localhost:2020/vocab/dbo_UniData_MetaPhoneCode> ?MetaPhone . }
  }
  GRAPH <http://localhost:5822/fub_byrn> 
  {
    GRAPH ?g {}
    { ?s <http://localhost:2020/vocab/dbo_FUB_Bayern_MetaPhoneCode> ?MetaPhone . }
  }
}
LIMIT 100

1 个答案:

答案 0 :(得分:0)

以更易读的方式进行格式化时,您的查询是:

select ?MetaPhone where {
  Graph <http://localhost:5822/fub> {
    Graph ?g {
    }
    {
      ?s <http://localhost:2020/vocab/dbo_UniData_MetaPhoneCode> ?MetaPhone;
    }
  }

  Graph <http://localhost:5822/fub_byrn> {
    Graph ?g {
    }
    {
      ?s <http://localhost:2020/vocab/dbo_FUB_Bayern_MetaPhoneCode> ?MetaPhone;
    }
  }
}
LIMIT 100

至少有两个问题:

  1. 除了将graph ?g {}绑定到数据集中的每个图表之外,您的模式?g将不会执行任何操作。目前尚不清楚这应该对任何事情产生负面影响,但很难理解为什么它会有用。

  2. 您在MetaPhoneCode图表和fub图表中使用fub_byrn的其他媒体资源。在fub

    <http://localhost:2020/vocab/dbo_UniData_MetaPhoneCode>
    

    fub_byrn

    <http://localhost:2020/vocab/dbo_FUB_Bayern_MetaPhoneCode>
    

    这些应该是一样的吗?