【发布时间】:2021-03-19 17:44:55
【问题描述】:
我想从 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", "@type":"xsd:integer"},
"lastupdate":{"@id":"lastupdate", "@type":"xsd:dateTime"},
"state":{"@id":"etat", "@type":"xsd:string"}
}
我只是在从“coordonnees”中提取数据时遇到问题。我想要一个属性 lat 和另一个 long 对应于“coordonnees”数组的第一个和第二个元素。
我该怎么做?而且我还在其他示例中看到了“@context”这个词的定义,我必须添加它吗?我刚刚添加了“@vocab”,当我添加“@context”时,它会创建奇怪的 n 三元组,甚至定义了 null 属性。
谢谢!
【问题讨论】:
-
不确定我是否理解您的问题,但对于
"coordonnees": [ 48.109601, -1.67408 ],您显然必须引入并使用代表latitude和longitude值的属性` -
通常我会使用 {"@list":["lat", "long"]} 但这里 coordonnes 是嵌套的,我们不能将 "@list" 与 "@nest" 一起使用。所以我的问题是如何从嵌套列表中提取数据
标签: javascript rdf json-ld n-triples