标签: sparqlwrapper

如何查询维基数据中的“也称为”

我想知道如何使用别名(“也称为”)查询维基数据

现在我正在尝试

SELECT ?item
WHERE
{
?item rdfs:aliases ?alias.
FILTER(CONTAINS(?alias, "Angela Kasner"@en))
}
LIMIT 5
Run Code Online (Sandbox Code Playgroud)

如果我替换rdfs:aliases为,这只是一个有效的查询rdfs:labels

我正在尝试这个,因为 Help: Aliases 说别名可以像标签一样搜索,但我找不到任何其他资源,也找不到示例。

alias rdfs sparql wikidata sparqlwrapper

9
推荐指数
1
解决办法
2298
查看次数

ValueError:运行查询时无效的\ escape

我试图在Python(v3.3)中使用SPARQLWrapper查询DBpedia.这是我的查询:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?slot WHERE {
  <http://dbpedia.org/resource/Week> <http://www.w3.org/2002/07/owl#sameAs> ?slot
}
Run Code Online (Sandbox Code Playgroud)

它会导致SPARQLWrapper包出错:

ValueError:无效\转义:第118行第74列(字符11126)

码:

query = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?slot WHERE{{ {subject} {predicate} {object} }} "

query = query.format(subject=subject, predicate=predicate, object= objectfield)
        self.sparql.setQuery(query)

        self.sparql.setReturnFormat(JSON)


    results = self.sparql.query().convert() # Error thrown at this line 
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "getUriLiteralAgainstPredicate.py", line 84, in <module>
    sys.exit(main())
  File "getUriLiteralAgainstPredicate.py", line 61, in main
    entity,predicateURI,result = p.getObject(dataAtURI,predicates, each["entity"])
  File "getUriLiteralAgainstPredicate.py", line 30, in getObject
    result = self.run_sparql("<"+subjectURI+">","<"+predicateURI+">","?slot")
  File "getUriLiteralAgainstPredicate.py", line …
Run Code Online (Sandbox Code Playgroud)

python sparql dbpedia sparqlwrapper

4
推荐指数
1
解决办法
4381
查看次数

如何使用 SPARQL 从 Wikidata 获取属性标签

我正在使用 SPARQLWrapper 将 SPARQL 查询发送到 Wikidata。目前我正在尝试查找实体的所有属性。例如。使用一个简单的元组,例如:wd:Q11663 ?a ?b. 这本身就有效,但我正在尝试为返回的属性和实体找到人类可读的标签。

尽管SERVICE wikibase:label可以使用 Wikidata 的 GUI 界面工作,但这不适用于 SPARQLWrapper - 它坚持为变量及其“标签”返回相同的值。

查询属性rdfs:label适用于实体 (?b),但此方法不适用于属性 (?a)。

看起来该属性正在作为完整的 URI 返回,例如http://www.wikidata.org/prop/direct/P1536. 使用 GUI 我可以成功查询wd:P1536 ?a ?b.. 如果我将它作为第二个查询发送 - 但不是在第一个查询中,这适用于 SPARQLWrapper。

这是我的代码:

from SPARQLWrapper import SPARQLWrapper, JSON

sparql = SPARQLWrapper("http://query.wikidata.org/sparql")

sparql.setQuery("""
  SELECT ?a ?aLabel ?propLabel ?b ?bLabel
  WHERE
  {
    wd:Q11663 ?a ?b.

    # Doesn't work with SPARQLWrapper
    #SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
    #?prop wikibase:directClaim ?p

    # but …
Run Code Online (Sandbox Code Playgroud)

sparql wikidata sparqlwrapper

3
推荐指数
1
解决办法
1908
查看次数

如何使用 SPARQLWrapper 处理 Wikidata 上的“过多请求”?

我正在遍历users大约 1000 个条目的列表,如下所示:

def wikidata_user_lookup(id_str):
    q = f'''
        SELECT ?item ?itemLabel ?kind ?kindLabel
        WHERE 
        {{
            ?item p:P2002 ?twitter .
            ?item wdt:P31 ?kind .
            ?twitter pq:P6552 "{id_str}" .
            SERVICE wikibase:label {{ bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }}
        }}
    '''
    sparql.setQuery(q)
    sparql.setReturnFormat(JSON)
    results = sparql.query().convert()
    results_df = pd.io.json.json_normalize(results['results']['bindings'])
    return results_df

for user in users:
    res = wikidata_user_lookup(user)
Run Code Online (Sandbox Code Playgroud)

所以我提交了大约 1000 个查询,一个接一个。据我所知,我没有并行运行多个查询,所以不应该允许这样做吗?我得到HTTPError: HTTP Error 429: Too Many Requests. 处理这种情况的正确方法是什么?

python sparql wikidata sparqlwrapper

1
推荐指数
1
解决办法
521
查看次数

Sparql查询不好形成

我正在尝试基于属性列表构建一个sparql查询,但是我得到一个错误,说明查询结果不好.问题是我不知道该怎么做才能修复它.

这是功能:

def create_query(dbpedia_uri, props):
    #props are something like this ('dbpedia-owl', 'birthdate')
    filters = ''

    for prop in QUERIES_DICT[ename]:
        filters += ' OPTIONAL { ?x %s:%s ?%s. } \n' % (corresp_dict[prop[0]], prop[1], prop[1])

    query = u"""
        SELECT * WHERE {
.          <%s>.
          ?x dbpedia-owl:abstract ?abstract.
          %s
          FILTER (LANG(?abstract) = 'en')
        }
    """ % (dbpedia_uri, filters)

    return query
Run Code Online (Sandbox Code Playgroud)

这是我得到的查询:

u"\n        SELECT * WHERE { <http://dbpedia.org/resource/Tim_Cook>\n          ?x dbpedia-owl:abstract ?abstract.\n          OPTIONAL { ?x dbpedia-owl:birthDate ?birthDate. }\n OPTIONAL { ?x dbpedia-owl:birthPlace ?birthPlace. }\n OPTIONAL …
Run Code Online (Sandbox Code Playgroud)

python sparql sparqlwrapper

0
推荐指数
1
解决办法
190
查看次数

如何使用dbPedia递归提取子类别中的所有文章?

我需要提取位于给定类别(例如,历史)的不同嵌套子类别中的文章(例如,摘要、缩略图)的信息。我怎样才能使用 SPARQL 查询做到这一点?或者使用几个 SPARQL 子查询在 python 上执行此操作的最佳方法是什么?

wikipedia sparql dbpedia sparqlwrapper

-1
推荐指数
1
解决办法
473
查看次数

标签 统计

sparql ×6

sparqlwrapper ×6

python ×3

wikidata ×3

dbpedia ×2

alias ×1

rdfs ×1

wikipedia ×1