Sanskrit Quote DB library

A collection of scala classes for accessing the sanskrit subhaShita / quote database. Contributions and suggestions are invited at https://github.com/sanskrit-coders/subhAShita-db-sanskrit . (Sister projects there may also be of interest.)

License

License

GroupId

GroupId

com.github.sanskrit-coders
ArtifactId

ArtifactId

quote-db
Last Version

Last Version

1.0
Release Date

Release Date

Type

Type

jar
Description

Description

Sanskrit Quote DB library
A collection of scala classes for accessing the sanskrit subhaShita / quote database. Contributions and suggestions are invited at https://github.com/sanskrit-coders/subhAShita-db-sanskrit . (Sister projects there may also be of interest.)
Project URL

Project URL

https://github.com/sanskrit-coders/subhAShita-db-sanskrit
Source Code Management

Source Code Management

https://github.com/sanskrit-coders/subhAShita-db-sanskrit

Download quote-db

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.sanskrit-coders/quote-db/ -->
<dependency>
    <groupId>com.github.sanskrit-coders</groupId>
    <artifactId>quote-db</artifactId>
    <version>1.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.sanskrit-coders/quote-db/
implementation 'com.github.sanskrit-coders:quote-db:1.0'
// https://jarcasting.com/artifacts/com.github.sanskrit-coders/quote-db/
implementation ("com.github.sanskrit-coders:quote-db:1.0")
'com.github.sanskrit-coders:quote-db:jar:1.0'
<dependency org="com.github.sanskrit-coders" name="quote-db" rev="1.0">
  <artifact name="quote-db" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.sanskrit-coders', module='quote-db', version='1.0')
)
libraryDependencies += "com.github.sanskrit-coders" % "quote-db" % "1.0"
[com.github.sanskrit-coders/quote-db "1.0"]

Dependencies

compile (9)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.11.8
org.scala-lang : scala-xml jar 2.11.0-M4
com.github.sanskrit-coders : indic-transliteration jar 1.1
org.apache.commons : commons-csv jar 1.4
com.couchbase.lite : couchbase-lite-java jar 1.4.0
org.json4s : json4s_2.11 jar 3.2.11
org.json4s : json4s-native_2.11 jar 3.2.11
ch.qos.logback : logback-classic jar 0.9.29
ch.qos.logback : logback-core jar 0.9.29

Project Modules

There are no modules declared in this project.

Introduction

Goal

We've set out to build a database of subhAShita​-s (= worthy quotes) which is:

  • Universal
    • Its goal is to contain within it every worthy subhAShita ever composed.
    • In fact, the ambition encompasses all languages, verse and prose forms.
  • Freely and easily available. Anyone should be able to
    • Access it
    • Export it in other formats
    • Present it in any way users will find convenient.
      • Eg. the upcoming [subhAShita-pratimAlA] app project.
  • Growing constantly in number
    • sarasvatI still suckles some amongst us at her bosom!
  • Growing constantly in annotations/ ratings
    • add annotations (rating, description, translations, metre, flaws, sources ...)

Expected extensions

  • We hope that this will motivate other such long-sought-after universal databases for sanskrit connoiseurs, like: one for metres.
  • The clients built for this database could serve as a model for other kAvya readers.
    • Similarly, one can build a collaboratively annotated and rated collection of verses/ sentences within the context of long sequential works (rather than free floating subhAShita-s).

Motivation

  • One of the greatest (and useful) pleasures I've had in tough times is retreat for a while into the world of beautiful subhAShita-s - and then burst back out like the vRtraghna armed with dadhIchi's bones.
  • I especially like online collections curated by some friends and myself:
    • since a book is not always available, and
    • I want to collect + easily access choice ones for future enjoyment.
  • But it is tedious (atleast for me) to sit in front of a computer to do the following:
    • read them,
    • or scour the internet for new ones
    • or collect favorites in a spreadsheet
    • or just annotate them with comments.
  • So, it is desirable to:
    • make the above as simple and easy as possible,
    • and to share our collective labor so that we can benefit more easily from each others' work.

Database and API

  • Periodic update announcements here.

Couchdb

API-s

  • Querying quote entries: use the database and the index_headwords index
    • Get a particular entry: link.
    • Get 20 some quotes starting with ast: link .

Database replicas

Technical choices

  • Use Nosql rather than a relational database as the primary canonical database.
    • Reasons (from here ):
      • The need to develop with agility
        • Simplicity (less need to join n tables)
        • Flexibility (schema can easily be changed)
      • distributed nature: ability to operate at any scale.
        • Database copies can sync with each other easily - no centralization is good.
    • Comparison here .
    • Alternatives for mobile offline use:
      • Couchbase database, since it can be used in many mobile OS-s.
      • Realm.io - good for storing plain Java objects via JSON.
      • Google Firebase for key-value storage - 1GB free.
  • Scala for the ingestion libraries (same justification as expressed here ).

Contribution

A note for subhAShita collectors

  • Are you a collector of subhAShita-s? Would you like to contribute your collection to the database? You're very welcome!
  • But you should make your collection available in such a way that a machine which does not know human languages can distinguish individual quotes, ratings and various other details.
  • सङ्क्षेपेण - मानुषभाषाङ्कामप्य् अनवगच्छता यन्त्रेणापि "अस्यां सुभाषितावल्यां सन्तीमे सुभाषिताः। अमुकस्य सुभाषीतस्यैते विषयाः। अस्मिन् सुभाषीते कस्यचिदियं टिप्पणिः। सुभाषितमिदम् अस्मै ५/५ इति मानेन रोचते। अपरस्मै ३/५ इति मानेन। अस्य सुभाषितस्य लेखकोऽसौ।" इति ग्राह्यं स्यात्। तेन पाठकानुकूलं संलक्ष्य भवितुमर्हति सङ्ग्रहस्य यान्त्रिक-प्रस्तुतिः।

Code Contribution

Links to general comments

See indic-transliteration/README for the following info:

com.github.sanskrit-coders

Sanskrit Open Source Programmers

Versions

Version
1.0