- From: Blake Regalia <blake.regalia@gmail.com>
- Date: Wed, 11 Dec 2019 11:27:39 -0800
- To: semantic-web@w3.org, public-rdfjs <public-rdfjs@w3.org>
- Message-ID: <CANMU0MHsaK_5qY9VYWa4ODWr9SM4bgbieAjkfiDQMb-T3m=DFw@mail.gmail.com>
*[Crossposted to Semantic Web and RDFJS mailing lists]*
Dear all, I am pleased to announce a new major release of graphy, a
collection of *high-performance RDF libraries* for *JavaScript* developers, see
benchmarks here
<https://github.com/blake-regalia/graphy.js/tree/master/perf>.
Available on npm, graphy also ships a *powerful command-line interface* for
manipulating RDF data using *limits, filters, transforms, unions, diffs,
and many more*.
* Comparison to N3.js*: graphy covers many of the same functionalities
as N3.js (including N-Triples, N-Quads, Turtle and TriG streaming and
non-streaming readers and writers, RDFJS Data Factory and Dataset), but
graphy outperforms N3.js in all of these categories
<https://github.com/blake-regalia/graphy.js/tree/master/perf>. One feature
that graphy currently lacks however is a parser for the N3 language.
*More information at* https://graphy.link/ *and*
https://github.com/blake-regalia/graphy.js
*This update* brings many new features to all the packages, with some
necessary breaking changes, several fixes to the readers and writers, and
performance improvements across the board. See CHANGELOG
<https://github.com/blake-regalia/graphy.js/blob/master/CHANGELOG.md>.
Some CLI examples (see documentation here <https://graphy.link/cli> for
more):
1) Count the number of distinct triples in a Turtle file:
$ graphy read -c ttl / distinct --triples < input.ttl
2) Count the number of distinct subjects that are of type dbo:Place in an
N-Quads file:
$ graphy read -c nq / filter -x '; a; dbo:Place' / distinct --subjects <
places.nq
3) Compute the difference between two RDF datasets 'a.trig' and 'b.trig':
$ graphy read / diff / write --inputs a.trig b.trig > diff.trig
4) Compute the canonicalized union of a bunch of RDF datasets in the
'data/' directory:
$ graphy read / union / write --inputs data/*.{nt,nq,ttl,trig} >
output.trig
5) Extract the first 2 million quads of a Turtle file:
$ graphy read -c ttl / head 2e6 / write -c ttl < in.ttl > view-2M.ttl
6) Materialize the inverse relations for all triples with the owl:sameAs
predicate, but only where the object is a *node* and different from the
subject:
$ graphy read / filter -x '!$object; owl:sameAs; {node}' / transform -j 't
=> [t.o, t.p, t.s]' / write -c ttl < input.ttl > output.ttl
- Blake Regalia
Received on Wednesday, 11 December 2019 19:27:57 UTC