object/spring/31 site issue
Spring was exhibited at the National Gallery of Art's exhibition "Post-Impressionism: Cross-Currents in European and American Painting" in 1980, and was assigned a exhibition specific identifier (called a "dexid").
C#
public static HumanMadeObject Context_Specific_Assignment()
{
var spring = new HumanMadeObject()
.WithContext()
.WithId("https://linked.art/example/object/spring/31")
.WithLabel("Spring")
.WithClassifiedAs(Aat.Painting, Aat.TypeOfWork);
spring.IdentifiedBy = [new Name("Jeanne (Spring)").AsPrimaryName()];
spring.AttributedBy = [
new AttributeAssignment()
{
CarriedOutBy = [
new Group()
.WithId("https://linked.art/example/group/nga")
.WithLabel("National Gallery of Art")
],
Assigned = [
new Identifier("2497-12")
.WithClassifiedAs(Aat.EntryNumbers)
],
AssignedProperty = "identified_by",
CausedBy = [
new Activity()
.WithId("https://linked.art/example/event/post_impressionism")
.WithLabel("Post-Impressionism Exhibition")
]
}
];
return spring;
}
- 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/spring/31",
Label = "Spring",
ClassifiedAs =
[
new Type("http://vocab.getty.edu/aat/300033618", "Painting")
{
ClassifiedAs = [Aat.TypeOfWork],
},
],
IdentifiedBy =
[
new Name("Jeanne (Spring)")
{
ClassifiedAs = [Aat.PrimaryName],
},
],
AttributedBy =
[
new AttributeAssignment
{
CarriedOutBy =
[
new Group
{
Id = "https://linked.art/example/group/nga",
Label = "National Gallery of Art",
},
],
CausedBy =
[
new Activity
{
Id = "https://linked.art/example/event/post_impressionism",
Label = "Post-Impressionism Exhibition",
},
],
AssignedProperty = "identified_by",
Assigned =
[
new Identifier("2497-12")
{
ClassifiedAs = [Aat.EntryNumbers],
},
],
},
],
};
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/spring/31",
"type": "HumanMadeObject",
"_label": "Spring",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300033618",
"type": "Type",
"_label": "Painting",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300435443",
"type": "Type",
"_label": "Type of Work"
}
]
}
],
"identified_by": [
{
"type": "Name",
"content": "Jeanne (Spring)",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300404670",
"type": "Type",
"_label": "Primary Name"
}
]
}
],
"attributed_by": [
{
"type": "AttributeAssignment",
"carried_out_by": [
{
"id": "https://linked.art/example/group/nga",
"type": "Group",
"_label": "National Gallery of Art"
}
],
"caused_by": [
{
"id": "https://linked.art/example/event/post_impressionism",
"type": "Activity",
"_label": "Post-Impressionism Exhibition"
}
],
"assigned_property": "identified_by",
"assigned": [
{
"type": "Identifier",
"content": "2497-12",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300445023",
"type": "Type",
"_label": "Entry Numbers"
}
]
}
]
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/object/spring/31",
"type": "HumanMadeObject",
"_label": "Jeanne (Spring) by Manet",
"classified_as": [
{
"id": "https://linked.art/vocab/terms/painting",
"type": "Type",
"_label": "Painting",
"equivalent": [
{
"id": "http://vocab.getty.edu/aat/300033618",
"type": "Type",
"_label": "Painting"
}
]
}
]
} Comparison
First difference at /identified_by: unexpected in actual