Преобразование между формами сериализации JSONLD - PullRequest
2 голосов
/ 03 июля 2019

У меня есть данные JSONLD (около 5 ГиБ) в следующей форме:

[{
    "@id": "_:node1derd3aqnx968310",
    "http://www.example.org/uri-for/preferredName": [{
        "@value": "Doe, John"
      }
    ]
  }, {
    "@id": "http://www.example.org/myres012345",
    "@type": ["http://www.example.org/uri-for/person"],
    "https://schema.org/additionalName": [{
        "@id": "_:node1derd3aqnx968310"
      }
    ]
  }
]

И что я хочу:

[{
    "@id": "http://www.example.org/myres012345",
    "@type": ["http://www.example.org/uri-for/person"],
    "https://schema.org/additionalName": [{
        "http://www.example.org/uri-for/preferredName": [{
            "@value": "Doe, John"
          }
        ]
      }
    ]
  }
]

Как называются эти разные формы сериализации?Как я могу преобразовать первый (плоский) JSONLD в иерархический JSONLD во втором примере?Кто-нибудь может порекомендовать библиотеку Java или что-то подобное?

Вот вам на помощь, ребята!

1 Ответ

2 голосов
/ 03 июля 2019

Я думаю, вы запрашиваете JSON-LD Framing .Как и в в этом примере .

Обрамление используется для формирования данных в документе JSON-LD, используя пример документа кадра, который используется для сопоставления сглаженных данных и демонстрации того, как должны формироваться результирующие данные.Сопоставление выполняется с помощью свойств, присутствующих во фрейме, для поиска объектов в данных, которые имеют общие значения.Сопоставление может быть выполнено с использованием всех свойств, присутствующих в кадре, или любого свойства в кадре.Путем объединения объектов с использованием соответствующих значений свойств объекты можно встраивать друг в друга.

Воспользуйтесь приведенной выше ссылкой для примера, чтобы поиграть с примером и понять, как работает рамочный документ.

...