person/rembrandt/43 matches the site
C#
public static Person Rembrandt_Occupation()
{
var rembrandt = new Person()
.WithContext()
.WithId("https://linked.art/example/person/rembrandt/43")
.WithLabel("Rembrandt")
.WithClassifiedAs(Aat.Artist, Aat.Occupation);
return rembrandt;
}
- Metatype classification The second argument classifies the first, not the object: WithClassifiedAs(Aat.Description, Aat.Statement) says this is a Description, and Description is a kind of Statement. The Plain C# form shows the nesting.
var person = new Person
{
Context = ["https://linked.art/ns/v1/linked-art.json"],
Id = "https://linked.art/example/person/rembrandt/43",
Label = "Rembrandt",
ClassifiedAs =
[
new Type("http://vocab.getty.edu/aat/300025103", "Artist")
{
ClassifiedAs = [Aat.Occupation],
},
],
};
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/43",
"type": "Person",
"_label": "Rembrandt",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300025103",
"type": "Type",
"_label": "Artist",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300263369",
"type": "Type",
"_label": "Occupation"
}
]
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/person/rembrandt/43",
"type": "Person",
"_label": "Rembrandt",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300025103",
"type": "Type",
"_label": "Artist",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300263369",
"type": "Type",
"_label": "Occupation"
}
]
}
]
} Comparison
The two documents are equivalent (property order ignored, array order significant).