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

Hey Ruben,

Thank you for the feedback! Yes, I totally agree. Adding TypeScript
definitions is a top priority for the the next or following minor release.
Perhaps I should document planned features in the README but I will open an
issue for now.
Some progress has already been made in development, e.g., the Data Factory
definitions currently exist offline and extend the interface in
@types/rdf-js, but has not been tested.

Cheers,
 - Blake


On Wed, Dec 11, 2019 at 11:54 PM Ruben Taelman <ruben.taelman@ugent.be>
wrote:

> Hi Blake,
>
> Great work on this!
> Graphy is definitely a big next step towards improved RDF development in
> JavaScript.
>
> Do you have any plans for adding TypeScript support?
> For a library of this size, such typings would be very valuable for
> developers that want to use it.
> It would greatly reduce API discovery effort, and move usage errors from
> runtime to compile time.
>
> Kind regards,
> Ruben Taelman
>
> On 11 December 2019 at 20:28:56, Blake Regalia (blake.regalia@gmail.com)
> wrote:
>
> *[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 Friday, 13 December 2019 01:34:31 UTC