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
next 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).