标签: wikidata

维基数据查询重复项

抱歉,如果我的英语不好,但我真的没有任何地方可以用我的母语问这个问题。我一直在尝试为 Wikidata 创建 SPARQL 查询,该查询应该创建 1925-1950 年间创作的所有恐怖小说、作者姓名以及图片(如果有)的列表:

SELECT DISTINCT ?item ?itemLabel ?author ?name ?creation ?picture
WHERE
{
    ?item wdt:P136 wd:Q193606 . # book
    ?item wdt:P50 ?author .   # author
    ?item wdt:P577 ?creation .
    ?item wdt:P577 ?end .
  ?author rdfs:label ?name .    
  OPTIONAL{ ?item wdt:P18 ?picture }
  FILTER (?creation >= "1925-01-01T00:00:00Z"^^xsd:dateTime) .
  FILTER (?end <= "1950-12-31T23:59:59Z"^^xsd:dateTime) .

SERVICE wikibase:label
{ 
bd:serviceParam wikibase:language "en" .
} 
}
Run Code Online (Sandbox Code Playgroud)

但是,由于某种原因,该查询在列表中放置了重复项。DISTINCT 没有多大作用。一段时间后,我发现原因是“?item rdfs:label ?name .”。如果删除此行,则不会列出重复项。但我需要这一行来在列表中显示作者姓名!有想法该怎么解决这个吗?

sparql wikidata

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

如何获取维基数据项的所有属性值标签?

您如何请求Item具有的所有属性集?

具体来说,我正在寻找每个项目的英文标签,这是项目属性的价值.

例如" 地球 ":

{
    "Challenger Deep",
    "Solar System",
    "oblate spheroid",
    "geoid",
    "World Ocean",
    "Afro-Eurasia",
    ...
}
Run Code Online (Sandbox Code Playgroud)

我现在正在使用维基数据工具包库,但我会提出建议.

java items labels wikidata wikidata-api

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

访问属性的属性

我有以下查询,我在wikidata 查询服务 Web 界面上运行

SELECT ?objectLabel ?mass
WHERE {
  ?object wdt:P397 wd:Q525.  # the object should have the sun as parent astronomical body
  ?object wdt:P31 ?status.
  ?object wdt:P2067 ?mass.

  # Here are the accepted object status
  VALUES ?status {wd:Q128207 wd:Q121750 wd:Q1319599}.  # terrestrial planet, gas giant, ice giant

  # automatically use the english label for ?xLabel variables 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
} 
Run Code Online (Sandbox Code Playgroud)

我发现质量以特定单位给出,在地球的情况下为 yottagram。我怎样才能访问这些信息?

我尝试添加如下内容:

?mass   wdt:P2237 ?mass_unit. …
Run Code Online (Sandbox Code Playgroud)

sparql triplestore triples wikidata

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

我如何知道等效的 DBPedia 和 Wikidata 属性

有人能告诉我如何在维基数据中找到 DBPedia 的同义词属性吗?例如,DBpedia 中的属性“name”在维基数据中是“label”。如何找到所有同义词属性?

rdf dbpedia wikidata

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

如何从维基数据 ID 获取维基百科 pageid?

我想从维基数据id中获取维基百科pageid,我如何从维基数据查询服务或其他使用python的方法中获取它?因为我在 wikidata 中没有看到任何称为 wikipedia id 的属性。

wikipedia wikidata

5
推荐指数
2
解决办法
2939
查看次数

如何使用维基数据SPARQL查询并获取图表的SVG图像的URL

如果我运行此SPARQL查询

#defaultView:BubbleChart
#TEMPLATE={"template":"Overall causes of death ranking of ?thing ","variables":{"?thing": {"query":"SELECT ?id  (COUNT(?id) AS ?count) WHERE {  ?sub wdt:P509 ?y.  ?sub wdt:P31 ?id. } GROUP BY ?id "} } }
SELECT ?cid ?cause (COUNT(*) AS ?count) WHERE {
  BIND(wd:Q5 AS ?thing)
  ?pid wdt:P31 ?thing.
  ?pid wdt:P509 ?cid.
  OPTIONAL {
    ?cid rdfs:label ?cause.
    FILTER((LANG(?cause)) = "en")
  }
}
GROUP BY ?cid ?cause
ORDER BY DESC(?count) ?cause
LIMIT 50
Run Code Online (Sandbox Code Playgroud)

维基数据查询编辑器中,我可以选择使用菜单下载> SVG图像将气泡图下载为SVG文件

生成的SPARQL查询的气泡图

当我以编程方式执行相同的SPARQL脚本时,我正在寻找一种生成或检索此SVG文件的URL的方法.在这种情况下,仅返回原始数据(作为JSON).

{"head":{"vars":["cid","cause","count"]},"results":{"bindings":[{"cid":{"type":"uri","值":" http://www.wikidata.org/entity/Q12152 "},"原因":{"xml:lang":"en","type":"literal","value":"心肌梗塞"},"count":{"datatype":" http://www.w3.org/2001/XMLSchema#integer ","type":"literal","value":"5837"}},{" cid":{"type":"uri","value":" http://www.wikidata.org/entity/Q12192 "},"cause":{"xml:lang":"en","type" …

sparql wikidata

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

Spacy 实体链接模型的训练时间

我正在尝试使用https://github.com/explosion/spaCy/tree/master/bin/wiki_entity_linking 中的脚本,使用 Wikidata 和 Wikipedia 训练 Spacy 实体链接模型。我已经生成了知识库并开始训练模型,但一个多星期后还没有完成。正常应该需要多久?(我没有使用 GPU)

或者,是否有我可以使用的预训练 Wikidata 实体链接模型?

谢谢

python nlp wikidata spacy entity-linking

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

维基数据查询服务 - 获取页面的创建日期

我正在寻找一种方法来获取英语维基百科上的所有电影,以及它们的创建日期。对我来说,电影是附加了 IMDB ID 的页面。所以,这是我到目前为止的查询:

SELECT DISTINCT ?item_label ?imdb_id  (year(?dateCreation) as ?AnneeCreation) WHERE {
      ?item wdt:P345 $imdb_id.
      filter STRSTARTS(?imdb_id,"tt")
  OPTIONAL{
    ?item wdt:P571 ?dateCreation.           
  }

      SERVICE wikibase:label { bd:serviceParam wikibase:language "en".}  
      ?article schema:about ?item ; schema:isPartOf <https://en.wikipedia.org/> ; schema:name ?item_label
    }
Run Code Online (Sandbox Code Playgroud)

问题是大多数页面没有 P571 属性,所以我想知道是否有更好的方法来获取创建日期?也许通过修订历史或其他什么,我找不到这样的选项。

任何帮助将不胜感激!

python imdb sparql wikipedia-api wikidata

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

Jena tdbloader 性能和限制

当尝试按照https://muncca.com/2019/02/14/wikidata-import-in-apache-jena/ 中描述的过程加载获取您自己的 WikiData 副本中记录的当前 Wikidata 转储时我正在运行Apache Jenas tdbloader 命令的一些性能问题和限制。

它似乎有两个版本:

  1. tdbloader2
  2. tdb2.tdbloader

TDB1 tdbloader 的名称 tdbloader2 令人困惑,因此首次尝试使用它。

使用 TDB1/tdbloader2 的经验是,前几十亿个三元组的加载非常顺利。

最初的速度是 150 k 三倍/秒。然后它以大约 90 亿个三元组下降到大约 10 万个三元组/秒。在 100 亿个三元组时,速度在大约 100 亿个三元组时下降到 15000 个三元组/秒,并在向 110 亿个三元组移动时保持在 5000 个三元组/秒左右。

我原以为到那时导入已经完成,所以目前我什至怀疑进度是在计算三元组,而是在计算海龟输入的行,这可能不一样,因为输入有大约 150 亿行,但预计只有大约 110 亿行.

由于此时导入已经运行了 3.5 天,因此我必须决定是否中止它并寻找更好的导入选项,或者只是等待一段时间。

所以我把这个问题放在了stackoverflow上。根据 AndyS 暗示有两个版本的 tdbloader,我在大约 4.5 天后中止了 TDB1 导入,据报道在“数据”阶段导入了超过 110 亿个三元组。那时性能下降到 2.3k 三倍/秒。

使用 tdb2.tdbloader 修改后的脚本,如维基中记录的那样,导入已再次运行多次尝试。两次导入 tdb2.tdbloader 尝试已经失败,导致 Java VM 崩溃,所以我再次将硬件从 MacPro 更改为旧的 linux 机器(不幸的是速度较慢),然后又回来了。

在较旧的 Oracle JVM 在第一次尝试使用 tdb2.tdbloader …

jena wikidata tdbloader

5
推荐指数
0
解决办法
425
查看次数

通过 wbgetentities 搜索标签获取实体 wikidata 的声明

我想知道最简单的方法是通过标签搜索从 wikidata 获取数据,例如:

API_ENDPOINT = "https://www.wikidata.org/w/api.php"
query = "cobalt-70"
params = {
    'action': 'wbsearchentities',
    'format': 'json',
    'language': 'en',
    'type':'item',
    'search': query
}
r = requests.get(API_ENDPOINT, params = params)


Output:

{'searchinfo': {'search': 'cobalt-70'}, 'search': [{'id': 'Q18844865', 'title': 'Q18844865', 'pageid': 20388165, 'repository': 'local', 'url': '//www.wikidata.org/wiki/Q18844865', 'concepturi': 'http://www.wikidata.org/entity/Q18844865', 'label': 'cobalt-70', 'description': 'isotope of cobalt', 'match': {'type': 'label', 'language': 'en', 'text': 'cobalt-70'}}, {'id': 'Q18880148', 'title': 'Q18880148', 'pageid': 20426734, 'repository': 'local', 'url': '//www.wikidata.org/wiki/Q18880148', 'concepturi': 'http://www.wikidata.org/entity/Q18880148', 'label': 'cobalt-70m', 'description': 'isotope of cobalt', 'match': {'type': 'label', 'language': …
Run Code Online (Sandbox Code Playgroud)

api request wikidata wikidata-api

5
推荐指数
0
解决办法
553
查看次数