Fluree is a ledger-backed semantic graph database with a cloud-native architecture.
- Website
- https://flur.ee[01]
- Source Code
- https://github.com/fluree/db[02]
- Tech Docs
- https://developers.flur.ee/[03]
- @FlureePBC
- Developers
- Country of Origin
- US
- Start Year
- 2017 [04]
- Former Name
- FlureeDB
- Project Types
- Commercial, Open Source
- Written in
- Clojure
- Supported Languages
- Clojure, JavaScript
- Operating System
- All OS with Java VM
- License
- AGPL v3
Fluree is a ledger-backed semantic graph database with a cloud-native architecture.
Compression[03]
Each transaction to Fluree contains either a new RDF triple or an update to an RDF triple already in the db. Fluree converts all subject prefixes to an integer which is used in the hashing of the RDF triples. There are no null values stored in an RDF store due to the nature of the Subject-Predicate-Object format, so null values are suppressed by default.
Data Model[03]
Fluree is an extended-RDF graph database which emulates a document and relational database in that it can support GraphQL, SPARQL, document like JSON data, and a limited sub-set of SQL.
Indexes[03]
Fluree indexes are built using an AVL-tree structure and an inverted index using Lucene is available as a configuration option on individual predicates. When "fullText": true is added to a predicate an additional index is created and managed by Fluree, specifically for the predicates where this option is enabled.
Query Interface[03]
In addition to supporting GraphQL and SPARQL, Fluree has its own query language format called FlureeQL which adds support for some features not exposed via a traditional GQL or SPARQL endpoint, such as historical or block queries. SQL is also supported to a limited extent, at this time.
Storage Architecture[03]
Fluree uses disk-oriented storage at the ledger tier for more durable storage. However, the indexes which are produced can be replicated to the client and stored locally in-memory for expedited query speeds in cases where the Fluree service worker is implemented.