concept/exhidea/1 matches the site
The idea (or abstract work) for the Manet and Modern Beauty exhibition is about Manet and Beauty.
C#
public static PropositionalObject Exhibition_Concept()
{
var concept = new PropositionalObject()
.WithContext()
.WithId("https://linked.art/example/concept/exhidea/1")
.WithLabel("Idea for Manet and Modern Beauty")
.WithClassifiedAs(Aat.Exhibition);
concept.IdentifiedBy = [new Name("Manet and Modern Beauty").AsPrimaryName()];
concept.About = [
Aat.Term("300055821", "Beauty"),
Ulan.Person("500010363", "Manet")
];
concept.CreatedBy = new Creation()
{
CarriedOutBy = [
new Person()
.WithId("https://linked.art/example/person/allan")
.WithLabel("Scott Allan"),
new Person()
.WithId("https://linked.art/example/person/beeny")
.WithLabel("Emily Beeny"),
new Person()
.WithId("https://linked.art/example/person/groom")
.WithLabel("Gloria Groom"),
]
};
return concept;
}
- Role shortcuts AsPrimaryName, AsAccessionNumber and AsSystemAssignedNumber each add a single classification, with the AAT terms Primary Name, Accession Number and System Number.
- Terms outside the registry The vocabulary registry holds only the terms linked.art itself publishes, so a dataset's own concepts, places and people are written with Aat.Term, Tgn.Place and Ulan.Person, giving the id and the label.
var propositionalObject = new PropositionalObject
{
Context = ["https://linked.art/ns/v1/linked-art.json"],
Id = "https://linked.art/example/concept/exhidea/1",
Label = "Idea for Manet and Modern Beauty",
ClassifiedAs = [Aat.Exhibition],
IdentifiedBy =
[
new Name("Manet and Modern Beauty")
{
ClassifiedAs = [Aat.PrimaryName],
},
],
CreatedBy = new Creation
{
CarriedOutBy =
[
new Person
{
Id = "https://linked.art/example/person/allan",
Label = "Scott Allan",
},
new Person
{
Id = "https://linked.art/example/person/beeny",
Label = "Emily Beeny",
},
new Person
{
Id = "https://linked.art/example/person/groom",
Label = "Gloria Groom",
},
],
},
About = [Aat.Term("300055821", "Beauty"), Ulan.Person("500010363", "Manet")],
};
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/concept/exhidea/1",
"type": "PropositionalObject",
"_label": "Idea for Manet and Modern Beauty",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300417531",
"type": "Type",
"_label": "Exhibition"
}
],
"identified_by": [
{
"type": "Name",
"content": "Manet and Modern Beauty",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300404670",
"type": "Type",
"_label": "Primary Name"
}
]
}
],
"created_by": {
"type": "Creation",
"carried_out_by": [
{
"id": "https://linked.art/example/person/allan",
"type": "Person",
"_label": "Scott Allan"
},
{
"id": "https://linked.art/example/person/beeny",
"type": "Person",
"_label": "Emily Beeny"
},
{
"id": "https://linked.art/example/person/groom",
"type": "Person",
"_label": "Gloria Groom"
}
]
},
"about": [
{
"id": "http://vocab.getty.edu/aat/300055821",
"type": "Type",
"_label": "Beauty"
},
{
"id": "http://vocab.getty.edu/ulan/500010363",
"type": "Person",
"_label": "Manet"
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/concept/exhidea/1",
"type": "PropositionalObject",
"_label": "Idea for Manet and Modern Beauty",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300417531",
"type": "Type",
"_label": "Exhibition"
}
],
"identified_by": [
{
"type": "Name",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300404670",
"type": "Type",
"_label": "Primary Name"
}
],
"content": "Manet and Modern Beauty"
}
],
"about": [
{
"id": "http://vocab.getty.edu/aat/300055821",
"type": "Type",
"_label": "Beauty"
},
{
"id": "http://vocab.getty.edu/ulan/500010363",
"type": "Person",
"_label": "Manet"
}
],
"created_by": {
"type": "Creation",
"carried_out_by": [
{
"id": "https://linked.art/example/person/allan",
"type": "Person",
"_label": "Scott Allan"
},
{
"id": "https://linked.art/example/person/beeny",
"type": "Person",
"_label": "Emily Beeny"
},
{
"id": "https://linked.art/example/person/groom",
"type": "Person",
"_label": "Gloria Groom"
}
]
}
} Comparison
The two documents are equivalent (property order ignored, array order significant).