使用尚未定义的类型创建JSON-LD属性

时间:2015-01-25 14:38:19

标签: json-ld

我无法确定如何为类型尚未由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等定义的新概念。

谢谢!

1 个答案:

答案 0 :(得分:1)

找到描述在手头的词汇表中找不到的域的各个方面的术语(在您的案例中为schema.org)的挑战可以这样形式化:

  1. 搜索众所周知的词汇表目录,例如vocab.cclov
  2. 如果您
  3. ,请提出您自己的描述

    例如,我已经通过法律表格的描述达到了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中表示小数,整数和布尔值的方式派生。