GraphDB Lucene连接器-索引URI时出现大写问题

pdtvr36n  于 2022-11-07  发布在  Lucene
关注(0)|答案(1)|浏览(167)

当一个URI被索引时,GraphDB Lucene连接器似乎有一个奇怪的行为(可能是因为使用了$self准属性,也可能是因为属性链指向了一个URI)。

  • URI中的大写字母必须在查询文本中转义(即查询文本必须是“*\Merlo”,而不是提供的wine示例here中的“*Merlo”)
  • 无法从URI中提取代码段

有什么办法可以克服吗?

py49o6xq

py49o6xq1#

Lucene连接器将URI视为非分析字段,即作为一个字符串块,其标记不是单词,也没有标记化或作为单词进行分析。其逻辑是URI是标识符,它们只有在其整体上才有意义。URI不包含文本,即使它们有时对人们有意义。这也意味着普通的全文查询将无法在此类字段上工作。也不能提取任何片段。它们可以被搜索,但由于不是全文,它们可能会出现意外行为。
在您的特定示例中,对于“*Merlo”这样的查询,Lucene将通过分析器运行查询,以便能够匹配分析的字段(即通常用于全文搜索的字段)。通过转义大写字母,您可以防止分析器将其规范化为小写的m,并且您可以获得匹配。
如果您需要完全匹配,也可以这样做(注意,不需要转义大写字母):

PREFIX : <http://www.ontotext.com/connectors/lucene#>
PREFIX inst: <http://www.ontotext.com/connectors/lucene/instance#>
SELECT * {
    ?search a inst:my_index ;
            # Surround with double quotes to force an exact match
            :query "\"http://www.ontotext.com/example/wine#Merlo\"" ;
            :entities ?entity .
}

相关问题