object/spring/8 matches the site
The same visual item is shown by both the physical painting, and the digitized image of the painting.
C#
public static HumanMadeObject Spring_Physical_Shows()
{
var spring = new HumanMadeObject()
.WithContext()
.WithId("https://linked.art/example/object/spring/8")
.WithLabel("Jeanne (Spring) by Manet");
spring.IdentifiedBy = [new Name("Jeanne (Spring)")];
spring.Shows = [
new VisualItem()
.WithId("https://linked.art/example/visual/spring")
.WithLabel("Visual Content of Spring")
];
return spring;
}
var humanMadeObject = new HumanMadeObject
{
Context = ["https://linked.art/ns/v1/linked-art.json"],
Id = "https://linked.art/example/object/spring/8",
Label = "Jeanne (Spring) by Manet",
Shows =
[
new VisualItem
{
Id = "https://linked.art/example/visual/spring",
Label = "Visual Content of Spring",
},
],
IdentifiedBy = [new Name("Jeanne (Spring)")],
};
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/8",
"type": "HumanMadeObject",
"_label": "Jeanne (Spring) by Manet",
"shows": [
{
"id": "https://linked.art/example/visual/spring",
"type": "VisualItem",
"_label": "Visual Content of Spring"
}
],
"identified_by": [
{
"type": "Name",
"content": "Jeanne (Spring)"
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/object/spring/8",
"type": "HumanMadeObject",
"_label": "Jeanne (Spring) by Manet",
"identified_by": [
{
"type": "Name",
"content": "Jeanne (Spring)"
}
],
"shows": [
{
"id": "https://linked.art/example/visual/spring",
"type": "VisualItem",
"_label": "Visual Content of Spring"
}
]
} Comparison
The two documents are equivalent (property order ignored, array order significant).