如何从 SPARQL 查询结果中排除一个实例
how to exclude one instance from SPARQL query result
我有一个查询要为特定实例获取一些相似实例,即 owbes:Dies_Irae
实例。这是查询:
CONSTRUCT { ?recommendable0 ?predicate0 ?similarity0 } WHERE {
?recommendable0 ?predicate0 ?object0.
owbes:Dies_Irae ?predicate0 ?object0.
?predicate0 owbes:hasSimilarityValue ?similarity0.
?recommendable0 rdf:type ?someType.
?someType rdfs:subClassOf owbes:Recommendable.
}
它工作正常,我得到了我应该得到的结果。但是,我也得到了相同的实例 owbes:Dies_Irae
。有没有办法将其从结果中排除?
嗯,我确定有。我试图搜索,我发现有一个过滤器,我尝试使用它,但没有成功。这是我应用的过滤器 FILTER (?recmmendable0 != owbes:Dies_Irae)
我也尝试检查它们是否具有相同的 rdf:about
但它没有用。
结果如下:
<http://www.welovethesemanticweb.com/recommendation-systems#Requiem:_Sequentia>
recommendation-systems:hasArtist
"0.4"^^xsd:double .
recommendation-systems:Le_nozze_di_Figaro
recommendation-systems:hasArtist
"0.4"^^xsd:double .
recommendation-systems:Dies_Irae
recommendation-systems:hasArtist
"0.4"^^xsd:double .
如您所见,我要排除的是最后一个实例
FILTER (?recmmendable0 != owbes:Dies_Irae)
您没有在过滤器中正确拼写 recommendable0
。由于该变量未在其他任何地方使用,因此它永远没有值,因此 filter 没有任何可比较的东西。
我有一个查询要为特定实例获取一些相似实例,即 owbes:Dies_Irae
实例。这是查询:
CONSTRUCT { ?recommendable0 ?predicate0 ?similarity0 } WHERE {
?recommendable0 ?predicate0 ?object0.
owbes:Dies_Irae ?predicate0 ?object0.
?predicate0 owbes:hasSimilarityValue ?similarity0.
?recommendable0 rdf:type ?someType.
?someType rdfs:subClassOf owbes:Recommendable.
}
它工作正常,我得到了我应该得到的结果。但是,我也得到了相同的实例 owbes:Dies_Irae
。有没有办法将其从结果中排除?
嗯,我确定有。我试图搜索,我发现有一个过滤器,我尝试使用它,但没有成功。这是我应用的过滤器 FILTER (?recmmendable0 != owbes:Dies_Irae)
我也尝试检查它们是否具有相同的 rdf:about
但它没有用。
结果如下:
<http://www.welovethesemanticweb.com/recommendation-systems#Requiem:_Sequentia>
recommendation-systems:hasArtist
"0.4"^^xsd:double .
recommendation-systems:Le_nozze_di_Figaro
recommendation-systems:hasArtist
"0.4"^^xsd:double .
recommendation-systems:Dies_Irae
recommendation-systems:hasArtist
"0.4"^^xsd:double .
如您所见,我要排除的是最后一个实例
FILTER (?recmmendable0 != owbes:Dies_Irae)
您没有在过滤器中正确拼写 recommendable0
。由于该变量未在其他任何地方使用,因此它永远没有值,因此 filter 没有任何可比较的东西。