W3C home > Mailing lists > Public > semantic-web@w3.org > December 2019

🚀 graphy.js - High Performance API and CLI - Major Release v4.0.0 🎉

From: Blake Regalia <blake.regalia@gmail.com>
Date: Wed, 11 Dec 2019 11:27:39 -0800
Message-ID: <CANMU0MHsaK_5qY9VYWa4ODWr9SM4bgbieAjkfiDQMb-T3m=DFw@mail.gmail.com>
To: semantic-web@w3.org, public-rdfjs <public-rdfjs@w3.org>
*[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

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:51:41 UTC