asami
grakn
Our great sponsors
asami | grakn | |
---|---|---|
6 | 11 | |
626 | 3,671 | |
0.6% | 0.9% | |
0.0 | 9.3 | |
about 2 years ago | 3 days ago | |
Clojure | Java | |
Eclipse Public License 1.0 | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
asami
- Ask HN: What are some 'cool' but obscure data structures you know about?
-
Ask HN: Why are relational DBs are the standard instead of graph-based DBs?
Unlike some other commenters, I agree that graph models are usually a better fit for most data than relational models. There's been some interesting work in recent years developing this idea: in the Clojure world there's Datomic, XTDB, and a host of competitors, all of which build on work from Semantic Web/SPARQL/triplestores and logic programming. Some are even intended to be used as primary datastores: they support some amount of schema and constraints, have well-defined consistency and ACID guarantees, etc. This makes them unlike graph databases like Neo4J and others, which fill an architectural role more like Elasticsearch as a read-optimization tool. Here's an interesting talk making a case for triple-based databases.
- Introduction to the Asami Graph Database
-
How to query Datomic, Datascript, Asami, or other graph databases
Despite the documentation that exists, I've heard many people who have been confused about how to query Datomic, Datascript, Asami, or other graph databases. So I've made an attempt at explaining it https://github.com/threatgrid/asami/wiki/Introduction
- Introduction (To Graph Databases)
-
Asami
The first Graph implementation for Asami was a simple in-memory data structure, described in my ClojureD talk. The code for this appears in asami.index. This file started much smaller (as referenced above), but has since expanded with the needs extended functionality, such as transactions, and transitive closure operations.
grakn
- Datomic Is Now Free
-
Best Websites For Coders
TypeDB : A Strongly-typed Database
-
Fluree DB - A datomic like database that I just discovered
How does it compare to, say grakn (renamed https://vaticle.com/, I think?), or draph (https://dgraph.io/), or Ontotext's GraphDB (https://www.ontotext.com/products/graphdb/), or Datomic?
- Typedb
-
Firebase is Dead: What is the Perfect Database in 2022?
Edge database looks pretty freakin awesome. It basically seems to re-write SQL and Graph databases together to create some new-ish programming language. It takes care of all the problems GraphQL has, and seems to be built separately but on top of postgres. It is really something unique, beautiful, and powerful. They don't have a security layer yet or a cloud hosting environment, but both are in the works. However, postgres still suffers from the scalable problems we all know. If you like unique fetching and strong typing, also check out TypeDB. It doesn't make its own list number because there is not cloud version, middleware, etc. However, worth checking out.
-
Ask HN: Why are relational DBs are the standard instead of graph-based DBs?
If you find yourself limited by triplestores, there's also a new growing area of development in knowledge engines, which allow edges-of-edges, entailed relations, hypergraph relations, and more of the power you'd get from full logic programming. TypeDB (recently renamed from Grakn) is an example of that type of database.
-
How Roche Discovered Novel Potential Gene Targets with TypeDB
In the story to follow, David presents how his team at Roche was able to identify potential novel targets that were not identified by Open Targets as highly ranked. This was made possible with TypeDB, which his team used to store the relevant data and then find underlying biological evidence for those new targets.
-
Why are the downloaded zip files not in scope?
{ stdenv, lib, openjdk,typedbHome ? "~/.typedb_home", fetchzip}: let typedbVersion = "2.1.1"; typedbDirLinux = "typedb-all-linux-${typedbVersion}"; typedbDirMac = "typedb-all-mac-${typedbVersion}"; typedbDirWindows = "typedb-all-windows-${typedbVersion}"; typedbDir = if stdenv.hostPlatform.isWindows then typedbDirWindows else if stdenv.isDarwin then typedbDirMac else typedbDirLinux; linuxSrc = builtins.fetchTarball { url = "https://github.com/vaticle/typedb/releases/download/2.1.1/typedb-all-linux-2.1.1.tar.gz"; sha256 = "15nwm2dr68p67c2xcqigs66gd679j1zr72gqv7qxgvflwyvyz8fb"; }; windowsSrc = fetchzip { url = "https://github.com/vaticle/typedb/releases/download/2.1.1/typedb-all-windows-2.1.1.zip"; sha256 = "0vd66gfshkg697z07nhy957mwqzlli4r4pmn67hx58n9mkg024kq"; }; macSrc = fetchzip { url = "https://github.com/vaticle/typedb/releases/download/2.1.1/typedb-all-mac-2.1.1.zip"; sha256 = "16hlfy6kh2rnvcralz206q13mghb0rv8wazpg6q3h324p5rdys54"; }; srcFolder = if stdenv.hostPlatform.isWindows then windowsSrc else if stdenv.isDarwin then macSrc else linuxSrc ; javaPatch = '' 20c20 < JAVA_BIN=java --- > JAVA_BIN=${openjdk}/bin/java ''; in stdenv.mkDerivation rec { pname = "typedb"; version = typedbVersion; src = srcFolder; phases = [ "installPhase" ]; buildDepends = [ openjdk ]; installPhase = '' echo "here" # added for debugging ls -lah # " echo "--" # " #patch before install echo "${javaPatch}" > typedb_java.patch patch ./${typedbDir}/typedb typedb_java.patch mkdir $out cp -r ./${typedbDir} $out # add a wrapper script to $out that will move typedb to $typedb # this is necessary because typedb needs a writable environment echo " # on the first start copy everything to typedbHome if [ ! -f ${typedbHome}/typedb ]; then mkdir -p ${typedbHome}; cp -r $out/${typedbDir}/* ${typedbHome}; # correct permissions so that typedb and the user can write there chmod -R u+rw ${typedbHome} chmod u+x ${typedbHome}/typedb fi; ${typedbHome}/typedb \$@; " > $out/typedb chmod +x $out/typedb ''; doCheck = true; meta = with lib; { description = "TypeDB is a distributed knowledge graph: a logical database to organise large and complex networks of data as one body of knowledge."; longDescription = '' TypeDB is a distributed knowledge graph: a logical database to organise large and complex networks of data as one body of knowledge. TypeDB provides the knowledge engineering tools for developers to easily leverage the power of Knowledge Representation and Automated Reasoning when building complex systems. Ultimately, TypeDB serves as the knowledge-base foundation for intelligent systems. ''; homepage = "https://www.grakn.ai/"; license = licenses.gpl3Plus; platforms = platforms.all; maintainers = [ maintainers.haskie ]; }; }
-
Best Websites Every Programmer Should Visit
grakn.ai : The Database for AI
-
Need Graph Db Recommendations Lightweight Neo4j
Give the open-source Grakn a look as well (full transparency: I work there), it is an abstraction over a built in-house hypergraph storage engine and persisted layer using RocksDB. It's a logical database with a reasoning engine at the database level. https://github.com/graknlabs/grakn
What are some alternatives?
datascript - Immutable database and Datalog query engine for Clojure, ClojureScript and JS
datalevin - A simple, fast and versatile Datalog database
crux - General purpose bitemporal database for SQL, Datalog & graph queries. Backed by @juxt [Moved to: https://github.com/xtdb/xtdb]
topic-db - TopicDB is a topic maps-based semantic graph store (using SQLite for persistence)
datahike - A durable Datalog implementation adaptable for distribution.
Serpent.AI - Game Agent Framework. Helping you create AIs / Bots that learn to play any game you own!
Apache AGE - Graph database optimized for fast analysis and real-time data processing. It is provided as an extension to PostgreSQL. [Moved to: https://github.com/apache/age]
gremlin-scala - Scala wrapper for Apache TinkerPop 3 Graph DSL
naga - Datalog based rules engine