person/rembrandt/2 matches the site
Rembrandt (a Person) was a member of the Guild of St Luke (a Group).
C#
public static Person Person_Rembrandt_2_Member_Of()
{
var rembrandt = new Person()
.WithContext()
.WithId("https://linked.art/example/person/rembrandt/2")
.WithLabel("Rembrandt");
rembrandt.MemberOf = [
new Group()
.WithId("https://linked.art/example/group/stluke")
.WithLabel("Guild of St Luke")
];
return rembrandt;
}
var person = new Person
{
Context = ["https://linked.art/ns/v1/linked-art.json"],
Id = "https://linked.art/example/person/rembrandt/2",
Label = "Rembrandt",
MemberOf =
[
new Group
{
Id = "https://linked.art/example/group/stluke",
Label = "Guild of St Luke",
},
],
};
Generated from the object the example builds: every property that is set, as object initialisers, with the vocabulary constants where a term is in the registry. The fluent helpers are a convenience, not a requirement; this form and the one as written produce the same JSON.
JSON from the C#
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/person/rembrandt/2",
"type": "Person",
"_label": "Rembrandt",
"member_of": [
{
"id": "https://linked.art/example/group/stluke",
"type": "Group",
"_label": "Guild of St Luke"
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/person/rembrandt/2",
"type": "Person",
"_label": "Rembrandt",
"member_of": [
{
"id": "https://linked.art/example/group/stluke",
"type": "Group",
"_label": "Guild of St Luke"
}
]
} Comparison
The two documents are equivalent (property order ignored, array order significant).