2017-07-06 123 views
1

我不知道如何比較不同標籤而不考慮重音。SPARQL中字符串匹配時如何忽略重音字符

下一個查詢不會返回該地點,因爲「Ibáñez」在西班牙語DBpedia中有重音符,但它在我的數據源中有不同的重音符號。

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> 

SELECT DISTINCT ?iri 

WHERE { 

    ?iri rdfs:label ?label . 
    ?label bif:contains "'Blasco Ibañez'" . 

    ?iri ?location ?city . 
    FILTER (?location = <http://dbpedia.org/ontology/location> || <http://dbpedia.org/ontology/wikiPageWikiLink>) . 
    ?city bif:contains "valencia" 

} LIMIT 100 

有沒有辦法不考慮口音?

+1

[試試這個查詢](HTTPS ://dbpedia.org/sparql默認圖形-URI = HTTP%3A%2F%2Fdbpedia.org&查詢= SELECT DISTINCT + +%3Firi%0D%0AWHERE + {%0D 0A%++%3Firi + RDFS%3Alabel +%3Flabel +%0D。 %0A ++%3Flabel ++ BIF%3Acontains ++ 「 '布拉斯科+ Ibanez的'」 +。%0D%0A%0D%0A ++%3Firi +%3Flocation +%3Fcity +。%0D%0A ++ FILTER +(%3Flocation +%3D + + || ++ )+。%0D 0A%++%3Fcity + BIF%3Acontains +「VA lencia「+} +極限+ 100)。另見[本文](http://docs.openlinksw.com/virtuoso/virtuosotipsandtrickscontrolunicode3/)。 –

+0

您的查詢和我的查詢是一樣的。我找不到兩者之間的區別。無論如何,我想要的特定DBpedia數據頁面只有在spannish版本中http://es.dbpedia.org/sparql –

+0

在dbpedia.org上,您的查詢不會返回任何內容,我的查詢返回3個結果。在es.dbpedia.org上,[this query](http://es.dbpedia.org/sparql?default-graph-uri=&query=SELECT+DISTINCT+%3Firi%0D%0A%0D%0AWHERE+ {%0D%0A %0D%0A ++%3Firi + RDFS%3Alabel +%3Flabel +。%0D%0A ++%3Flabel ++ BIF%3Acontains ++ 「 '布拉斯科+伊瓦涅斯'」 +。%0D%0A%0D%0A ++%3Firi +%3Flocation +%3Fcity +。%0D %0A ++ FILTER +(%3Flocation +%3D + + || ++ )+。%0D %0A ++%3Fcity + bif%3Acontains +「valencia」+%0D%0A} + limit + 100)返回4個結果 –

回答

1

問題是current configuration of the Spanish DBpedia endpoint。 (您可能會發現the query I used to check their configuration有趣。)

他們virtuoso.ini必須進行調整,以包括 -

[I18N] 
XAnyNormalization=3 

- 由article about "normalization of UNICODE3 accented chars in free-text index and queries"documentation of the INI file描述,並進一步討論,因爲在評論中引用@ StanislavKralin。

(注 - 在撰寫本文時,有一個在文檔錯字;關於 「WideFileNames = 1/2/3/0」 應該說這是對 「XAnyNormalization = 1/2/3/0」 一節)

相關問題