Skip to content

Passage API Requirements

Bridget Almas edited this page Oct 3, 2016 · 6 revisions

Implications for API operations:

  • query for an editions or manifestations (e.g.) of a work that contain the specified passage or passage range and where the result is a set
  • retrieve metadata about a passage
  • query for a passage based upon metadata
  • given an identifier, retrieve an ordered list of passage identifiers which are children of that identifier
    • with options to retrieve
      • descendants down to a specific depth
      • ancestors up to a specific depth
      • the lowest level of each
  • given an identifier retrieve the passage content plus the identifier for the next sibling:
    • within the same parent
    • within the next parent
    • with option to not retrieve content
  • given an identifier retrieve the passage content plus the identifier for the next passage of the same type (if we have a notion of passage types)
    • with option to not retrieve content
  • given an identifier retrieve the passage content plus the identifier for the previous sibling:
    • within the same parent
    • within the previous parent
    • with option to not retrieve content
  • given an identifier retrieve the identifier for the previous passage of the same type (if we have a notion of passage types)
    • with option to not retrieve content

User Stories and Use Cases these requirements are drawn from:

Use Cases and User Stories still to distill:

And potentially:

And possibly enabled by a passage API, but not a requirement of it specifically

Some requirements which aren't explicitly called out in the above, but which we know are there:

  • describe and navigate a "canonical" hierarchy of passages within a text that have meaning across different instantiations of that text (i.e the Hom, Il, 1.1 problem)
  • describe and navigate multiple hierarchies of passages within a text (i.e. the stephanous page question)