2015-08-03 3 views
5

Как определить некоторые свойства как «необязательные» в контексте JSON-LD?Кадрирование JSON-LD с дополнительными свойствами?

Я создал простой пример проблемы. Вот то же самое example in JSON-LD Playground. Это пример данных:

{ 
    "@context": { 
    "ex": "http://example.org/ex#", 
    "foaf": "http://xmlns.com/foaf/0.1/", 
    "frapo": "http://purl.org/cerif/frapo/", 
    "owl": "http://www.w3.org/2002/07/owl#", 
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", 
    "rdfs": "http://www.w3.org/2000/01/rdf-schema#", 
    "xsd": "http://www.w3.org/2001/XMLSchema#" 
    }, 
    "@graph": [ 
    { 
     "@id": "ex:Organization_1", 
     "@type": "foaf:Organisation", 
     "foaf:member": [ 
     { 
      "@id": "ex:Person_1" 
     }, 
     { 
      "@id": "ex:Person_2" 
     } 
     ], 
     "frapo:funds": [ 
     { 
      "@id": "ex:Project_1" 
     }, 
     { 
      "@id": "ex:Project_2" 
     } 
     ] 
    }, 
    { 
     "@id": "ex:Person_2", 
     "@type": "foaf:Person", 
     "foaf:currentProject": { 
     "@id": "ex:Project_2" 
     }, 
     "foaf:name": "Jack" 
    }, 
    { 
     "@id": "ex:Project_2", 
     "@type": "foaf:Project", 
     "foaf:name": "Small project 2" 
    }, 
    { 
     "@id": "ex:Project_1", 
     "@type": "foaf:Project", 
     "foaf:name": "Big project 1" 
    }, 
    { 
     "@id": "ex:Person_1", 
     "@type": "foaf:Person", 
     "foaf:name": "Bill", 
     "foaf:pastProject": [ 
     { 
      "@id": "ex:Project_1" 
     }, 
     { 
      "@id": "ex:Project_2" 
     } 
     ] 
    } 
    ] 
} 

Я хочу Организации быть основной узел, такие как:

FOAF: Организация

  • член: [{персона}, {Персона} ]

  • средства: [{Проект}, {Проект}]

Для того, чтобы создать такой stucture я создал кадр:

{ 
"@context": { 
    "ex": "http://example.org/ex#", 
    "foaf": "http://xmlns.com/foaf/0.1/", 
    "owl": "http://www.w3.org/2002/07/owl#", 
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", 
    "rdfs": "http://www.w3.org/2000/01/rdf-schema#", 
    "xsd": "http://www.w3.org/2001/XMLSchema#", 
    "frapo": "http://purl.org/cerif/frapo/" 
}, 
"@type": "foaf:Organisation", 
"foaf:member": { 
"foaf:currentProject": { 
    "@embed": false 
}, 
"foaf:pastProject": { 
    "@embed": false 
} 
}, 
"frapo:funds": {} 
} 

Теперь проблема заключается в том, что FOAF: член оказывается «пустой», а если убрать эти отношения проектных проектов внедриться в случаях Person.

ответ

4

Попробуйте с этой рамкой вместо:

{ 
    "@context": { 
     "ex": "http://example.org/ex#", 
     "foaf": "http://xmlns.com/foaf/0.1/", 
     "owl": "http://www.w3.org/2002/07/owl#", 
     "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", 
     "rdfs": "http://www.w3.org/2000/01/rdf-schema#", 
     "xsd": "http://www.w3.org/2001/XMLSchema#", 
     "frapo": "http://purl.org/cerif/frapo/" 
    }, 
    "@type": "foaf:Organisation", 
    "foaf:member": { 
     "foaf:currentProject": { 
      "@default": [], 
      "@embed": false 
     }, 
     "foaf:pastProject": { 
      "@default": [], 
      "@embed": false 
     } 
    }, 
    "frapo:funds": {} 
} 
+0

Сво работает в формате JSON-LD детскую площадку, но не с библиотекой JSON-LD-JAVA для какой-то причине. – amiika

+0

Но СПАСИБО в любом случае, я думаю, он также должен работать с JSONLD-JAVA. – amiika

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