person/rembrandt/14 matches the site
Rembrandt was buried some time after he died in 1669 at the location of Westerkerk.
C#
public static Person Rembrandt_Participated_In()
{
var rembrandt = new Person()
.WithContext()
.WithId("https://linked.art/example/person/rembrandt/14")
.WithLabel("Rembrandt");
var activity = new Activity()
.WithClassifiedAs(Aat.Term("300263485", "Burial"));
activity.TimeSpan = new LinkedArtTimeSpan
{
BeginOfTheBegin = new LinkedArtDate(1669, 10, 4),
EndOfTheEnd = new LinkedArtDate(1669, 11, 1).LastSecondOfDay()
};
activity.TookPlaceAt = [
new Place()
.WithId("https://linked.art/example/place/westerkerk")
.WithLabel("Place of Westerkerk")
];
rembrandt.ParticipatedIn = [activity];
return rembrandt;
}
- 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 person = new Person
{
Context = ["https://linked.art/ns/v1/linked-art.json"],
Id = "https://linked.art/example/person/rembrandt/14",
Label = "Rembrandt",
ParticipatedIn =
[
new Activity
{
ClassifiedAs = [Aat.Term("300263485", "Burial")],
TimeSpan = new LinkedArtTimeSpan
{
BeginOfTheBegin = new LinkedArtDate(1669, 10, 4),
EndOfTheEnd = new LinkedArtDate(1669, 11, 1, 23, 59, 59),
},
TookPlaceAt =
[
new Place
{
Id = "https://linked.art/example/place/westerkerk",
Label = "Place of Westerkerk",
},
],
},
],
};
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/person/rembrandt/14",
"type": "Person",
"_label": "Rembrandt",
"participated_in": [
{
"type": "Activity",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300263485",
"type": "Type",
"_label": "Burial"
}
],
"timespan": {
"type": "TimeSpan",
"begin_of_the_begin": "1669-10-04T00:00:00Z",
"end_of_the_end": "1669-11-01T23:59:59Z"
},
"took_place_at": [
{
"id": "https://linked.art/example/place/westerkerk",
"type": "Place",
"_label": "Place of Westerkerk"
}
]
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/person/rembrandt/14",
"type": "Person",
"_label": "Rembrandt",
"participated_in": [
{
"type": "Activity",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300263485",
"type": "Type",
"_label": "Burial"
}
],
"timespan": {
"type": "TimeSpan",
"begin_of_the_begin": "1669-10-04T00:00:00Z",
"end_of_the_end": "1669-11-01T23:59:59Z"
},
"took_place_at": [
{
"id": "https://linked.art/example/place/westerkerk",
"type": "Place",
"_label": "Place of Westerkerk"
}
]
}
]
} Comparison
The two documents are equivalent (property order ignored, array order significant).