Sparql 基于部分名称匹配检索Wikidata ID候选项

Sparql 基于部分名称匹配检索Wikidata ID候选项,sparql,wikidata,sparqlwrapper,Sparql,Wikidata,Sparqlwrapper,我有一些特定语言的实体,我正在尝试从Wikidata中检索与这些名称匹配的可能ID 例如,我有一些德语名字,比如“Ministerium für Auswärtige Angelegenheiten”,我可以得到与该名字对应的前N个候选ID,如下所示: SELECT ?item

我有一些特定语言的实体,我正在尝试从Wikidata中检索与这些名称匹配的可能ID

例如,我有一些德语名字,比如“Ministerium für Auswärtige Angelegenheiten”,我可以得到与该名字对应的前N个候选ID,如下所示:

SELECT ?item                                                                                                                                                                                                                                                                                                          
    WHERE                                                                                                                                                                                                                                                                                                
    {                                                                                                                                                                                                                                                                                                    
        ?item rdfs:label "Ministerium für Auswärtige Angelegenheiten"@de                                                                                                                                                                                                                                     
    }                                                                                                                                                                                                                                                                                                    
    LIMIT 2 
这将给我2个候选ID

我遇到的问题是,如果我有一个包含一些屈折变化的名称,那么数据库中就不会有完全匹配的名称,也不会返回任何内容

即使在当前名为“Ministerium für Auswärtige Angelegenheiten”的示例中,如果删除“für”一词,也不会返回任何结果

是否有一种方法可以使搜索更加灵活,并返回与查询最接近的结果,即使这些结果不正确


另外,我是通过Python实现的,使用SPARQLWrapper,而不是使用WQS SPARQL服务IIANM


对于类似的用例,使用全文搜索引擎可能是可行的。看一看,返回一些相关结果。

如果没有“fuer”,即“Ministerium Auswärtige Angelegenheiten”,它将不起作用。你为什么这么认为?我最初在回答中使用了一个错误的URL,但即使没有“für”,我也对它进行了测试,结果似乎很好。我想这可能就是我正在寻找的。我假设我可以通过一些Python包装器使用这个API。好了,现在它可以工作了@这是一个简单的HTTP请求。实际上,您也可以通过服务调用SPARQL中的服务clause@Porjaz:是的,这是一个简单的HTTP GET请求,但请注意,您需要使用(如框中所示),我包含的链接指向交互式沙盒。