visual/nightwatch/2 matches the site
The visual content of the Night Watch is in the Public Domain.
C#
public static VisualItem Nightwatch_Rights_PublicDomain()
{
var nightwatchVisual = new VisualItem()
.WithContext()
.WithId("https://linked.art/example/visual/nightwatch/2")
.WithLabel("Visual Content of Night Watch");
var publicDomain = new Right()
.WithLabel("Night Watch's Public Domain status")
.WithClassifiedAs(RightsStatements.CreativeCommonsPublicDomain);
publicDomain.IdentifiedBy = [
new Name("Public Domain")
];
nightwatchVisual.SubjectTo = [publicDomain];
return nightwatchVisual;
}
var visualItem = new VisualItem
{
Context = ["https://linked.art/ns/v1/linked-art.json"],
Id = "https://linked.art/example/visual/nightwatch/2",
Label = "Visual Content of Night Watch",
SubjectTo =
[
new Right
{
Label = "Night Watch's Public Domain status",
ClassifiedAs = [new Type("https://creativecommons.org/publicdomain/zero/1.0/", "Public Domain")],
IdentifiedBy = [new Name("Public Domain")],
},
],
};
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/visual/nightwatch/2",
"type": "VisualItem",
"_label": "Visual Content of Night Watch",
"subject_to": [
{
"type": "Right",
"_label": "Night Watch's Public Domain status",
"classified_as": [
{
"id": "https://creativecommons.org/publicdomain/zero/1.0/",
"type": "Type",
"_label": "Public Domain"
}
],
"identified_by": [
{
"type": "Name",
"content": "Public Domain"
}
]
}
]
} JSON on linked.art
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/visual/nightwatch/2",
"type": "VisualItem",
"_label": "Visual Content of Night Watch",
"subject_to": [
{
"type": "Right",
"_label": "Night Watch's Public Domain status",
"classified_as": [
{
"id": "https://creativecommons.org/publicdomain/zero/1.0/",
"type": "Type",
"_label": "Public Domain"
}
],
"identified_by": [
{
"type": "Name",
"content": "Public Domain"
}
]
}
]
} Comparison
The two documents are equivalent (property order ignored, array order significant).