object/spring/15 matches the site
Spring was transferred from Manet to Proust, and then later from the Durand-Ruel Gallery to Payne. (The full set of transfers would be given in the real record)
C#
public static HumanMadeObject Spring_Simple_Historical_Ownership()
{
var spring = new HumanMadeObject()
.WithContext()
.WithId("https://linked.art/example/object/spring/15")
.WithLabel("Jeanne (Spring) by Manet");
var proustAcquisition = new Acquisition()
.WithLabel("Ownership of Spring to Proust");
proustAcquisition.TimeSpan = new LinkedArtTimeSpan
{
BeginOfTheBegin = new LinkedArtDate(1881, 1, 1),
EndOfTheEnd = new LinkedArtDate(1883, 12, 31).LastSecondOfDay()
};
proustAcquisition.TransferredTitleFrom = [
new Person()
.WithId("https://linked.art/example/person/manet")
.WithLabel("Manet")
];
proustAcquisition.TransferredTitleTo = [
new Person()
.WithId("https://linked.art/example/person/proust")
.WithLabel("Proust")
];
proustAcquisition.PartOf = [
new Activity()
.WithId("https://linked.art/example/event/manet_proust")
.WithLabel("Full Provenance Activity")
];
var payneAcquisition = new Acquisition()
.WithLabel("Ownership of Spring to Payne");
payneAcquisition.TimeSpan = new LinkedArtTimeSpan
{
BeginOfTheBegin = new LinkedArtDate(1909, 1, 1),
EndOfTheEnd = new LinkedArtDate(1909, 12, 31).LastSecondOfDay()
};
payneAcquisition.TransferredTitleFrom = [
new Person()
.WithId("https://linked.art/example/person/durand")
.WithLabel("Durand-Ruel Gallery")
];
payneAcquisition.TransferredTitleTo = [
new Person()
.WithId("https://linked.art/example/person/payne")
.WithLabel("Oliver Payne")
];
payneAcquisition.PartOf = [
new Activity()
.WithId("https://linked.art/example/event/durand_payne")
.WithLabel("Full Provenance Activity")
];
spring.ChangedOwnershipThrough = [
proustAcquisition,
payneAcquisition
];
return spring;
}
var humanMadeObject = new HumanMadeObject
{
Context = ["https://linked.art/ns/v1/linked-art.json"],
Id = "https://linked.art/example/object/spring/15",
Label = "Jeanne (Spring) by Manet",
ChangedOwnershipThrough =
[
new Acquisition
{
Label = "Ownership of Spring to Proust",
TimeSpan = new LinkedArtTimeSpan
{
BeginOfTheBegin = new LinkedArtDate(1881, 1, 1),
EndOfTheEnd = new LinkedArtDate(1883, 12, 31, 23, 59, 59),
},
TransferredTitleFrom =
[
new Person
{
Id = "https://linked.art/example/person/manet",
Label = "Manet",
},
],
TransferredTitleTo =
[
new Person
{
Id = "https://linked.art/example/person/proust",
Label = "Proust",
},
],
PartOf =
[
new Activity
{
Id = "https://linked.art/example/event/manet_proust",
Label = "Full Provenance Activity",
},
],
},
new Acquisition
{
Label = "Ownership of Spring to Payne",
TimeSpan = new LinkedArtTimeSpan
{
BeginOfTheBegin = new LinkedArtDate(1909, 1, 1),
EndOfTheEnd = new LinkedArtDate(1909, 12, 31, 23, 59, 59),
},
TransferredTitleFrom =
[
new Person
{
Id = "https://linked.art/example/person/durand",
Label = "Durand-Ruel Gallery",
},
],
TransferredTitleTo =
[
new Person
{
Id = "https://linked.art/example/person/payne",
Label = "Oliver Payne",
},
],
PartOf =
[
new Activity
{
Id = "https://linked.art/example/event/durand_payne",
Label = "Full Provenance Activity",
},
],
},
],
};
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/15",
"type": "HumanMadeObject",
"_label": "Jeanne (Spring) by Manet",
"changed_ownership_through": [
{
"type": "Acquisition",
"_label": "Ownership of Spring to Proust",
"timespan": {
"type": "TimeSpan",
"begin_of_the_begin": "1881-01-01T00:00:00Z",
"end_of_the_end": "1883-12-31T23:59:59Z"
},
"transferred_title_from": [
{
"id": "https://linked.art/example/person/manet",
"type": "Person",
"_label": "Manet"
}
],
"transferred_title_to": [
{
"id": "https://linked.art/example/person/proust",
"type": "Person",
"_label": "Proust"
}
],
"part_of": [
{
"id": "https://linked.art/example/event/manet_proust",
"type": "Activity",
"_label": "Full Provenance Activity"
}
]
},
{
"type": "Acquisition",
"_label": "Ownership of Spring to Payne",
"timespan": {
"type": "TimeSpan",
"begin_of_the_begin": "1909-01-01T00:00:00Z",
"end_of_the_end": "1909-12-31T23:59:59Z"
},
"transferred_title_from": [
{
"id": "https://linked.art/example/person/durand",
"type": "Person",
"_label": "Durand-Ruel Gallery"
}
],
"transferred_title_to": [
{
"id": "https://linked.art/example/person/payne",
"type": "Person",
"_label": "Oliver Payne"
}
],
"part_of": [
{
"id": "https://linked.art/example/event/durand_payne",
"type": "Activity",
"_label": "Full Provenance Activity"
}
]
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/object/spring/15",
"type": "HumanMadeObject",
"_label": "Jeanne (Spring) by Manet",
"changed_ownership_through": [
{
"type": "Acquisition",
"_label": "Ownership of Spring to Proust",
"timespan": {
"type": "TimeSpan",
"begin_of_the_begin": "1881-01-01T00:00:00Z",
"end_of_the_end": "1883-12-31T23:59:59Z"
},
"part_of": [
{
"id": "https://linked.art/example/event/manet_proust",
"type": "Activity",
"_label": "Full Provenance Activity"
}
],
"transferred_title_from": [
{
"id": "https://linked.art/example/person/manet",
"type": "Person",
"_label": "Manet"
}
],
"transferred_title_to": [
{
"id": "https://linked.art/example/person/proust",
"type": "Person",
"_label": "Proust"
}
]
},
{
"type": "Acquisition",
"_label": "Ownership of Spring to Payne",
"timespan": {
"type": "TimeSpan",
"begin_of_the_begin": "1909-01-01T00:00:00Z",
"end_of_the_end": "1909-12-31T23:59:59Z"
},
"part_of": [
{
"id": "https://linked.art/example/event/durand_payne",
"type": "Activity",
"_label": "Full Provenance Activity"
}
],
"transferred_title_from": [
{
"id": "https://linked.art/example/person/durand",
"type": "Person",
"_label": "Durand-Ruel Gallery"
}
],
"transferred_title_to": [
{
"id": "https://linked.art/example/person/payne",
"type": "Person",
"_label": "Oliver Payne"
}
]
}
]
} Comparison
The two documents are equivalent (property order ignored, array order significant).