unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Amirouche Boubekki <amirouche.boubekki-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Guile User <guile-user-mXXj517/zsQ@public.gmane.org>,
	 Discussion list for the Wikidata project
	<Wikidata-RusutVdil2icGmH+5r0DM0B+6BGkLq7r@public.gmane.org>,
	semantic-web <semantic-web-Pl0VvzL1eo4@public.gmane.org>
Subject: [ANN] nomunofu v0.1.0
Date: Sun, 8 Dec 2019 18:52:43 +0100	[thread overview]
Message-ID: <CAL7_Mo_iaGff9qPOq7ic0i3epwd0wR-JKJcRAy_q4et5Lgo=bg@mail.gmail.com> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 2964 bytes --]

I am very pleased to announce the immediate availability of nomunofu.

nomunofu is database server written in GNU Guile that is powered by
WiredTiger ordered key-value store.

It allows to store and query triples.  The goal is to make it much easier,
definitely faster to query as big as possible tuples of three items.  To
achieve that goal, the server part of the database is made very simple and
it only knows how to do pattern matching.  Also, it is possible to swap the
storage engine to something that is horizontally scalable and resilient.

The client must be smarter, and do as they please to full-fill user
requests. Today release only include a minimal Python client.  In the
future, I plan to extend the Python client to fully support SPARQL 1.1.

Preliminary tests over 100 000 and 1 000 000 triples are good looking. Next
step is to reach 1 billion triples and eventually 9 billions wikidata
triples.

You can get the code with the following command:

  git clone https://github.com/amirouche/nomunofu

After the installation of GNU Guix [0], you can do:

  make init && gunzip test.nt.gz && make index && make web

And in another terminal:

  make query

Thanks to Guix, portable binaries for amd64 Ubuntu 18.04 will be made
available in a few weeks, along with this, a docker image will be built.
The binary release will include wikidata pre-loaded.

[0] https://guix.gnu.org/download/

Here is an example ipython session:

$ ipython
Python 3.7.3 (default, Oct  7 2019, 12:56:13)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.10.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from nomunofu import Nomunofu


In [2]: from nomunofu import var


In [3]: nomunofu = Nomunofu('http://localhost:8080');


In [4]: nomunofu.query((var('uid'), "
http://www.w3.org/2000/01/rdf-schema#label",  "Belgium"))

Out[4]: [{'uid': 'http://www.wikidata.org/entity/Q31'}]

In [5]: nomunofu.query((var('uid'), "
http://www.w3.org/2000/01/rdf-schema#label",  "Belgium"), (var('about'),
"http://
   ...: schema.org/about", var('uid')))

Out[5]:
[{'uid': 'http://www.wikidata.org/entity/Q31',
  'about': 'https://www.wikidata.org/wiki/Special:EntityData/Q31'},
 {'uid': 'http://www.wikidata.org/entity/Q31',
  'about': 'https://it.wikivoyage.org/wiki/Belgio'},
 {'uid': 'http://www.wikidata.org/entity/Q31',
  'about': 'https://an.wikipedia.org/wiki/Belchica'},
 {'uid': 'http://www.wikidata.org/entity/Q31',
  'about': 'https://sl.wikipedia.org/wiki/Belgija'},
 {'uid': 'http://www.wikidata.org/entity/Q31',
  'about': 'https://pfl.wikipedia.org/wiki/Belgien'},
 {'uid': 'http://www.wikidata.org/entity/Q31',
  'about': 'https://crh.wikipedia.org/wiki/Bel%C3%A7ika'},
 {'uid': 'http://www.wikidata.org/entity/Q31',
  'about': 'https://fiu-vro.wikipedia.org/wiki/Belgi%C3%A4'},
 {'uid': 'http://www.wikidata.org/entity/Q31',
  'about': 'https://fr.wikipedia.org/wiki/Belgique'}
...

Cheers,

Amirouche ~ zig ~ https://hyper.dev

[-- Attachment #1.2: Type: text/html, Size: 6063 bytes --]

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
Wikidata mailing list
Wikidata@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata

             reply	other threads:[~2019-12-08 17:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-08 17:52 Amirouche Boubekki [this message]
     [not found] ` <CAL7_Mo_iaGff9qPOq7ic0i3epwd0wR-JKJcRAy_q4et5Lgo=bg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-12-10  9:52   ` [ANN] nomunofu v0.1.0 Amirouche Boubekki
2019-12-12 14:57     ` Amirouche Boubekki
2019-12-12 15:57       ` tomas
2019-12-16 12:49         ` Amirouche Boubekki
2019-12-22 20:17     ` Amirouche Boubekki
     [not found]       ` <CAL7_Mo_JxZjrrXQzE99nKgoZ94mVrbQLMT+15Gb9PwioOFQVkw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-12-22 23:36         ` Ted Thibodeau Jr
2019-12-23  8:56           ` [Wikidata] " tomas
2019-12-23 12:34             ` Roel Janssen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAL7_Mo_iaGff9qPOq7ic0i3epwd0wR-JKJcRAy_q4et5Lgo=bg@mail.gmail.com' \
    --to=amirouche.boubekki-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=Wikidata-RusutVdil2icGmH+5r0DM0B+6BGkLq7r@public.gmane.org \
    --cc=guile-user-mXXj517/zsQ@public.gmane.org \
    --cc=semantic-web-Pl0VvzL1eo4@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).