我无法确定如何为类型尚未由schema.org等资源定义的属性定义@id
或@type
。
例如,我想创建一个由WGS84点(lat / lon / alt)和围绕该点的误差组成的位置(在这种情况下是一个错误柱面,但是我' d在这一点上没有任何错误。)
到目前为止我所拥有的是:
{
"@context": {
"latitude": {
"@id":"http://www.w3.org/2003/01/geo/wgs84_pos#lat",
"@type":"http://www.w3.org/2001/XMLSchema#float",
},
"longitude": {
"@id":"http://www.w3.org/2003/01/geo/wgs84_pos#long",
"@type":"http://www.w3.org/2001/XMLSchema#float",
},
"altitude": {
"@id":"http://www.w3.org/2003/01/geo/wgs84_pos#alt",
"@type":"http://www.w3.org/2001/XMLSchema#float",
},
"errorRadius":???,
"errorHalfHeight":???,
}
}
我似乎无法找到(a)一般描述形状的任何内容,特别是圆圈,(b)描述错误界限的概念。我希望能够说出我所描述的任何位置都在该点的半径5米范围内,并且在该点的10米高度内。
除了这个具体的问题之外,我很好奇是否有一般的好方法来定义尚未被popolo,schema.org,foaf,w3等定义的新概念。
谢谢!
答案 0 :(得分:1)
找到描述在手头的词汇表中找不到的域的各个方面的术语(在您的案例中为schema.org)的挑战可以这样形式化:
例如,我已经通过法律表格的描述达到了2.所以我创建了legal forms vocab。
如果你不想付出太多努力,你也可以在你的上下文中加注这个术语:
"errorRadius":{
"@id":"http://yourdomain.com/schema/vocab#errorRadius",
"@type":"http://www.w3.org/2001/XMLSchema#integer",
},
"errorHalfHeight":{
"@id":"http://yourdomain.com/schema/vocab#errorHalfHeight",
"@type":"http://www.w3.org/2001/XMLSchema#integer",
}
在这个例子中,我创造了http://yourdomain.com/schema/vocab
作为我想要建模的域的基本命名空间。
旁注:我不认为'错误'是最好的术语,不会像'容忍'或'不准确'那样更好吗?
第二方注意:当您使用JSON-LD时,不需要定义简单XSD类型的类型,因为它们可以通过JSON中表示小数,整数和布尔值的方式派生。