Sparql 如何查询Data.gov

Sparql 如何查询Data.gov,sparql,Sparql,本周末,我试图自学如何对data.gov中的数据源运行API查询。起初我认为我应该使用一个简单的SQL变体,但在本例中,我似乎必须使用SPARQL 我已经通读了文档,下载了Twinkle,但似乎无法让它运行。下面是我正在运行的一个查询示例。我基本上是想找到科罗拉多州丹佛市附近所有的加油站 PREFIX station: https://api.data.gov/nrel/alt-fuel-stations/v1/nearest.json?api_key=???location=Denver+CO

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

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

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"
}

非常感谢您的帮助。

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

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

PREFIX station: <http://api.data.gov/nrel...>
SELECT *
WHERE
{  ?s station:network ?network .
}
SPARQL中没有
like
,但是可以使用
regex
或SPARQL的其他字符串匹配功能使用
FILTER
子句


请,请,请谷歌“SPARQL”和“RDF”。有很多关于SPARQL的信息,它是一个综合性的源代码,有很多很好的例子。

?x station:network?像“null”这样的网络不是合法的SPARQL。您可能需要类似于
?x station:network?network的东西。过滤器包含(?network,“null”)
,如果您希望?network是一个包含“null”的字符串。我不在家,但回来后会尝试。谢谢
PREFIX station: <http://api.data.gov/nrel...>
SELECT ?s
WHERE
{  ?s station:network "null" .
}