object/harpers/1 matches the site
"Harper's January" at the Yale University Art Gallery is a print by Edward Penfield that has both significant text and visual content. As there is visual content which is not text, but all text is necessarily visual, the textual content is part_of the visual content.
C#
public static HumanMadeObject Harpers_Poster()
{
var harpers = new HumanMadeObject()
.WithContext()
.WithId("https://linked.art/example/object/harpers/1")
.WithLabel("Poster Item")
.WithClassifiedAs(Aat.Print, Aat.TypeOfWork);
harpers.Shows = [
new VisualItem()
.WithId("https://linked.art/example/visual/harpers")
.WithLabel("Visual Content of Harpers"),
];
return harpers;
}
- 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/harpers/1",
Label = "Poster Item",
Shows =
[
new VisualItem
{
Id = "https://linked.art/example/visual/harpers",
Label = "Visual Content of Harpers",
},
],
ClassifiedAs =
[
new Type("http://vocab.getty.edu/aat/300041273", "Print")
{
ClassifiedAs = [Aat.TypeOfWork],
},
],
};
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/harpers/1",
"type": "HumanMadeObject",
"_label": "Poster Item",
"shows": [
{
"id": "https://linked.art/example/visual/harpers",
"type": "VisualItem",
"_label": "Visual Content of Harpers"
}
],
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300041273",
"type": "Type",
"_label": "Print",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300435443",
"type": "Type",
"_label": "Type of Work"
}
]
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/object/harpers/1",
"type": "HumanMadeObject",
"_label": "Poster Item",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300041273",
"type": "Type",
"_label": "Print",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300435443",
"type": "Type",
"_label": "Type of Work"
}
]
}
],
"shows": [
{
"id": "https://linked.art/example/visual/harpers",
"type": "VisualItem",
"_label": "Visual Content of Harpers"
}
]
} Comparison
The two documents are equivalent (property order ignored, array order significant).