tripLL alternatives and similar packages
Based on the "Database" category.
Alternatively, view tripLL alternatives based on common mentions on social networks and blogs.
-
erd
Translates a plain text description of a relational database schema to a graphical entity-relationship diagram. -
HDBC-session
This repository includes a joined query generator based on typefull relational algebra, and mapping tools between SQL values list and Haskell record type. -
groundhog
This library maps datatypes to a relational model, in a way similar to what ORM libraries do in OOP. See the tutorial https://www.schoolofhaskell.com/user/lykahb/groundhog for introduction -
mysql-simple
A mid-level client library for the MySQL database, intended to be fast and easy to use. -
dbmigrations
DISCONTINUED. A library for the creation, management, and installation of schema updates for relational databases. -
ampersand
Build database applications faster than anyone else, and keep your data pollution free as a bonus. -
hsparql
hsparql includes a DSL to easily create queries, as well as methods to submit those queries to a SPARQL server, returning the results as simple Haskell data structures.
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of tripLL or a related project?
README
tripLL
Introduction
tripLL
is a very simple triple store, written in Haskell. It provides a basic interface to write, delete and query triples -- in fact, that's it. On top, there are some bindings to realizations of triple stores, such that this tiny library can be used out of box.
Right now it is thought that exactly one binding is imported within a project and only this binding (since it re-exports the interface).
A simple example
{-# LANGUAGE OverloadedStrings #-}
{- This examples uses the leveldb realization. This means that triples become triples of strict bytestrings and the leveldb lib has to be installed. -}
import TripLL.Bindings.LevelDBHexa
main = do -- open the database:
handle <- createAndOpen "data/store.tripdb" :: IO LevelDBHexa
-- batch something into it:
batch [ Put (Triple "Frenzy" "likes" "Jealousy")
, Put (Triple "Hate" "loves" "Hatred")
, Put (Triple "Frenzy" "likes" "Hate")]
handle
-- querying the database:
res <- query (Triple (Just "Frenzy") Nothing Nothing) handle
-- now, `res :: [Triple Strict.ByteString]`, do something with it...
-- ...
-- and clean up:
close handle
Contributions
The LevelDB Binding is based upon (http://nodejsconfit.levelgraph.io/), which is based upon the idea to build up a hexastore. Freely interpreted.