2015-08-06 28 views
5

Có cách nào để buộc các đối tượng đơn lẻ vào một mảng không? Nó thực sự gây phiền nhiễu để kiểm tra loại đối tượng mỗi lần.JSON-LD khung mảng đối tượng đơn

Tôi đã thử ngữ cảnh này, nhưng nó không hoạt động. Ngoài ra còn có example in JSON-LD Playground. Với tài nguyên ngữ cảnh này được chuyển thành các đối tượng đơn lẻ và không phải mảng chứa một đối tượng, như bạn mong đợi.

{ 
    "@context": { 
    "member": { 
     "@id": "http://xmlns.com/foaf/0.1/member", 
     "@container": "@list" 
    }, 
    "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", 
    "member": [] 
} 

Kết quả:

... { 
     "@id": "ex:Organization_1", 
     "@type": "foaf:Organisation", 
     "foaf:member": { 
     "@id": "ex:Person_1", 
     "@type": "foaf:Person", 
     "foaf:name": "Bill" 
     } 
    } ... 

Và những gì nó nên là:

"foaf:member": [{ "@id": ... }] 

Trả lời

0

Sử dụng "@container": "@set" thay vì @list.

@list ngụ ý thứ tự - và @set thì không. JFYI, có thể cụm từ "thành viên" của bạn không được chọn (theo thuật toán) khi nén dữ liệu của bạn vì đầu vào của bạn không khớp với @list. Nếu dữ liệu của bạn không khớp với cụm từ trong ngữ cảnh của bạn, cụm từ thay thế khớp với (hoặc url đầy đủ) sẽ được sử dụng. Nói ngắn gọn, hãy sử dụng @set để thay thế.

+0

Điều đó có ý nghĩa! Cảm ơn! – amiika

Các vấn đề liên quan