From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: tantalum Newsgroups: gmane.lisp.guile.user Subject: [ANN] a graph database: sph-dg Date: Mon, 03 Nov 2014 20:39:51 +0100 Message-ID: <5457DA07.6050604@posteo.eu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1415043741 15815 80.91.229.3 (3 Nov 2014 19:42:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 3 Nov 2014 19:42:21 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Nov 03 20:42:16 2014 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XlNW2-0004Oa-1Z for guile-user@m.gmane.org; Mon, 03 Nov 2014 20:42:14 +0100 Original-Received: from localhost ([::1]:37033 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XlNW1-0004Vb-Ne for guile-user@m.gmane.org; Mon, 03 Nov 2014 14:42:13 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41006) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XlNVp-0004R1-1d for guile-user@gnu.org; Mon, 03 Nov 2014 14:42:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XlNVh-0003dV-M0 for guile-user@gnu.org; Mon, 03 Nov 2014 14:42:00 -0500 Original-Received: from mx02.posteo.de ([89.146.194.165]:38593) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XlNVh-0003c0-GL for guile-user@gnu.org; Mon, 03 Nov 2014 14:41:53 -0500 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by mx02.posteo.de (Postfix) with ESMTP id 9F6FB25A3DEB for ; Mon, 3 Nov 2014 20:40:02 +0100 (CET) X-Virus-Scanned: amavisd-new at posteo.de Original-Received: from posteo.de ([10.125.125.178]) (using TLS with cipher AES256-GCM-SHA384) by localhost (amavis1.posteo.de [10.125.125.165]) (amavisd-new, port 10026) with ESMTPS id 8V_k6J0PlJzf for ; Mon, 3 Nov 2014 20:39:58 +0100 (CET) Original-Received: from mail.posteo.de (localhost [127.0.0.1]) by mail.posteo.de (Postfix) with ESMTPSA id 6CE6D2C00FD for ; Mon, 3 Nov 2014 20:39:56 +0100 (CET) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 89.146.194.165 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:11619 Archived-At: hi. in the past year i have implemented my idea of how a basic graph database should look like, with guile. and today it seems quite stable and usable. it uses a memory-mapped data store to persist bi-directionally ordered (or weighted) pairs (what would be edges of a graph), bytevectors, strings and signed integers as well as references to files in the filesystem. it currently supports at most one open database per process and a socket based interface for inter-database communication. it is supposed to be concurrency safe and there are extended and experimental features available in a separate sph-lib-dg library (http://sph.io/content/3217). for example a semantic userspace filesystem, special query processors or procedures for the creation of data structures like sets and lists using pairs/edges here is the link to the project page: http://sph.io/content/2faf