首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查询Data.gov

如何查询Data.gov
EN

Stack Overflow用户
提问于 2016-04-23 22:57:00
回答 1查看 172关注 0票数 2

这个周末,我试图自学如何对数据源运行API查询,在本例中为data.gov。起初,我认为我应该使用一个简单的SQL变体,但在这种情况下,我似乎必须使用SPARQL。

我已经通读了文档,下载了Twinkle,但似乎不太能让它运行。下面是我正在运行的一个查询的示例。我基本上是在找科罗拉多州丹佛市附近所有空置的加油站。

代码语言:javascript
复制
PREFIX station: https://api.data.gov/nrel/alt-fuel-stations/v1/nearest.json?api_key=???location=Denver+CO

SELECT *
WHERE
 { ?x station:network ?network like "null"
}

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-04-24 00:25:05

SPARQL是一种用于RDF三元组的图形模式语言。一个查询由一组“基本图形模式”组成,这些“基本图形模式”由<subject><predicate><object>形式的三元模式描述。RDF使用URI定义主语和谓语,宾语可以是URI(对象属性)或文字(数据类型或语言标记属性)。因此,查询中的每个三元组模式必须具有三个实体。

由于我们没有您的数据的任何示例,因此我将提供一种方法来稍微探索一下数据。让我们假设您的前缀是正确定义的,我对此表示怀疑-它不是REST API URL,而是实体本身的URI。然后,您可以尝试执行以下操作:

代码语言:javascript
复制
PREFIX station: <http://api.data.gov/nrel...>
SELECT *
WHERE
{  ?s station:network ?network .
}

...setting前缀以正确表示network的命名空间。然后查看?network的绑定,了解它们如何表示null。假设它是一个字符串,如您所示。然后,查询将如下所示:

代码语言:javascript
复制
PREFIX station: <http://api.data.gov/nrel...>
SELECT ?s
WHERE
{  ?s station:network "null" .
}

SPARQL中没有like,但是您可以通过regex或SPARQL的其他字符串匹配特性来使用FILTER子句。

还有,请,请搜索"SPARQL“和"RDF”。这里有很多关于SPARQL的信息,W3C's SPARQL 1.1 Query Language Recommendation是一个全面的源代码,有很多很好的例子。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36812370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档