Linked Art in C#

visual/nightwatch/2 matches the site

The visual content of the Night Watch is in the Public Domain.

On linked.art: Objects: Rights Information › Rights Assertions · site JSON · type VisualItem · Rights.Nightwatch_Rights_PublicDomain

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;
}

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).

Properties used

classified_as content identified_by subject_to