这个周末,我试图自学如何对数据源运行API查询,在本例中为data.gov。起初,我认为我应该使用一个简单的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"
}任何帮助都将不胜感激。
发布于 2016-04-24 00:25:05
SPARQL是一种用于RDF三元组的图形模式语言。一个查询由一组“基本图形模式”组成,这些“基本图形模式”由<subject>,<predicate>,<object>形式的三元模式描述。RDF使用URI定义主语和谓语,宾语可以是URI(对象属性)或文字(数据类型或语言标记属性)。因此,查询中的每个三元组模式必须具有三个实体。
由于我们没有您的数据的任何示例,因此我将提供一种方法来稍微探索一下数据。让我们假设您的前缀是正确定义的,我对此表示怀疑-它不是REST API URL,而是实体本身的URI。然后,您可以尝试执行以下操作:
PREFIX station: <http://api.data.gov/nrel...>
SELECT *
WHERE
{ ?s station:network ?network .
}...setting前缀以正确表示network的命名空间。然后查看?network的绑定,了解它们如何表示null。假设它是一个字符串,如您所示。然后,查询将如下所示:
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是一个全面的源代码,有很多很好的例子。
https://stackoverflow.com/questions/36812370
复制相似问题