问题描述
我想从 API 中提取 RDF,我使用 jsonld 和 javascript 来完成它。 API 中的 json 如下所示:
"datasetid": "etat-des-stations-le-velo-star-en-temps-reel","recordid": "88a8871cd455b991aae541e2d60ebdab34840e3e","fields": {
"etat": "En fonctionnement","lastupdate": "2021-03-19T17:33:18+00:00","nombrevelosdisponibles": 6,"nombreemplacementsactuels": 16,"nom": "Musée Beaux-Arts","nombreemplacementsdisponibles": 10,"idstation": "5510","coordonnees": [
48.109601,-1.67408
]
},"geometry": {
"type": "Point","coordinates": [
-1.67408,48.109601
]
},"record_timestamp": "2021-03-19T17:33:00+00:00"
}
并且我已经定义了这个上下文:
const context_bike = {
"@vocab": "http://schema.org/","@base": "http://data.org/","geometry":null,"datasetid":null,"recordid":null,"record_timestamp":null,"field": "@nest","idstation": "@id","coordonnees":"???","nombreemplacementsdisponibles":{"@id":"AvailableSpaceNumber","@type":"xsd:integer"},"nom": {"@id":"name","@type":"xsd:string"},"nombrevelosdisponibles": {"@id":"AvailableBikeNumber","lastupdate":{"@id":"lastupdate","@type":"xsd:dateTime"},"state":{"@id":"etat","@type":"xsd:string"}
}
我只是在从“coordonnees”中提取数据时遇到问题。我想要一个属性 lat 和另一个 long 属性,它们对应于“coordonnees”数组的第一个和第二个元素。
我该怎么做?我还在其他例子中看到了“@context”这个词的定义,我是否必须添加它?我刚刚添加了“@vocab”,当我添加“@context”时,它会创建奇怪的 n 三元组,甚至定义了 null 属性。
谢谢!
解决方法
您可能想查看 Geo JSON-LD (http://geojson.org/geojson-ld/) 以使用列表描述坐标。然后,您可以使用 SPARQL(或 GeoSPARQL)来获取属性的经纬度。