object/nightwatch/support matches the site
The support part of the Night Watch is made of canvas, and part of the Night Watch.
C#
public static HumanMadeObject Nightwatch_Support()
{
var support = new HumanMadeObject()
.WithContext()
.WithId("https://linked.art/example/object/nightwatch/support")
.WithLabel("Support of Night Watch")
.WithClassifiedAs(Aat.Support, Aat.PartType)
.WithMadeOf("canvas", "300014078");
support.PartOf = [
new HumanMadeObject()
.WithId("https://linked.art/example/object/nightwatch")
.WithLabel("Night Watch by Rembrandt")
];
return support;
}
- 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 humanMadeObject = new HumanMadeObject
{
Context = ["https://linked.art/ns/v1/linked-art.json"],
Id = "https://linked.art/example/object/nightwatch/support",
Label = "Support of Night Watch",
MadeOf = [Aat.Canvas],
ClassifiedAs =
[
new Type("http://vocab.getty.edu/aat/300014844", "Support")
{
ClassifiedAs = [Aat.PartType],
},
],
PartOf =
[
new HumanMadeObject
{
Id = "https://linked.art/example/object/nightwatch",
Label = "Night Watch by Rembrandt",
},
],
};
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/object/nightwatch/support",
"type": "HumanMadeObject",
"_label": "Support of Night Watch",
"made_of": [
{
"id": "http://vocab.getty.edu/aat/300014078",
"type": "Material",
"_label": "canvas"
}
],
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300014844",
"type": "Type",
"_label": "Support",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300241583",
"type": "Type",
"_label": "Part Type"
}
]
}
],
"part_of": [
{
"id": "https://linked.art/example/object/nightwatch",
"type": "HumanMadeObject",
"_label": "Night Watch by Rembrandt"
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/object/nightwatch/support",
"type": "HumanMadeObject",
"_label": "Support of Night Watch",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300014844",
"type": "Type",
"_label": "Support",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300241583",
"type": "Type",
"_label": "Part Type"
}
]
}
],
"made_of": [
{
"id": "http://vocab.getty.edu/aat/300014078",
"type": "Material",
"_label": "canvas"
}
],
"part_of": [
{
"id": "https://linked.art/example/object/nightwatch",
"type": "HumanMadeObject",
"_label": "Night Watch by Rembrandt"
}
]
} Comparison
The two documents are equivalent (property order ignored, array order significant).