about.rst 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. About Lakesuperior
  2. ==================
  3. Lakesuperior is a repository system that stores binary files and their metadata
  4. as Linked Data. It is a `Fedora Repository <http://fedorarepository.org>`__
  5. implementation focused on efficiency, stability and integration with Python.
  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 efficient and flexible Fedora 4 implementation.
  13. Its main goals are:
  14. - **Reliability:** Based on solid technologies with stability in mind.
  15. - **Efficiency:** Small memory and CPU footprint, high scalability.
  16. - **Ease of management:** Tools to perform monitoring and maintenance
  17. included.
  18. - **Simplicity of design:** Straight-forward architecture, robustness
  19. over features.
  20. Key features
  21. ------------
  22. - Drop-in replacement for Fedora4 (with some :doc:`caveats <fcrepo4_deltas>`)
  23. - Very stable persistence layer based on
  24. `LMDB <https://symas.com/lmdb/>`__ and filesystem. Fully
  25. ACID-compliant writes guarantee consistency of data.
  26. - Term-based search and SPARQL Query API + UI
  27. - No performance penalty for storing many resources under the same
  28. container; no `kudzu
  29. <https://www.nature.org/ourinitiatives/urgentissues/land-conservation/forests/kudzu.xml>`__
  30. pairtree segmentation.
  31. - Extensible :doc:`provenance metadata <model>` tracking
  32. - :doc:`Multi-modal access <architecture>`: HTTP
  33. (REST), command line interface and native Python API.
  34. - Fits in a pocket: you can carry 64M triples in a 32Gb memory stick [#]_.
  35. Implementation of the official `Fedora API
  36. specs <https://fedora.info/spec/>`__ and OCFL are currently being
  37. considered as the next major development steps.
  38. Please make sure you read the :doc:`Delta document <fcrepo4_deltas>` for
  39. divergences with the official Fedora4 implementation.
  40. Target Audience
  41. ---------------
  42. Lakesuperior is for anybody who cares about preserving data in the long
  43. term.
  44. Less vaguely, Lakesuperior is targeted at who needs to store large
  45. quantities of highly linked metadata and documents.
  46. Its Python/C environment and API make it particularly well suited for
  47. academic and scientific environments who would be able to embed it in a
  48. Python application as a library or extend it via plug-ins.
  49. Lakesuperior is able to be exposed to the Web as a `Linked Data
  50. Platform <https://www.w3.org/TR/ldp-primer/>`__ server. It also acts as
  51. a SPARQL query (read-only) endpoint, however it is not meant to be used
  52. as a full-fledged triplestore at the moment.
  53. In its current status, Lakesuperior is aimed at developers and hands-on
  54. managers who are interested in evaluating this project.
  55. Status and development
  56. ----------------------
  57. Lakesuperior is in **alpha** status. Please see the `project
  58. issues <https://github.com/scossu/lakesuperior/issues>`__ list for a
  59. rudimentary road map.
  60. Acknowledgements & Caveat
  61. -------------------------
  62. Most of this code has been written on the Chicago CTA Blue Line train and, more
  63. recently, on the Los Angeles Metro 734 bus. The author would like to thank
  64. these companies for providing an office on wheels for this project.
  65. Potholes on Sepulveda street may have caused bugs and incorrect documentation.
  66. Please report them if you find any.
  67. -------------------
  68. .. [#] Your mileage may vary depending on the variety of your triples.