Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User Story: Structured Export Format #185

Closed
about-code opened this issue Sep 23, 2021 · 1 comment · Fixed by #191 or #209
Closed

User Story: Structured Export Format #185

about-code opened this issue Sep 23, 2021 · 1 comment · Fixed by #191 or #209
Labels
enhancement New feature or request
Milestone

Comments

@about-code
Copy link
Owner

about-code commented Sep 23, 2021

What's your user story?

See #181: Glossary terms found in glossary markdown files should be exported in a structured format (JSON). The export format should contain at least:

  • terms,
  • term-aliases,
  • term definitions (first line),
  • an URL or Partial URL to be prefixed

Requires #184.

@about-code about-code added the enhancement New feature or request label Sep 23, 2021
@about-code
Copy link
Owner Author

about-code commented Oct 7, 2021

Export format proposal:

Example

{
    "@context": {
        "@vocab": "https://glossarify-md.github.io/#",
        "skos": "http://www.w3.org/2004/02/skos/core#",
        "dc": "http://purl.org/dc/terms/",
        "uri": "@id",
        "type": "@type",
        "label": "skos:prefLabel",
        "definition": "skos:definition",
        "terms":   { "@container": "@id" },
        "aliases": { "@container": "@set", "@id": "skos:altLabel" },
        "abstract": "dc:abstract",
        "title": "dc:title"
    },
    "uri": "https://my.org/glossary/#",
    "type": "Glossary",
    "title": "Glossary",
    "language": "en",
    "terms": {
        "https://my.org/glossary/#Glossary": {
            "type": "Term",
            "label": "Glossary",
            "abstract": "Glossaries are collections of terms and their definitions.",
            "definition": "Glossaries are collections of terms and their definitions.",
            "aliases": [
                "Vocabulary"
            ]
        },
        "https://my.org/glossary/#Thesaurus": {
            "type": "Term",
            "label": "Thesaurus",
            "abstract": "Thesauri are word nets.",
            "definition": "Thesauri are word nets. They are informal sets of terms which are put into relation.",
            "aliases": []
        },
        "https://my.org/glossary/#Taxonomy": {
            "type": "Term",
            "label": "Taxonomy",
            "abstract": "Taxonomies are classification schemes.",
            "definition": "Taxonomies are classification schemes. Terms in a taxonomy give names to sets of things. Classes are often put into relation via hierarchical relation ships to express super and subclasses of things.",
            "aliases": []
        }
    }
}

It uses a JSON-LD @context to map data-format terms onto well-known and well-defined vocabulary terms from SKOS and Dublin Core. The idea is to have a semantically interoperable export format which can be consumed by any tool supporting JSON-LD, SKOS and Dublin Core. In addition it enables us to write a term importer not only for our own data format but many JSONish glossary data-formats as long as they are using JSON-LD as well to map their data-format terms onto SKOS and Dublin Core vocabulary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
1 participant