2016-02-05 71 views
1

我有一個查詢來獲取特定實例的一些類似實例,即owbes:Dies_Irae實例。這是查詢:如何從SPARQL查詢結果中排除一個實例

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 . 

你看,最後一個實例是,我想排除

+0

**「我也試着檢查它們是否都具有相同的rdf:about,但它不起作用。」**我認爲您可能誤解了RDF/XML序列化中的** rdf:about **手段。這不是一個財產。這只是XML序列化用於識別所描述的IRI的幾種可能方式之一。您可能會發現http://stackoverflow.com/questions/7118326/differences-between-rdfresource-rdfabout-and-rdfid有幫助,以及http://stackoverflow.com/questions/34446778/sparql-query-using-rdfid - 返回 - 無結果。 –

回答

2
FILTER (?recmmendable0 != owbes:Dies_Irae) 

一個你沒有在正確拼寫recommendable0您過濾。由於該變量在其他地方沒有使用,因此它永遠不會有值,因此篩選器沒有任何可比較的值。

+0

謝謝,我一直都是英文小姐。 –

+0

請問我可以怎樣查詢我從constract查詢中得到的圖表?我需要對constract圖的結果進行聚合 –

+0

這是一個不同的問題,所以請打開一個新的問題。作爲一個簡短提示:您將不得不在CONSTRUCT查詢的where部分內使用子SELECT + BIND。您不能嵌套CONSTRUCT查詢。 – AKSW