小编And*_*ndy的帖子

如何使用维基数据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
查看次数

Wikidata + SPARQL:根据股票代码查找公司

我正在尝试使用sparql查找基于其股票代码的公司。

此查询将列出企业及其代码(基本查询)

SELECT DISTINCT ?id ?idLabel ?ticker
WHERE {
    ?id wdt:P31/wdt:P279* wd:Q4830453 .
    ?id wdt:P249 ?ticker .
    ?id rdfs:label ?idLabel 
    FILTER(LANG(?idLabel) = 'en').
}
Run Code Online (Sandbox Code Playgroud)

但是,不包括IBM,因为IBM已将其股票代码放置在P414属性(证券交易所)的“内部”。

https://www.wikidata.org/wiki/Q37156

如何扩大此列表的范围,使其包括“内部”带有P414和P249代码的公司?

这是我可以显示不包括ibm的方法:

SELECT DISTINCT ?id ?idLabel ?exchange ?ticker2
WHERE {
    ?id wdt:P31/wdt:P279* wd:Q4830453 .
    ?id wdt:P249 ?ticker . FILTER(LCASE(STR(?ticker)) = 'ibm') .
    ?id rdfs:label ?idLabel 
    FILTER(LANG(?idLabel) = 'en').
}
Run Code Online (Sandbox Code Playgroud)

sparql wikidata

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

野田时代与远古时代

我正在使用 WikiPedia 中的一些值,这些值在某些情况下是数百万年前的(例如月球的形成,WikiData 报告其正在形成:“-4527000000-01-01T00:00:00Z”。在其他情况下,我'我只是看看可能是公元前 10000 年等的年份,仍然表示为“-10000-01-01T00:00:00Z”。

据我所知,测试 NodaTime 并阅读文档,不支持这些古老的年份(或者我忽略了一些东西)。例如,这失败了:

OffsetDateTime defaultValue = new OffsetDateTime(new LocalDateTime(77, 1, 1, 0, 0), Offset.Zero);
var pattern = OffsetDateTimePattern.Create("yyyy-MM-ddTHH:mm:ss'Z'", CultureInfo.InvariantCulture, defaultValue);
string P = "-1000-01-25T20:34:25Z";
var result = pattern.Parse(P);

NodaTime.Text.UnparsableValueException: The value string includes a negative value where only a non-negative one is allowed. Value being parsed: '^-1000-01-25T20:34:25Z'. (^ indicates error position.)
   at NodaTime.Text.ParseResult`1.GetValueOrThrow() in C:\Users\jon\Test\Projects\nodatime\build\releasebuild\src\NodaTime\Text\ParseResult.cs:line 81
   at TryNodaTime.Program.Main(String[] args
Run Code Online (Sandbox Code Playgroud)

顺便说一句,使用 sing 这个字符串可以正常工作: string P = "1000-01-25T20:34:25Z";

我希望我只是忽略了一些明显的处理非常大的旧日期/年份的事情。其他例子包括老城市顺便说一句,它们的确切日期早在 0 年之前。

关于如何处理这些问题的指导将不胜感激。

编辑:发现这个例子,它要求我首先手动检测年份,如果它是负数,然后使用 LocalDate,但是,这里没有解决更大的问题,因为它在 -9999 以下失败: …

c# nodatime

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

标签 统计

sparql ×2

wikidata ×2

c# ×1

nodatime ×1