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

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.