object/okeeffe-yuag/1 matches the site
C#
public static HumanMadeObject OKeeffe_Yuag_1()
{
var gok = new HumanMadeObject()
.WithContext()
.WithId("https://linked.art/example/object/okeeffe-yuag/1")
.WithLabel("GOK 1918, YUAG")
.WithClassifiedAs(Aat.Photograph, Aat.TypeOfWork);
gok.IdentifiedBy = [ new Identifier("2016.101.242").AsAccessionNumber() ];
gok.Shows = [
new VisualItem()
.WithId("https://linked.art/example/visual/okeeffe")
.WithLabel("Visual Content of GOK 1918")
];
gok.ProducedBy = new Production().WithLabel("Printing of Photograph");
gok.ProducedBy.UsedSpecificObject = [
new HumanMadeObject()
.WithId("https://linked.art/example/object/okeeffe-negative")
.WithLabel("Negative of GOK 1918")
];
return gok;
}
- 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.
- Role shortcuts AsPrimaryName, AsAccessionNumber and AsSystemAssignedNumber each add a single classification, with the AAT terms Primary Name, Accession Number and System Number.
var humanMadeObject = new HumanMadeObject
{
Context = ["https://linked.art/ns/v1/linked-art.json"],
Id = "https://linked.art/example/object/okeeffe-yuag/1",
Label = "GOK 1918, YUAG",
ProducedBy = new Production
{
Label = "Printing of Photograph",
UsedSpecificObject =
[
new HumanMadeObject
{
Id = "https://linked.art/example/object/okeeffe-negative",
Label = "Negative of GOK 1918",
},
],
},
Shows =
[
new VisualItem
{
Id = "https://linked.art/example/visual/okeeffe",
Label = "Visual Content of GOK 1918",
},
],
ClassifiedAs =
[
new Type("http://vocab.getty.edu/aat/300046300", "Photograph")
{
ClassifiedAs = [Aat.TypeOfWork],
},
],
IdentifiedBy =
[
new Identifier("2016.101.242")
{
ClassifiedAs = [Aat.AccessionNumber],
},
],
};
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/okeeffe-yuag/1",
"type": "HumanMadeObject",
"_label": "GOK 1918, YUAG",
"produced_by": {
"type": "Production",
"_label": "Printing of Photograph",
"used_specific_object": [
{
"id": "https://linked.art/example/object/okeeffe-negative",
"type": "HumanMadeObject",
"_label": "Negative of GOK 1918"
}
]
},
"shows": [
{
"id": "https://linked.art/example/visual/okeeffe",
"type": "VisualItem",
"_label": "Visual Content of GOK 1918"
}
],
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300046300",
"type": "Type",
"_label": "Photograph",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300435443",
"type": "Type",
"_label": "Type of Work"
}
]
}
],
"identified_by": [
{
"type": "Identifier",
"content": "2016.101.242",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300312355",
"type": "Type",
"_label": "Accession Number"
}
]
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/object/okeeffe-yuag/1",
"type": "HumanMadeObject",
"_label": "GOK 1918, YUAG",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300046300",
"type": "Type",
"_label": "Photograph",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300435443",
"type": "Type",
"_label": "Type of Work"
}
]
}
],
"identified_by": [
{
"type": "Identifier",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300312355",
"type": "Type",
"_label": "Accession Number"
}
],
"content": "2016.101.242"
}
],
"shows": [
{
"id": "https://linked.art/example/visual/okeeffe",
"type": "VisualItem",
"_label": "Visual Content of GOK 1918"
}
],
"produced_by": {
"type": "Production",
"_label": "Printing of Photograph",
"used_specific_object": [
{
"id": "https://linked.art/example/object/okeeffe-negative",
"type": "HumanMadeObject",
"_label": "Negative of GOK 1918"
}
]
}
} Comparison
The two documents are equivalent (property order ignored, array order significant).