2015-06-24 1 views
0

Как я могу указать один или несколько отношений в json-ld. Например:Как указать 1 для многих и многих к 1 отношениям в json-ld документе?

{ 
    "@context" : { 
    "@vocab" : "http://www.schema.org/", 
    "@id" : "http://www.example.com/users/Joe", 
    "name" : "name", 
    "dob" : "birthDate", 
    "age" : { 
     "@id" : "http://www.example.com/users/Joe#age", 
     "@type" : "Number" 
     } 
    "knows" : ["http://www.example.com/users/Jill", "http://www.example.com/users/James"] 
    }, 
    "name" : "Joe", 
    "age" : "24", 
    "dob" : "12-Jun-2013" 
} 

это не разобрать в JSON-Л.Д. площадка. Каков правильный и лучший способ задать такие отношения как в json-ld, так и при использовании Hydra?

+0

(1) В '@ context', у вас есть' «дата»: «РОЖДЕНИЕ» ', но вы используете' dob' позже: Является ли это опечатка? (2) Schema.org не определяет свойство 'age', так это опечатка или вы хотите использовать другой словарь для этого? (3) Должен ли URI 'http: // www.example.com/users/Joe' быть идентификатором этого узла? (т. е. вы указываете имя/возраст/день рождения 'http: // www.example.com/users/Joe'?) – unor

+0

(1) и (2) были опечатками, которые я редактировал, (3) Да Я хочу указать имя/возраст/день рождения http://www.example.com/users/Joe –

ответ

1

Вам нужно быть в курсе, что вы вкладываете в контекст и что вы вкладываете в тело документа. Проще говоря, контекст определяет сопоставления с URL-адресами, в то время как тело содержит фактические данные. Ваш пример должен таким образом выглядеть примерно так:

{ 
    "@context" : { 
    "@vocab" : "http://www.schema.org/", 
    "dob" : "birthDate", 
    "age" : { 
     "@id" : "http://www.example.com/users/Joe#age", 
     "@type" : "Number" 
    }, 
    "knows": { "@type": "@id" } 
    }, 
    "@id" : "http://www.example.com/users/Joe", 
    "name" : "Joe", 
    "age" : "24", 
    "dob" : "12-Jun-2013", 
    "knows" : [ 
    "http://www.example.com/users/Jill", 
    "http://www.example.com/users/James" 
    ] 
} 
+0

Спасибо за ответ. Но это для объектов такого же типа, Рассмотрите, если объекты имеют разные типы, скажем, например, я хочу добавить другое отношение ** нравится **, которое будет включать объекты 'http://www.example.com/чтение/романы, http://www.example.com/reading/blogs, http: // www.example.com/sports/soccer' Тогда как я могу указать такое отношение в контексте? –

+0

Могу ли я так обозначить это? '{ "@context": { ... "блоги": { "@Id": "http://www.example.com/reading/blogs", "@type":«Блог " }, "романы": { "@Id": "http://www.example.com/reading/novels", "@type": "Книга" }, "спорт": { «@id»: «http://www.example.com/sports», «@type»: «спорт» }, «нравится»: { "@id": "http: // www .example.com/users/Joe # Likes ", " @set ": [" романы "," блоги "," спорт "], " @type ":" LikeAction " } }, "@id": "http://www.example.com/users/Joe", ... "любит": [ «http://www.example.com/ чтение/романы ", " http://www.example.com/reading/blogs ", " http://www.example.com/sports/soccer " ] }' –

Смежные вопросы