我正在寻找一种简单的方法从一个概念的所有关系中获取关系。例如: 您搜索名称为“Abc”的概念。它与其他对象有某些关系,如“D”,“Ef”,“Ghi”。结果看起来像:UNION与sparql的子查询
------------------------------------------------------------------------------- | concept | relation | value | ===================================== | uri:Abc | skos:narrower | uri:D | | uri:Abc | skos:narrower | uri:Ef | | uri:Abc | skos:broader | uri:Ghi | -------------------------------------
所以现在你知道“Abc”的关系。如果你想知道与“Abc”关系的关系,你可以使用子选择。如下面的查询。但是我想要的是这两个结果。我会知道“Abc”的关系,还有“D”,“Ef”,“Ghi”的关系。
SELECT (?v1 as ?concept) ?relation ?value WHERE
{
?v1 ?relation ?value .
{
SELECT ?c1 ?r1 ?v1 WHERE
{
?c1 rdf:label "Abc" .
?c1 ?r1 ?v1 .
}
}
}
这是我当前的查询。在制作过程中,我使用了一个过滤器,但是对于这个例子来说并不是必需的。
你想要多少列?你想把“二级”关系作为附加列吗? – 2014-12-02 22:30:30
我想要3列。因为我想用深度。应该有可能得到关系关系的关系..等 – 2014-12-03 09:31:44