Giter VIP home page Giter VIP logo

Comments (5)

ptgolden avatar ptgolden commented on August 15, 2024

We might want to subclass oa:Annotation to differentiate between annotations that are expected to be added in the curatorial process (like spatial coverage, parsed dates, translated labels), and potentially arbitrary (?) ones that may be added by others.

Or maybe, just the distinction between oa:describing and oa:commenting is appropriate

from periodo-data.

ptgolden avatar ptgolden commented on August 15, 2024

We should do this before the UT deployment + client rewrite release, along with renaming Collection to Authority. I can make a patch for both soon.

from periodo-data.

ptgolden avatar ptgolden commented on August 15, 2024

In terms of how the updated JSON-LD would look...

{
  "@context": [
    "https://staging.perio.do/c",
    {
      "@base": "http://n2t.net/ark:/99152/",
      "oa": "http://www.w3.org/ns/oa#",
      "annotations": {
        "@reverse": "oa:hasTarget",
        "@container": "@set"
      },
      "body": {
        "@id": "oa:hasBody",
        "@type": "@id"
      },
      "motivation": {
        "@id": "oa:hasMotivation",
        "@type": "@id"
      }
    }
  ],
  "id": "p0zmdxzf369",
  "type": "PeriodDefinition",
  "spatialCoverageDescription": "Ras Shamra",
  "languageTag": "en",
  "language": "http://lexvo.org/id/iso639-1/en",
  "primaryTopicOf": {
    "inDataset": "p0d",
    "id": "p0zmdxzf369.json.html"
  },
  "collection": "p0zmdxz",
  "label": "Pre-pottery Neolithic",
  "start": {
    "label": "Ca. 7500 B.C.E."
  },
  "stop": {
    "label": "Ca. 7000 B.C.E."
  },
  "annotations": [
    {
      "id": "p0zmdxzf369-annotation",
      "type": "periodo:CuratorialAnnotation",
      "motivation": "oa:describing",
      "body": {
        "start": { "in": { "year": "-7499" }},
        "stop": { "in": { "year": "-6999" }},
        "spatialCoverage": [
          {
            "label": "Ras Shamra",
            "id": "http://dbpedia.org/resource/Ugarit"
          }
        ],
        "localizedLabels": {
          "en": [
            "Pre-pottery Neolithic"
          ]
        },
      }
    }
  ]
}

Does it make you puke?

from periodo-data.

ptgolden avatar ptgolden commented on August 15, 2024

I made it so that there could be multiple annotations, making room for the ability to allow arbitrary linked data to be attached to a period. But it would probably be better to use something like curated or description or ??? as a key to our curated stuff about the period. (i.e., the information we make a commitment to provide: a parsed date, localized labels, estimated spatial coverage).

Some drawbacks...

  • It's more difficult to deal with programmatically (from parsed JSON). Getting the start date goes from period.start.in.year to period.annotations[0].start.in.year. Or, if we take my suggestion above, period.curated.start.in.year

  • period.start.label and period.curated.start.in.year will refer to different blank nodes.

You could argue, however, that both of these changes make sense. There's an essential difference between the stuff we say is "from the text" and our interpretation of it. This makes that difference something that has to be understood and dealt with.

from periodo-data.

ptgolden avatar ptgolden commented on August 15, 2024

Another possibility, using the new JSON-LD 1.1 @nest keyword, which would further emphasize the difference between statements in the text and curatorial/annotated statements:

{
  "@context": [
    "https://staging.perio.do/c",
    {
      "@base": "http://n2t.net/ark:/99152/",
      "inTheText": "@nest",
      "oa": "http://www.w3.org/ns/oa#",
      "curated": {
        "@reverse": "oa:hasTarget",
        "@type": "periodo:CuratorialAnnotation"
      },
      "body": {
        "@id": "oa:hasBody",
        "@type": "@id"
      },
      "motivation": {
        "@id": "oa:hasMotivation",
        "@type": "@id"
      }
    }
  ],
  "id": "p0zmdxzf369",
  "type": "PeriodDefinition",
  "primaryTopicOf": {
    "inDataset": "p0d",
    "id": "p0zmdxzf369.json.html"
  },
  "collection": "p0zmdxz",
  "inTheText": {
    "spatialCoverageDescription": "Ras Shamra",
    "languageTag": "en",
    "language": "http://lexvo.org/id/iso639-1/en",
    "label": "Pre-pottery Neolithic",
    "start": {
      "label": "Ca. 7500 B.C.E."
    },
    "stop": {
      "label": "Ca. 7000 B.C.E."
    },
  },
  "curated": {
    "id": "p0zmdxzf369-annotation",
    "motivation": "oa:describing",
    "body": {
      "start": { "in": { "year": "-7499" }},
      "stop": { "in": { "year": "-6999" }},
      "spatialCoverage": [
        {
          "label": "Ras Shamra",
          "id": "http://dbpedia.org/resource/Ugarit"
        }
      ],
      "localizedLabels": {
        "en": [
          "Pre-pottery Neolithic"
        ]
      },
    }
  }
}

from periodo-data.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.