GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - jazzdotdev/contentdb: The Jazz Database which Stores Documents in Files and Supports Version Control and Sharing

BranchesTags
Open more actions menu

Latest commit

 

History

13 Commits
13 Commits

Folders and files

NameName
Last commit message
Last commit date
README.md
README.md
 
 
add_document_to_index.lua
add_document_to_index.lua
 
 
base.lua
base.lua
 
 
documents.lua
documents.lua
 
 
get_document_path.lua
get_document_path.lua
 
 
get_validator.lua
get_validator.lua
 
 
mod.lua
mod.lua
 
 
query.lua
query.lua
 
 
read_document.lua
read_document.lua
 
 
read_log.lua
read_log.lua
 
 
scan_stores.lua
scan_stores.lua
 
 
setup_index.lua
setup_index.lua
 
 
setup_schema.lua
setup_schema.lua
 
 
split_header.lua
split_header.lua
 
 
validate_document.lua
validate_document.lua
 
 
walk_documents.lua
walk_documents.lua
 
 
write_file.lua
write_file.lua
 
 

Repository files navigation

ContentDB

contentdb is a document store database library that is similar to CouchDB and MongoDB.

This project follows the general "NoSQL" trend away from table-oriented databases, usually toward document-oriented or otherwise graph-oriented. It will also support outline-oriented databses, like OPML and YAML, which facilitate great data management interfaces in simple text editors and even more powerful UIs, like WorkFlowy and OmniOutliner or open source solutions like Drupal Paragraphs Drag & Drop Mode and Drupal Draggable Views with Sections (draggableviews).

What makes ContentDB significantly different from other databases is that it uses a file to store each "record", called a document, in a specified format. This is similar to RDF-style XML databases.

With this approach, you can easily manage your data storage, retreival, and other metadata storage and retrieval as well. You can easily do version control for history tracking and easy deployment. Relationships are easy to represent using reference fields. See and Pelican and Grav for other similar systems, more so Pelican because of its pelican reference plugin.

To massively improve performance and scalability, Tantivy integration can provide immediate indexing and querying. This is the same as materialized views and mongo collections.

Format

ContentDB combines one structured and one unstructured data format. Headers use SCL, and bodies use Markdown or Lua.

Header field values provide a mechanism to represent attributes of world entities in virtual document texts. Relationship fields work by using the target's model for its field. You can see this implemented in Python in the pelican plugin above and some more background info about using antisymmetric relationships.

Default ID is UUIDv4, but this will soon shift to NanoID. See #17

Short names are a missing feature. #12

Model documents started by following some json document schema or something, forgot which schema

Stores are folders with documents from a single source.

About

The Jazz Database which Stores Documents in Files and Supports Version Control and Sharing

Topics

databasedocument-orientedfile-basedjazznosqlpelicanrobust

Resources

Readme
Activity
Custom properties

Stars

6 stars

Watchers

3 watching

Forks

0 forks
Report repository

Releases

Sponsor this project

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.