On Tue, Oct 21, 2025 at 9:57 AM Miel Vander Sande <[email protected]> wrote: > > Hi Niklas,
Hi Miel, Sorry for the late reply (some health issues got in the way)! > What's the focus of the TRLD project? Just the algorithms or does it extend > to a JSON-LD parser too? Of is TRLD a library that can be used by a JSON-LD > library? The focus is to implement the JSON-LD algorithms verbatim, mainly expansion, compaction and flattening, and to be able to transpile these into other languages (currently Java and JS). Some algorithm issues have cropped up by doing that. It has since been extended to do some extras, including automatic framing of "object-only" linked blank nodes, and indexing by @id and/or @type, TriG and N-quads parsing and serializing, and a vocabulary mapper (based on RDFS and OWL). In some way, it functions as a low-level RDF library, with the internal JSON-LD data model as an "abstract syntax tree". Library-wise, I have not stabilized the processor API, and it is still at a semantic 0.x version, so I do not generally advocate it as API-stable. I do use it daily, mainly through its `trld` CLI [1], but also in some other tools, importing most things from trld.api [2] (I think peeking into those can give a generally good glimpse of how to use this in other tooling). The Java-transpiled code is also used in the library system I work with on a daily basis, mainly for speedy output of RDF (Turtle/Trig) for indexing and conneg, but in the recent years also for mapping and compaction. I have not deeply compared the PyLD implementation "step by step", so I cannot fully say how TRLD differs, but I think I've heard that PyLD isn't always 1:1 with the spec steps (which doesn't necessarily matter if the same output is achieved). That said, TRLD also optimizes some things in the context processing (to avoid reprocessing); something that *might* be valuable to factor out in the specs as well (unless a note about optimization is more appropriate). I think PyLD maintenance being picked up by the RDFLib community is very promising, and I'll think about what the best long-term strategy is for avoiding duplicate work or fragmentation. Having multiple implementations is hopefully healthy, but it also risks someone "betting" on eventually unmaintained code. There are also differing ideals, such as minimal components cooperating using stable API:s, vs. efficiency through deeper integration. I will think more about this too. (The best I've hitherto been able to do is to publish this as 0BSD to make it clear that copying chunks of any parts of the code, e.g. into PyLD, is fully OK, without any licensing issues AFAICS, nor attribution required (though still appreciated). This implementation was made by looking at the spec, not other implementations. The TriG parser and serializer are mainly made "the hacker way" by throwing data at them until tests pass. I'm sure others, and maybe some LLMs, have or will eventually do that much better.) All the best, Niklas [1]: <https://github.com/niklasl/trld/blob/main/trld/cli.py> [2]: <https://github.com/niklasl/trld/blob/main/trld/api.py> PS. One of my more ambitious goals with the transpiler was initially to generate the spec algorithms in pseudo-code (perhaps INFRA...). It "should" be simpler than the other real languages, but I have not dedicated much time on that yet. > @Nicholas Car should the parser/serialiser hook into > https://github.com/RDFLib/rdflib/blob/main/rdflib/parser.py and > https://github.com/RDFLib/rdflib/blob/main/rdflib/serializer.py? > > Best, > > Miel > > Op do 9 okt 2025 om 12:16 schreef Niklas Lindström <[email protected]>: >> >> Dear all, >> >> I'm also still active with TRLD [1], which from the start strives to be true >> to the letter with the JSON-LD 1.1 API spec algorithms; i.e. expansion, >> compaction, flattening, to and from RDF. (For reasons (e.g. separating >> querying and serialization), it lacks full framing support; but it has a >> simple means of framing blank nodes.) >> >> (Like PyLD it's independent of RDFLib. It also comes with a TriG >> parser/serializer and some extras; including transpilation of its >> implementation into Java and JS. I'm also working on aligning it with >> compliant RDF 1.2 support (as part of the upcoming work on JSON-LD 1.2 and >> 1.3).) >> >> Best regards, >> Niklas >> >> [1]: <https://github.com/niklasl/trld> >> >> >> >> On Thu, Oct 9, 2025 at 9:16 AM Nicholas Car <[email protected]> wrote: >>> >>> Dear RDFLib Developers, >>> >>> JSON-LD support within RDFLib is now at a critical stage: we have >>> essentially no activity on the other Python JSON-LD package, pyLD, and >>> ever-increasing demands on RDFLib to support all the various JSON-LD modes >>> and related JSON functions like framing. Also, some members of the JSON-LD >>> community that might have helped here are no longer in the domain, >>> including one prominent one who recently passed away. >>> >>> Are any of you able to contribute to the push for an RDFLib v8 that we are >>> currently undertaking that might include an enhance handing of JSON-LD? >>> >>> Thanks, Nick >>> >>> -- >>> http://github.com/RDFLib >>> --- >>> You received this message because you are subscribed to the Google Groups >>> "rdflib-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to [email protected]. >>> To view this discussion visit >>> https://groups.google.com/d/msgid/rdflib-dev/TLSx2qBWUsjMom8z1mWM8AmK2-qbj4dVxIB7SSwQeovehN07OzIiq6DRzyTC0KwRTUFaAALI0-20vYp9bOoE7zUKppseXs631_dNnShigT8%3D%40kurrawong.ai. >> >> -- >> http://github.com/RDFLib >> --- >> You received this message because you are subscribed to the Google Groups >> "rdflib-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion visit >> https://groups.google.com/d/msgid/rdflib-dev/CADjV5jf8t0SOks_sQS36RNHSOdMm_%3DbBL54oLuUq0XU2CbP0sg%40mail.gmail.com. > > -- > http://github.com/RDFLib > --- > You received this message because you are subscribed to the Google Groups > "rdflib-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/rdflib-dev/CAHeRLWuij2WACxAeXm4H9JLj40abSTX7eqPZxj%2B%3D-C6C9q-gkg%40mail.gmail.com. -- http://github.com/RDFLib --- You received this message because you are subscribed to the Google Groups "rdflib-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/rdflib-dev/CADjV5jdd2rByX%2BMDkxAdy%2B-YZx1WrDA1jUmNE3iJR2R1T1ez0A%40mail.gmail.com.
