Giter VIP home page Giter VIP logo

Comments (1)

pietercolpaert avatar pietercolpaert commented on August 25, 2024

I created a first proposal of a JSON-LD context and what a JSON document would look like then:

The context

{
  "@context": {
      "tree": "https://w3id.org/tree#",
      "ldes": "https://w3id.org/ldes#",
      "shape": { "@type":"@id", "@id":"tree:shape"},
      "xsd": "http://www.w3.org/2001/XMLSchema#",
      "EventStream": "ldes:EventStream",
      "node": {"@type": "@id", "@id": "tree:node"},
      "members": {"@type": "@id", "@id": "tree:member"},
      "relations": {"@id": "tree:relation"},
      "hypermedia": {"@id": "tree:viewBranch"},
      "path": {"@container": "@list", "@id": "tree:path", "@type": "@id"},
      "value": {"@id":"tree:value"},
      "timestampPath": {"@id":"ldes:timestampPath", "@type":"@id", "@container":"@list"},
      "versionOfPath": {"@id":"ldes:versionOfPath", "@type":"@id", "@container":"@list"},
      "retention": {"@id":"ldes:retentionPolicy"},
      "amount": {"@id":"ldes:amount","@type":"xsd:integer"}
    }
}

An implementation

{
  "@context": [
    {
      "@base": "https://example.org/",
      "ex": "https://example.org/",
      "as": "https://www.w3.org/ns/activitystreams#"
    },
    "https://w3id.org/ldes/context.jsonld"
  ],
  "@id": "ex:MyEventStream",
  "@type": "EventStream",
  "shape": "ex:shaclShape",
  "timestampPath": "as:published",
  "members": [
    {
      "@id": "ex:Activity1",
      "@type": "as:Create",
      "as:published": "2023-11-30",
      "as:object": "ex:S",
      "@graph": {
        "@id": "ex:S",
        "ex:P": "O"
      }
    },
    {
      "@id": "ex:Activity2",
      "@type": "as:Update",
      "as:published": "2023-11-30",
      "as:object": "ex:S",
      "@graph": {
        "@id": "ex:S",
        "ex:P": "O2"
      }
    }
  ],
  "hypermedia": {
    "@id": "",
    "@comment": "↑ this must be a URI to the current page (which is satisfied here through it being relative)",
    "retention": {
      "@type":"ldes:LatestVersionSubset",
      "amount": "2",
      "versionOfPath": "as:object"
    },
    "relations": [
    	{
          "@type" : "tree:GreaterThanRelation",
          "value": {
            "@value": "2023-11-30",
            "@type": "xsd:date"
          },
          "path": "as:published",
          "node": "/Node2"
        },
        {
          "@type" : "tree:LessThanRelation",
          "value": {
            "@value": "2023-12-30",
            "@type": "xsd:date"
          },
          "path": "as:published",
          "node": "/Node2"
        }
    ]
  }
}

from linkeddataeventstreams.

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.