json-ld 可以在压缩/框架时展平深层嵌套的链接数据关系吗?

问题描述

我有一些从 RDF 导出的输入数据,这些数据描述了具有地址、地理位置、纬度和经度坐标的事物。这种事情的简化定义如下所示:

[
  {
    "@id": "https://example.com/thing1#Address","http://data.ordnancesurvey.co.uk/ontology/spatialrelations/within": [
      {
        "@id": "http://data.ordnancesurvey.co.uk/id/postcodeunit/OX41JE"
      }
    ],"@type": [
      "https://example.com/vocab/Address"
    ]
  },{
    "@id": "http://data.ordnancesurvey.co.uk/id/postcodeunit/OX41JE","http://www.w3.org/2003/01/geo/wgs84_pos#long": [
      {
        "@type": "http://www.w3.org/2001/XMLSchema#decimal","@value": "-1.239064"
      }
    ],"http://www.w3.org/2003/01/geo/wgs84_pos#lat": [
      {
        "@type": "http://www.w3.org/2001/XMLSchema#decimal","@value": "51.748316"
      }
    ]
  },{
    "@id": "https://example.com/thing1","@type": [
      "https://example.com/vocab/Thing"
    ],"https://example.com/vocab/hasAddress": [
      {
        "@id": "https://example.com/thing1#Address"
      }
    ]
  }
]

我正在尝试将其展平为更像这样的内容

{
  "@id": "ex:thing1","location": {
    "lat": 51.748316,"long": -1.239064
  }
}

到目前为止,我最大的努力是这个框架,但这包含许多不需要的嵌套和坐标的复杂对象:

{
  "@context": {
    "@version": 1.1,"ex": "https://example.com/","ossr": "http://data.ordnancesurvey.co.uk/ontology/spatialrelations/","geo": "http://www.w3.org/2003/01/geo/wgs84_pos#","postcode": "http://data.ordnancesurvey.co.uk/id/postcodeunit/","address": {
      "@id": "ex:vocab/hasAddress"
    },"within": {
      "@id": "ossr:within"
    },"lat": {
      "@id": "geo:lat"
    },"long": {
      "@id": "geo:long"
    }
  },"@id": "ex:thing1","@type": "ex:vocab/Thing","address": {
    "@id": "ex:thing1#Address","@type": "ex:vocab/Address","within": {
      "@id": "postcode:OX41JE","lat": {
        "@type": "http://www.w3.org/2001/XMLSchema#decimal","@value": "51.748316"
      },"long": {
        "@type": "http://www.w3.org/2001/XMLSchema#decimal","@value": "-1.239064"
      }
    }
  }
}

JSON-LD playground link

很抱歉这有两个部分 - 我对这两部分的答案都很感兴趣:

  • 展平嵌套的术语,省略了不止一层
  • 将坐标对象映射为简单值(最好是数值,但字符串也可以)

我认为后者是可能的,尽管我正在努力寻找正确的表达方式......

但不确定前者是否可行? JSON-LD 规范中带有 @nest 的示例似乎在走向另一个方向:在压缩时添加嵌套。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...