在 python 中的 SPARQLwrapper 中使用 Levenstein 距离

问题描述

我很想知道是否有任何方法可以在 SPARQL 查询中使用 Levenstein 距离。假设我只想选择 Levenstein 距离

def distance(s,t):
m,n = len(s),len(t)
d = [range(n + 1)]
d += [[i] for i in range(1,m + 1)]
for i in range(0,m):
    for j in range(0,n):
        cost = 1
        if s[i] == t[j]: cost = 0
        d[i + 1].append(min(d[i][j + 1] + 1,# deletion
                            d[i + 1][j] + 1,# insertion
                            d[i][j] + cost)  # substitution
                        )
return d[m][n]

def search_based_candidate(mention):
sparql = SPARQLWrapper("http://dbpedia.org/sparql")
sparql.setQuery("""
            PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
            SELECT disTINCT ?candidate where {
             ?candidate rdfs:label ?itemLabel
              FILTER (LANG(?itemLabel)= 'en')
              FILTER (str("""+distance+""""(str(itemLabel),"""+mention+""")) < 3)
    
            }
         """)
sparql.setReturnFormat(JSON)
try:
    candidates = sparql.query().convert()
except:
    candidates = "no result"

return candidates

那么我如何在 sparqlwrapper 中连接自定义函数

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...