Draft Spec: Gardens

Lev Eliezer Israel edited this page Jul 20, 2015 · 13 revisions


  • A garden is a large collection of interconnected sources and content chunks (blobs).
  • Sources and texts in a garden can carry many elements of metadata about themselves and about their relationships to other texts/sources.
  • The presentation of a garden is not set - it can be viewed by the user in many different ways.


Initial Gardens:

  • Sources on Jerusalem (R. Mike Feuer)
  • Study of a Teaching of the Maggid (R. Dr. Ariel Mayse)
  • Sources on Ecology and Kabbalah (R. Dr. David Seidenberg)
  • A sourcebook from Noam Tzion


  • Stage 1 - (Support for Kabbalah and Ecology)

    • Bag of sources
    • Tags
      • Part of Generic tag feature?
      • Collection tag is a particular kind of tag
      • Present endorsed/owned tags separately from general tags?
    • Time
    • Geo

    • Author Interface:

      • Add a source / version
      • NTH: Add a translation
    • User presentation:

      • Sort by time / era
      • Sort by tag
  • Stage 2 - (Support for Ariel Mayse's research):

    • support relationships between sources in data model
      • Based on our core Link model
      • Support ad-hoc generation of influence / impact of a particular source
      • Present endorsed/owned links separately from general links?
    • visual presentation of source relationships
    • NTH: author interface support for adding relationships
    • NTH: Show on map
    • NTH: Map over time
  • Stage 3 - (Support for Noam Zion):

    • TOC presentation
    • BLOBS



The types of metadata tracked on sources is defined on the Garden level.

Types of Metadata on Sources

Included in all gardens by default:

  • Source text
  • Year / Era (derived from source text)
  • Origin Location (derived from source text)

Types of metadata available

  • Topic Tag
  • Boolean classification
  • Tree Ordering (partial or complete)
  • Binary relationship - typed, directional e.g. "Influenced"


Presentation types

The types of presentation available are defined on the Garden level.

Overview presentation types

  • Table of contents / Tree
  • By Era (also a tree?)
  • On a map
  • On a map with timeline slider
  • Relationship paths (horizontal tree)

Immersed presentation types

  • Walking the paths of relationships


Any of the overview presentation types can be filtered

  • by boolean
  • by tag (Filters could emphasize selected nodes or hide no-selected nodes. Relevant question when filtering out a step in relationship tree)


Concepts to Model


Garden Stop

  • Source
  • Blob

Metadata on a stop


  • Each garden define the shape of the metadata for a stop. The stops carry the data.
  • Deine an EAV model (this seems mismatched for a nosql data store)

Relationship between stops

  • Needs to have a type
  • Is this a first class entity?
  • If gardens define the shape of stops, then there can be multiple 'relationship type' fields

Ordered tree / TOC

  • This could potentially be derived from relationships
  • Or - it could be a first class entity


Process issues - Working with our contributors

  • Getting a bibliography of sources
  • Creating Indexes (or not)
  • Entering text
  • Protecting text


Other Questions

  • Curation / permission
  • Relationship between TOC type view of text and Reader
  • Relationship to complex text builder
  • Relationship to source sheets
  • Regarding texts that we don't have Index records for - do we have an Index record created for all of them or allow creation of loosely referenced texts?
  • Do we allow editing of texts in the garden, diverging from the core library?
  • If we handle transclusion of texts, can a Garden be conceived of as a complex text?


Notes from the team

Gabe says - Everyone should be able to write a book on Sefaria

Daniel - Anything can become a collection

Sara - Collections as curricula with lenses into different levels of presentation, e.g. Middle School, High School, College