index.rst 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. LAKEsuperior
  2. ============
  3. |build status|
  4. LAKEsuperior is an alternative `Fedora
  5. Repository <http://fedorarepository.org>`__ implementation.
  6. Fedora is a mature repository software system historically adopted by
  7. major cultural heritage institutions. It exposes an
  8. `LDP <https://www.w3.org/TR/ldp-primer/>`__ endpoint to manage
  9. any type of binary files and their metadata in Linked Data format.
  10. Guiding Principles
  11. ------------------
  12. LAKEsuperior aims at being an uncomplicated, efficient Fedora 4
  13. implementation.
  14. Its main goals are:
  15. - **Reliability:** Based on solid technologies with stability in mind.
  16. - **Efficiency:** Small memory and CPU footprint, high scalability.
  17. - **Ease of management:** Tools to perform monitoring and maintenance
  18. included.
  19. - **Simplicity of design:** Straight-forward architecture, robustness
  20. over features.
  21. Key features
  22. ------------
  23. - Drop-in replacement for Fedora4 (with some
  24. :doc:`caveats <fcrepo4_deltas>`); currently being tested
  25. with Hyrax 2
  26. - Very stable persistence layer based on
  27. `LMDB <https://symas.com/lmdb/>`__ and filesystem. Fully
  28. ACID-compliant writes guarantee consistency of data.
  29. - Term-based search (*planned*) and SPARQL Query API + UI
  30. - No performance penalty for storing many resources under the same
  31. container; no
  32. `kudzu <https://www.nature.org/ourinitiatives/urgentissues/land-conservation/forests/kudzu.xml>`__
  33. pairtree segmentation \ `1 <#f1>`__\
  34. - Extensible :doc:`provenance metadata <model>` tracking
  35. - :doc:`Multi-modal access <architecture>`: HTTP
  36. (REST), command line interface and native Python API.
  37. - Fits in a pocket: you can carry 50M triples in an 8Gb memory stick.
  38. Implementation of the official `Fedora API
  39. specs <https://fedora.info/spec/>`__ (Fedora 5.x and beyond) is not
  40. foreseen in the short term, however it would be a natural evolution of
  41. this project if it gains support.
  42. Please make sure you read the :doc:`Delta
  43. document <fcrepo4_deltas>` for divergences with the
  44. official Fedora4 implementation.
  45. Target Audience
  46. ---------------
  47. LAKEsuperior is for anybody who cares about preserving data in the long
  48. term.
  49. Less vaguely, LAKEsuperior is targeted at who needs to store large
  50. quantities of highly linked metadata and documents.
  51. Its Python/C environment and API make it particularly well suited for
  52. academic and scientific environments who would be able to embed it in a
  53. Python application as a library or extend it via plug-ins.
  54. LAKEsuperior is able to be exposed to the Web as a `Linked Data
  55. Platform <https://www.w3.org/TR/ldp-primer/>`__ server. It also acts as
  56. a SPARQL query (read-only) endpoint, however it is not meant to be used
  57. as a full-fledged triplestore at the moment.
  58. In its current status, LAKEsuperior is aimed at developers and hands-on
  59. managers who are interested in evaluating this project.
  60. Status and development
  61. ----------------------
  62. LAKEsuperior is in **alpha** status. Please see the `project
  63. issues <https://github.com/scossu/lakesuperior/issues>`__ list for a
  64. rudimentary road map.
  65. Contributing
  66. ------------
  67. This has been so far a single person’s off-hours project (with much
  68. input from several sides). In order to turn into anything close to a
  69. Beta release and eventually to a production-ready implementation, it
  70. needs some community love.
  71. Contributions are welcome in all forms, including ideas, issue reports,
  72. or even just spinning up the software and providing some feedback.
  73. LAKEsuperior is meant to live as a community project.
  74. --------------
  75. 1 However if your client splits pairtrees upstream, such as Hyrax does,
  76. that obviously needs to change to get rid of the path segments.
  77. `↩ <#a1>`__
  78. .. |build status| image:: http://img.shields.io/travis/scossu/lakesuperior/master.svg?style=flat
  79. :target: https://travis-ci.org/username/repo
  80. Indices and tables
  81. ------------------
  82. * :ref:`genindex`
  83. * :ref:`modindex`
  84. * :ref:`search`
  85. .. toctree::
  86. :maxdepth: 2
  87. :caption: Contents
  88. Installation and Configuration <setup>
  89. Architecture Overview <architecture>
  90. Divergences from Fedora 4 <fcrepo4_deltas>
  91. Messaging <messaging>
  92. Migration Guide <migration>
  93. Command Line Reference <cli>
  94. Performance Benchmarks <performance>
  95. .. toctree::
  96. :maxdepth: 1
  97. :caption: In-depth tech & design
  98. Contributing <contributing>
  99. API documentation <api>
  100. Indexing Strategy <indexing_strategy>
  101. Storage Implementation <storage>
  102. Content Model <model>