JSON-LD Frame: свойства объекта в рамке только как термин (не как IRI) - PullRequest
0 голосов
/ 22 сентября 2018

Я учусь использовать кадры JSON-LD с помощью Node jsonld.js , и мне интересно, почему некоторые свойства помечены как IRI, а другие помечены как термины, и я не могуне вижу очевидных причин для такой разницы.

Вот пример .

Например, в этом примере свойство name помечено как и ожидалось, тогда как в другихон помечен как http://www.schema.org/name, то же самое с url и http://www.schema.org/url;и я не могу понять, почему:

{
  "@context": "https://schema.org/docs/jsonldcontext.json",
  "@graph": [
    {
      "id": "_:b0",
      "type": "MusicRecording",
      "byArtist": {
        "id": "_:b1",
        "type": "http://www.schema.org/MusicGroup",
        "http://www.schema.org/name": "Snoop Dogg",
        "http://www.schema.org/sameAs": "/Snoop-Dogg/"
      },
      "name": "Paper'd Up",
      "schema:sameAs": "/Snoop-Dogg/Paper%27d-Up/",
      "url": "../Snoop-Dogg/Paper%27d-Up/",
      "http://www.schema.org/duration": "PT3M55S",
      "http://www.schema.org/image": "/static/track_images_200/lr1734_2009720_1372375126.jpg",
      "http://www.schema.org/inAlbum": {
        "id": "_:b2",
        "type": "http://www.schema.org/MusicAlbum",
        "http://www.schema.org/albumRelease": {
          "id": "_:b4",
          "type": "http://www.schema.org/MusicRelease",
          "http://www.schema.org/datePublished": "2001",
          "http://www.schema.org/recordLabel": "Priority"
        },
        "http://www.schema.org/name": "Paid the Cost to Be the Bo$$"
      },
      "http://www.schema.org/producer": {
        "id": "_:b3",
        "type": "http://www.schema.org/Person",
        "http://www.schema.org/name": "Fredwreck",
        "http://www.schema.org/sameAs": "/Fredwreck/",
        "http://www.schema.org/url": {
          "id": "../Fredwreck/"
        }
      },
      "http://www.schema.org/thumbnailUrl": {
        "id": "../static/track_images_100/mr1734_2009720_1372375126.jpg"
      }
    }
  ]
}

Как получить дерево со свойствами, названными как тип вместо IRI (используя jsonld.js )?

1 Ответ

0 голосов
/ 23 сентября 2018

Необходимо, чтобы термин соответствовал IRI, который вы используете для свойства.Например, schema.org определяет name как http://schema.org/name.В вашем примере у вас есть http://www.schema.org/name.

. Есть также несколько мест, где значения, которые должны быть IRI (URL), обрабатываются как текст, для этого вы хотите использовать что-то вроде "http://schema.org/image": {"@id": "/static/track_images_200/lr1734_2009720_1372375126.jpg"}

Часть выбора термина выглядит так, чтобы убедиться, что значение соответствует соответствующему определению @type в контексте.Например, image установлен на {"@type": "@id"}, поэтому он будет соответствовать только вещам, которые выглядят так.

Вот обновленный пример на игровой площадке .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...