ATLAS Data Directory structure - scaife-viewer/scaife-viewer.org GitHub Wiki

(informed by http://capitains.org/pages/guidelines#directory-structure)

Loading texts into an ATLAS server

data/library is the root directory containing the texts and metadata supporting the texts.

Texts should be stored using the following directory structure:

data/library/
  |- textgroup
    |- metadata.json
    |- work
      |- metadata.json
      |- full-urn.txt

e.g.

data/library/
  |- tlg0012
    |- metadata.json
    |- tlg0001
      |- metadata.json
      |- tlg0012.tlg001.perseus-grc2.txt

Metadata examples:

  • textgroup level: data/library/tlg0012/metadata.json
  • work level: data/library/tlg0012/tlg0001/metadata.json

Code

Library singleton:

https://github.com/scaife-viewer/explorehomer-atlas/blob/b1e0b584d0a44196db871ec783b27831ac83d6bb/readhomer_atlas/library/importers.py#L16 resolve_library:

https://github.com/scaife-viewer/explorehomer-atlas/blob/b1e0b584d0a44196db871ec783b27831ac83d6bb/readhomer_atlas/library/importers.py#L126

References

Resolver data structure:

{
  "text_groups": {
    "urn:cts:greekLit:tlg0012:": {
      "urn": "urn:cts:greekLit:tlg0012:",
      "node_kind": "textgroup",
      "name": [
        {
          "lang": "eng",
          "value": "Homer"
        }
      ]
    }
  },
  "works": {
    "urn:cts:greekLit:tlg0012.tlg001:": {
      "urn": "urn:cts:greekLit:tlg0012.tlg001:",
      "group_urn": "urn:cts:greekLit:tlg0012:",
      "node_kind": "work",
      "lang": "grc",
      "title": [
        {
          "lang": "eng",
          "value": "Iliad"
        }
      ],
      "versions": [
        {
          "urn": "urn:cts:greekLit:tlg0012.tlg001.perseus-grc2:",
          "node_kind": "version",
          "version_kind": "edition",
          "lang": "grc",
          "first_passage_urn": "urn:cts:greekLit:tlg0012.tlg001.perseus-grc2:1.1-1.7",
          "citation_scheme": [
            "book",
            "line"
          ],
          "label": [
            {
              "lang": "eng",
              "value": "Iliad (Greek Text of Munro & Allen)"
            }
          ],
          "description": [
            {
              "lang": "eng",
              "value": "Homer, creator; Monro, D. B. (David Binning), 1836-1905, creator; Monro, D. B. (David Binning), 1836-1905, editor; Allen, Thomas W. (Thomas William), b. 1862, editor"
            }
          ]
        }
      ]
    },
    "urn:cts:greekLit:tlg0012.tlg002:": {
      "urn": "urn:cts:greekLit:tlg0012.tlg002:",
      "groupUrn": "urn:cts:greekLit:tlg0012:",
      "node_kind": "work",
      "lang": "grc",
      "title": [
        {
          "lang": "eng",
          "value": "Odyssey"
        }
      ],
      "versions": [
        {
          "urn": "urn:cts:greekLit:tlg0012.tlg002.perseus-grc2:",
          "node_kind": "version",
          "version_kind": "edition",
          "lang": "grc",
          "first_passage_urn": "urn:cts:greekLit:tlg0012.tlg002.perseus-grc2:1.1-1.10",
          "citation_scheme": [
            "book",
            "line"
          ],
          "label": [
            {
              "lang": "eng",
              "value": "Odyssey (Greek Text of Murray)"
            }
          ],
          "description": [
            {
              "lang": "eng",
              "value": "Homer, creator; Murray, A. T. (Augustus Taber), 1866-1940, editor"
            }
          ]
        }
      ]
    }
  },
  "versions": {
    "urn:cts:greekLit:tlg0012.tlg001.perseus-grc2:": {
      "format": "txt",
      "path": "/Users/jwegner/Data/development/repos/scaife-viewer/explorehomer-atlas/data/library/tlg0012/tlg001/tlg0012.tlg001.perseus-grc2.txt",
      "urn": "urn:cts:greekLit:tlg0012.tlg001.perseus-grc2:",
      "node_kind": "version",
      "version_kind": "edition",
      "lang": "grc",
      "first_passage_urn": "urn:cts:greekLit:tlg0012.tlg001.perseus-grc2:1.1-1.7",
      "citation_scheme": [
        "book",
        "line"
      ],
      "label": [
        {
          "lang": "eng",
          "value": "Iliad (Greek Text of Munro & Allen)"
        }
      ],
      "description": [
        {
          "lang": "eng",
          "value": "Homer, creator; Monro, D. B. (David Binning), 1836-1905, creator; Monro, D. B. (David Binning), 1836-1905, editor; Allen, Thomas W. (Thomas William), b. 1862, editor"
        }
      ]
    },
    "urn:cts:greekLit:tlg0012.tlg002.perseus-grc2:": {
      "format": "txt",
      "path": "/Users/jwegner/Data/development/repos/scaife-viewer/explorehomer-atlas/data/library/tlg0012/tlg002/tlg0012.tlg002.perseus-grc2.txt",
      "urn": "urn:cts:greekLit:tlg0012.tlg002.perseus-grc2:",
      "node_kind": "version",
      "version_kind": "edition",
      "lang": "grc",
      "first_passage_urn": "urn:cts:greekLit:tlg0012.tlg002.perseus-grc2:1.1-1.10",
      "citation_scheme": [
        "book",
        "line"
      ],
      "label": [
        {
          "lang": "eng",
          "value": "Odyssey (Greek Text of Murray)"
        }
      ],
      "description": [
        {
          "lang": "eng",
          "value": "Homer, creator; Murray, A. T. (Augustus Taber), 1866-1940, editor"
        }
      ]
    }
  }
}

Homer text group from PDL:

https://github.com/PerseusDL/canonical-greekLit/tree/master/data/tlg0012

Homer text group from explore-homer-atlas

https://github.com/scaife-viewer/explorehomer-atlas/blob/f896c122f867d83a885d0ca26212c258c0b25bdf/data/library/tlg0012/metadata.json