text/rembrandtjaccuse/1 matches the site
A video (currently modeled as a Work that contains language, or a LinguisticObject) about Rembrandt's Night Watch was directed by Peter Greenaway and Produced by Femke Wolting.
C#
public static LinguisticObject Jaccuse_Parts()
{
var jaccuse = new LinguisticObject()
.WithContext()
.WithId("https://linked.art/example/text/rembrandtjaccuse/1")
.WithLabel("Rembrandt's J'accuse");
jaccuse.CreatedBy = new Creation();
jaccuse.CreatedBy.TimeSpan = LinkedArtTimeSpan.FromYear(2008).WithLabel("2008");
var directorActivity = new Creation()
.WithClassifiedAs(Aat.Term("300025654", "Director"));
directorActivity.CarriedOutBy = [
new Person().WithId("https://linked.art/example/person/greenaway").WithLabel("Peter Greenaway")
];
var producerActivity = new Creation()
.WithClassifiedAs(Aat.Term("300197742", "Producer"));
producerActivity.CarriedOutBy = [
new Person().WithId("https://linked.art/example/person/wolting").WithLabel("Femke Wolting")
];
jaccuse.CreatedBy.Part = [
directorActivity,
producerActivity
];
return jaccuse;
}
- 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 linguisticObject = new LinguisticObject
{
Context = ["https://linked.art/ns/v1/linked-art.json"],
Id = "https://linked.art/example/text/rembrandtjaccuse/1",
Label = "Rembrandt's J'accuse",
CreatedBy = new Creation
{
TimeSpan = new LinkedArtTimeSpan
{
Label = "2008",
BeginOfTheBegin = new LinkedArtDate(2008, 1, 1),
EndOfTheEnd = new LinkedArtDate(2008, 12, 31, 23, 59, 59),
},
Part =
[
new Creation
{
ClassifiedAs = [Aat.Term("300025654", "Director")],
CarriedOutBy =
[
new Person
{
Id = "https://linked.art/example/person/greenaway",
Label = "Peter Greenaway",
},
],
},
new Creation
{
ClassifiedAs = [Aat.Term("300197742", "Producer")],
CarriedOutBy =
[
new Person
{
Id = "https://linked.art/example/person/wolting",
Label = "Femke Wolting",
},
],
},
],
},
};
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/text/rembrandtjaccuse/1",
"type": "LinguisticObject",
"_label": "Rembrandt's J'accuse",
"created_by": {
"type": "Creation",
"timespan": {
"type": "TimeSpan",
"_label": "2008",
"begin_of_the_begin": "2008-01-01T00:00:00Z",
"end_of_the_end": "2008-12-31T23:59:59Z"
},
"part": [
{
"type": "Creation",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300025654",
"type": "Type",
"_label": "Director"
}
],
"carried_out_by": [
{
"id": "https://linked.art/example/person/greenaway",
"type": "Person",
"_label": "Peter Greenaway"
}
]
},
{
"type": "Creation",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300197742",
"type": "Type",
"_label": "Producer"
}
],
"carried_out_by": [
{
"id": "https://linked.art/example/person/wolting",
"type": "Person",
"_label": "Femke Wolting"
}
]
}
]
}
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/text/rembrandtjaccuse/1",
"type": "LinguisticObject",
"_label": "Rembrandt's J'accuse",
"created_by": {
"type": "Creation",
"timespan": {
"type": "TimeSpan",
"_label": "2008",
"begin_of_the_begin": "2008-01-01T00:00:00Z",
"end_of_the_end": "2008-12-31T23:59:59Z"
},
"part": [
{
"type": "Creation",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300025654",
"type": "Type",
"_label": "Director"
}
],
"carried_out_by": [
{
"id": "https://linked.art/example/person/greenaway",
"type": "Person",
"_label": "Peter Greenaway"
}
]
},
{
"type": "Creation",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300197742",
"type": "Type",
"_label": "Producer"
}
],
"carried_out_by": [
{
"id": "https://linked.art/example/person/wolting",
"type": "Person",
"_label": "Femke Wolting"
}
]
}
]
}
} Comparison
The two documents are equivalent (property order ignored, array order significant).