具有DISTINCT的Sparql CONSTRUCT

时间:2019-03-20 17:20:13

标签: sparql distinct

PREFIX content: <http://example.com/content#>
construct { ?s content:field ?o}
WHERE { ?s content:field ?o }

我到这里的所有?o中有90%是相同的URI <http://example.com/name>

我试图找到一种方法来过滤所有?o具有相同值的四边形,因此最后我得到了由?o唯一的四边形的列表

我尝试了DISTINCT ?o CONSTRUCT{...},但从我的见识中,您无法在DISTINCT上使用CONSTRUCT

如何过滤返回的四边形列表

1 个答案:

答案 0 :(得分:1)

  

我正在尝试寻找一种方法来过滤出所有具有相同特征的四边形   ?o的值,因此最后我得到了一个四边形列表,这些四边形由   其?o

如果绑定到?s的确切值无关紧要,则使用group by ?o进行子选择是可行的方法。使用(SAMPLE(?s) as ?subj),例如就像是: `

PREFIX content: <http://example.com/content#>
construct { ?s content:field ?o}
WHERE { 
    { select ?o (SAMPLE(?subj) as ?s) 
        { ?subj content:field ?o } 
    group by ?o 
    } 
}

`