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

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*

*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

Some CLI examples (see documentation here <https://graphy.link/cli> for

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   <

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}   >

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

$ 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 : Tuesday, 5 July 2022 08:46:02 UTC