- 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