Nostr Linked Data Vocabulary [Help]

Hi All,

I'm excited to be working on creating a Linked Data Vocabulary for Nostr
within this group. I've made some progress, and you can find the schema,
context, and source files at the following links:

- Schema: https://w3id.org/nostr
- Context: https://w3id.org/nost/context
- Source: https://github.com/nostrcg/schema

The current implementation uses structured data islands in HTML(which is
part of JSON-LD 1.1) and links to .jsonld files via autodiscovery.

I'd appreciate any help with some minor and major issues I'm facing. One
major issue I'd like to resolve before marking the schema as v0.1 is
defining an array of arrays in the JSON-LD context. In Nostr, the "tags"
field consists of an array of arrays, and I'm considering the following
possibilities:

Possibility 1: *"tags": {"@container": "@list", "@type": "@list" }*

json

{
  "@context": {
    "@version": 1.1,
    "@vocab": "http://example.org/",
    "tags": {
      "@container": "@list",
      "@type": "@list"
    }
  },
  "tags": [
    ["A", "B", "C"],
    ["D", "E", "F"],
    ["G", "H", "I"]
  ]}

Possibility 2: *tags": {"@container": "@list"}*

json

{
  "@context": {
    "@vocab": "http://example.org/",
    "tags": {"@container": "@list"}
  },
  "tags": [
    ["A", "B", "C"],
    ["D", "E", "F"],
    ["G", "H", "I"]
  ]}

Possibility 3:
*Other (?)*

I'm curious if any of our ontology experts have encountered the challenge
of modeling an array of arrays before and could provide some guidance on
the best approach for Nostr.  I'd like to make a first class vocab for
nostr with all best practices, and then use that as a template for other
things.

Other feedback welcome too.
Thanks,

Melvin

Received on Thursday, 4 May 2023 12:49:49 UTC