If there is interest in this discussion, I came up with a list of high-level thoughts about RDFLib.

I want to preface that what I described as issues are not meant to put anyone in a corner. I am aware that this is a volunteer-based project and no one is expected to be a full-time maintainer of it.

As for the points, on the technical side:

1. Performance could use some improvement. There are great libraries for Python that use more of the underlying C libraries. Especially for computationally intensive operations such as serializing and deserializing, as well as SPARQL, rewriting some functions as C extensions or using CFFI or Cython could make RDFLib competitive with several triple stores. (I am also aware that this is not a trivial task...)

And the more management-related:

2. RDFLib has great functionality, unfortunately a lot is hidden in code. I find myself looking through the code more often than at the documentation, which is very good in certain areas and completely absent in others. If I have a #1 qualm about RDFLib, that is documentation coverage. This also makes it hard to attract new contributors.

3. There is a large number of PRs that are passing tests, most of them also apparently agreed upon and ready for merging. A quicker turnaround in the community contribution process would definitely encourage more contributions.

4. Similarly, the number of issues that receive no response (let alone being resolved) is an indicator of the health of the project. That is at least one thing that I look at when I evaluate open source software. With RDFLib, the overall quality of the code and the lack of alternatives were stronger factors for adoption, but one can't always rely on those.

5. Knowledge retention. I recall an email (or github issue?) exchange where I inqured about a design decison and learned that nobody actively contributing to the code may have an answer. I think that reaching out to previous key contributors and ask for some documentation, or at least an informal explanation, of certain code would go a long way.


These are my thoughts, put very plainly. Again, this is not meant to be a string of complaints, but rather a way to point out areas to work on. I recognize that there is a great deal of hard work in RDFLib and I think it would be much more convenient to improve it than starting something else from scratch. Users may need to be made aware of this.

Let me know what the preferred way to continue this conversation would be.


Best,
Stefano


On 04/27/2018 03:47 PM, scossu wrote:
Gunnar, Jörn,
The goals you mention seem very important for the project.

All the code writing & reviewing that I can afford I am spending on a side project, but I would be interested in increasing sustainability for RDFLib, e.g. identifying other projects that run mission-critical applications and depend on RDFLib and trying to establish a collaboration, as well as finding ways to make the code more accessible to contribution.

I would be available for a phone call or teleconference to kick ideas around, if you are interested.

Best,
Stefano

p.s. on a side note—Jörn, speaking of storage back ends, I implemented a back end for LMDB which I am quite happy with so far: > https://github.com/scossu/lakesuperior/blob/master/lakesuperior/store/ldp_rs/lmdb_store.py It is quite embedded in specific features of my project but I thought it would be interesting to share (and probably not too hard to make it an RDFLib module).

On Friday, April 27, 2018 at 8:12:52 AM UTC-5, Jörn Hees wrote:

    Hi,

    full +1 wrt. next steps and any help is obviously welcome.
    I'll hopefully find some time to work on integration of HDT as
    storage backend soon, which might be a good chance to also finally
    integrate a sink.
    But before doing that i'll probably focus on releasing 5.0.0, which
    i had pushed away to free some time.

    Best,
    Jörn

     > On 27 Apr 2018, at 12:07, Gunnar Aastrand Grimnes
    <grom...@gmail.com <javascript:>> wrote:
     >
     > Hi Stefano,
     >
     > RDFLib has had a series of volunteer developers since 2002 (!)
     >
     > The last few years it's mainly been myself and Jörn Hees who make
     > releases, but we've both had increasingly little time. (Jörn
    finishing
     > his PhD, me working on things not related to RDF).
     >
     > Roadmap is a big word, and I don't think I would say we have
    anything
     > like it :), but if I had some time I would try get the following
    done:
     >
     > * a real interface for triple sinks and support for streaming
    parsers:
     > https://github.com/RDFLib/rdflib/pull/411
    <https://github.com/RDFLib/rdflib/pull/411>
     > * move a bunch of things out of rdflib-core - like microdata/rdfa
     > parsers (already weirdly copied in their own repos)
     > * remove SPARQLWrapper dependency:
    https://github.com/RDFLib/rdflib/pull/744
    <https://github.com/RDFLib/rdflib/pull/744>
     >
     > It's not very likely to happen very soon from my side though.
     >
     > Jörn should chime in himself, but I think we'd both be happy to have
     > someone else come in and take more responsibility - if you want to
     > help code-review PRs, discuss future changes, make releases etc. I
     > would only be glad to see RDFLib be more alive!
     >
     > - Gunnar
     >
     >
     > On 27 April 2018 at 04:55, Stefano Cossu <sco...@artic.edu
    <javascript:>> wrote:
     >> I am not sure if there is a "non-dev" group for RDFLib but I
    might as well
     >> start asking here.
     >>
     >> I find RDFLib to be an amazing project and the only RDF libray
    for Python
     >> (if we don't count the Redland Python bindings). Lately I have been
     >> wondering how the roadmap is laid out (I understand 5.0.0 is the
    next
     >> release and a major overhaul) and if there is  some governance
    around the
     >> project. Is it completely volunteer-based or is there an
    institutional
     >> commitment? Is there a group that works on the roadmap and
    high-level goals?
     >> Is there any maintenance for 4.x planned once 5.x is out?
     >>
     >> This would be helpful for me to understand how the project is
    doing and what
     >> to expect from it. As RDFLib is a fundamental library for
    handling an
     >> increasingly popular data format with one of the most popular
    programming
     >> languages, I would love to see more PRs merged, more issues
    closed, more
     >> questions answered, more test coverage, more exhaustive
    documentation, more
     >> regular commits; in short, a mature project. I may not have the
    bandwidth to
     >> commit to the code directly but I may be able to volunteer some
    of my spare
     >> time for strategic planning.
     >>
     >> Thanks for your great efforts so far and for any information you
    may want to
     >> share.
     >>
     >> Stefano
     >>
     >>
     >> --
     >> Stefano Cossu
     >> Director of Application Services, Collections
     >>
     >> The Art Institute of Chicago
     >> 116 S. Michigan Ave.
     >> Chicago, IL 60603
     >> 312-499-4026
     >>
     >> --
     >> 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 rdflib-dev+...@googlegroups.com <javascript:>.
     >> To post to this group, send email to rdfli...@googlegroups.com
    <javascript:>.
     >> To view this discussion on the web visit
     >>
    
https://groups.google.com/d/msgid/rdflib-dev/c3fa068d-ea99-df1d-b5da-27f527dbcb06%40artic.edu
    
<https://groups.google.com/d/msgid/rdflib-dev/c3fa068d-ea99-df1d-b5da-27f527dbcb06%40artic.edu>.

     >> For more options, visit https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>.
     >
     >
     >
     > --
     > http://gromgull.net
     >
     > --
     > 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 rdflib-dev+...@googlegroups.com <javascript:>.
     > To post to this group, send email to rdfli...@googlegroups.com
    <javascript:>.
     > To view this discussion on the web visit
    
https://groups.google.com/d/msgid/rdflib-dev/CAGm1OD%3DMxNnF9by4WEPOfctAVe48SV6nU7O9m%2B1E8tcqDzhqLQ%40mail.gmail.com
    
<https://groups.google.com/d/msgid/rdflib-dev/CAGm1OD%3DMxNnF9by4WEPOfctAVe48SV6nU7O9m%2B1E8tcqDzhqLQ%40mail.gmail.com>.

     > For more options, visit https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>.

--
http://github.com/RDFLib
---
You received this message because you are subscribed to a topic in the Google Groups "rdflib-dev" group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/rdflib-dev/9XAyxUbawlQ/unsubscribe. To unsubscribe from this group and all its topics, send an email to rdflib-dev+unsubscr...@googlegroups.com <mailto:rdflib-dev+unsubscr...@googlegroups.com>. To post to this group, send email to rdflib-dev@googlegroups.com <mailto:rdflib-dev@googlegroups.com>. To view this discussion on the web visit https://groups.google.com/d/msgid/rdflib-dev/57f57963-60a6-4406-9fad-02a5729fb0dc%40googlegroups.com <https://groups.google.com/d/msgid/rdflib-dev/57f57963-60a6-4406-9fad-02a5729fb0dc%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

--
Stefano Cossu
Director of Application Services, Collections

The Art Institute of Chicago
116 S. Michigan Ave.
Chicago, IL 60603
312-499-4026

--
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 rdflib-dev+unsubscr...@googlegroups.com.
To post to this group, send email to rdflib-dev@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rdflib-dev/8443927d-f5e8-1288-bc2b-ff499de89c0b%40artic.edu.
For more options, visit https://groups.google.com/d/optout.

Reply via email to