object/forum/1 matches the site
The watercolor painting "Forum Romanum" was possibly produced by Salomon Corrodi
C#
public static HumanMadeObject Uncertain_Attribution()
{
var forum = new HumanMadeObject()
.WithContext()
.WithId("https://linked.art/example/object/forum/1")
.WithLabel("Forum Romanum")
.WithClassifiedAs(Aat.Painting, Aat.TypeOfWork);
forum.IdentifiedBy = [new Name("Forum Romanum").AsPrimaryName()];
forum.ProducedBy = new Production()
{
AttributedBy = [
new AttributeAssignment()
{
ClassifiedAs = [ Aat.PossiblyBy ],
Assigned = [
new Production()
{
CarriedOutBy = [
new Person()
.WithId("https://linked.art/example/person/corrodi")
.WithLabel("Salomon Corrodi")
]
}
],
AssignedProperty = "part"
}
]
};
return forum;
}
- 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/forum/1",
Label = "Forum Romanum",
ProducedBy = new Production
{
AttributedBy =
[
new AttributeAssignment
{
ClassifiedAs = [Aat.PossiblyBy],
AssignedProperty = "part",
Assigned =
[
new Production
{
CarriedOutBy =
[
new Person
{
Id = "https://linked.art/example/person/corrodi",
Label = "Salomon Corrodi",
},
],
},
],
},
],
},
ClassifiedAs =
[
new Type("http://vocab.getty.edu/aat/300033618", "Painting")
{
ClassifiedAs = [Aat.TypeOfWork],
},
],
IdentifiedBy =
[
new Name("Forum Romanum")
{
ClassifiedAs = [Aat.PrimaryName],
},
],
};
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/forum/1",
"type": "HumanMadeObject",
"_label": "Forum Romanum",
"produced_by": {
"type": "Production",
"attributed_by": [
{
"type": "AttributeAssignment",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300404272",
"type": "Type",
"_label": "Possibly By"
}
],
"assigned_property": "part",
"assigned": [
{
"type": "Production",
"carried_out_by": [
{
"id": "https://linked.art/example/person/corrodi",
"type": "Person",
"_label": "Salomon Corrodi"
}
]
}
]
}
]
},
"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": "Forum Romanum",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300404670",
"type": "Type",
"_label": "Primary Name"
}
]
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/object/forum/1",
"type": "HumanMadeObject",
"_label": "Forum Romanum",
"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",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300404670",
"type": "Type",
"_label": "Primary Name"
}
],
"content": "Forum Romanum"
}
],
"produced_by": {
"type": "Production",
"attributed_by": [
{
"type": "AttributeAssignment",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300404272",
"type": "Type",
"_label": "Possibly By"
}
],
"assigned": [
{
"type": "Production",
"carried_out_by": [
{
"id": "https://linked.art/example/person/corrodi",
"type": "Person",
"_label": "Salomon Corrodi"
}
]
}
],
"assigned_property": "part"
}
]
}
} Comparison
The two documents are equivalent (property order ignored, array order significant).