Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [rdf4j-dev] How to contribute an Rdf4j/Spring integration
  • From: jerven Bolleman <jerven.bolleman@sib.swiss>
  • Date: Wed, 19 May 2021 09:22:30 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sib.swiss; dmarc=pass action=none header.from=sib.swiss; dkim=pass header.d=sib.swiss; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QTiJQhRAodTdYOyl3g/aK5cvbonYATHufOZZf7rRNro=; b=dRyW0kfj9ojD4Ne/my6J8AwZGBJ4erDTygqjMUZn9qldlTjE2v/RYv1V86iuWBHX00Dgmu790sLPlIWNZJjWa9befp2gTDvG3b4G4br52olL1F8x/QqoJWDs2nY+vsAIHYGC+3P3xqC+GlS85TW8DTRT+srvTX4++GVIhSnxTGldU9tSp9ZSZC80uRoYL2Fi0nCVkw2FdAaIpjwRO4wDWX/MmEVl+oedrTakEGSz0+YwloENct4KXiHHslL8ju5BFv1iRdnLE4zAyO9thKoCNSr68mji0SSfETFfBGMjqCPuosJ4cXQK9GZYB6f27Vd9XoOkyg5VKrTbTf35lb3E7g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZMoS50Umz8Emc7q/XKQnSh7DjffDdNY/J/WZLf8Hzg9yDB+cbtEPFs5MC+vgDOplZ7/uyz/GjwQvATuaGGZAeXW/RfjisHCmDMO+MADndbAFuT0jHP/tX8coqnisRTj9FXIc4RkbneFOh2Xtc+3k7rTIBhyJXZxNzuhubWCxRElsQDEsvjPARKj7GSco0WKWIvG7ag+UHp0PxIdBEMwYBIZBkVVLIL1WuQsTmWBkuiP3GfN8e5Aqnxhlef/MhfyimXLs8WiHy56dqt0vqUPW9dolnofPiNSFpkMbBk+j4v64MdS/cf5RFgwRgAAOESbQGtnjj5tZOOYEZXbNLQeZoA==
  • Delivered-to: rdf4j-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/rdf4j-dev/>
  • List-help: <mailto:rdf4j-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/rdf4j-dev>, <mailto:rdf4j-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/rdf4j-dev>, <mailto:rdf4j-dev-request@eclipse.org?subject=unsubscribe>
  • User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1

Hi Florian,

Your code looks very nice! To me it is very welcome, while Jeen writes I have recent experience with spring, mine is quite minimal and focused around making a sparql http endpoint available. Still it uses the same idea of an @Autowired Repository. So my code should be compatible with what you are looking to do. Which is great.

A small benefit is the IP work for updating the Spring dependencies was just done.

Regards,
Jerven

On 19/05/2021 01:59, Jeen Broekstra wrote:

Thanks Florian, that all sounds great. I had a look at your code examples, and while I'm not as big a Spring expert as others, it does look really straightforward and useful to me.

The first step in contributing is that you create a github issue <https://github.com/eclipse/rdf4j/issues> describing your contribution, so we can start tracking things, and getting early feedback from other contributors as well (I'm thinking Havard and Jerven in particular as I know they have recent experience with Spring).

Also, if you haven't yet, please have a look through our contributor guidelines <https://github.com/eclipse/rdf4j/blob/main/.github/CONTRIBUTING.md> for some general points on how to contribute, including legal stuff, and basic things like code formatting,  git workflow, copyright headers, etc.

The best way to get code integration started technically is to open a pull request (aimed at the develop branch) with your code, so that we can start reviewing and testing it. Your project should become a new module, I'm currently thinking somewhere under core ("rdf4j-spring" as the artifact name sounds good to me for a first draft, directory core/spring ?) as this is library code rather than standalone tooling.

Because this is quite a substantial contribution, we will need to engage with the Eclipse IP team to get it reviewed before we can accept and merge. I will coordinate this, but it's easiest to get that started once the PR is up. Likely, they will want to get in touch with you and your employer directly to sort out any questions about intellectual property.

Looking forward to getting this started, and please don't hesitate to get in touch if you have any questions or comments!

Cheers,

Jeen

On Tue, 18 May 2021, at 17:40, Florian Kleedorfer wrote:
Hi Jeen,

Good to hear that this may be of interest.

Am 2021-05-18 01:26, schrieb Jeen Broekstra:
> Can you share a bit more about the background of the project? Did you
> write it on your own or with other developers?

There is a little code from one other developer whose consent to
contributing will very likely not be a problem. I am also expecting to
get our employer's consent and that of the company we are doing the
project for.

> Is it already
> open-source?

No.

> And of course I'd definitely like to learn more about the
> code itself, any use cases or examples that you can share would be
> good.

Here are a few classes (some shortened):

https://gist.github.com/fkleedorfer/990de5e3591b35f2d92e2f8f9248516e <https://gist.github.com/fkleedorfer/990de5e3591b35f2d92e2f8f9248516e>
There's:
* the spring Configuration.java showing how the RepositoryConnection is
pooled and wrapped in a caching and optionally a logging layer, how the
Rdf4jTemplate is instantiated, and how you can autodetect all your DAOs
* the Rdf4JTemplate (that one may be a little messy for some tastes but
we can clean it up)
* the DAO base class, Rdf4JDao
* a domain-specific 'ProjectDao' that uses all of this to provide some
CRUD operations


Can you give us an estimate of how large the contribution would
> be, roughly (lines of code)?

It's about 5400 lines of java code.

>
> Finally, a question for the future: assuming that we go ahead and
> integrate your contribution into RDF4J, are you intending to stay
> involved with maintaining it?

Yes. Availability may vary but I'd like to.


Best regards,
Florian



_______________________________________________
rdf4j-dev mailing list
rdf4j-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/rdf4j-dev


--

	*Jerven Tjalling Bolleman*
Principal Software Developer
*SIB | Swiss Institute of Bioinformatics*
1, rue Michel Servet - CH 1211 Geneva 4 - Switzerland
t +41 22 379 58 85
Jerven.Bolleman@sib.swiss - www.sib.swiss



Back to the top