You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "A. Soroka" <aj...@virginia.edu> on 2015/05/12 16:26:46 UTC

Commons RDF

At:

http://commonsrdf.incubator.apache.org/implementations.html

It says "Apache Jena is considering a compatibility interface that provides and consumes Commons RDF objects."

I'm wondering if there have been any experiments to that end, or whether Jena is waiting for some resources to explore that possibility? I would be happy to give a go at making a simple module that just implements the current Commons RDF API types over 
jena-core in a simple way, to get things started.
---
A. Soroka
The University of Virginia Library


Re: Commons RDF

Posted by "ajs6f@virginia.edu" <aj...@virginia.edu>.
Wearing my Jena user's hat for a moment, this would be lovely and I would be happy to help with it.

A project [1] on which I work persists RDF via some very complex mappings into and out of a JCR repository, and being able to stream it a little more gracefully would be a nice win for us. Those mappings are basically formed out of iterators and transformations, kind of a poor man's Stream API, but we're moving to rebuild over the real Streams API. Maybe this could be generalized into a more popular use case?

[1]: http://www.fedora-commons.org/

---
A. Soroka
The University of Virginia Library

On May 14, 2015, at 3:46 PM, Stian Soiland-Reyes <st...@apache.org> wrote:

> I'm also interested in making Jena parsers and serializers usable directly
> from a Commons RDF perspective, without interaction with intermediate Jena
> core objects. E.g something like:
> 
> Stream<Triple> s = JenaCommonsRDF.read(inputStream, Lang.Turtle)
> 
> And vice versa for write.
> 
> Such a bridge should be possible on top of StreamRDF and RIOT, right?
> Perhaps a Worker thread is needed if there is pull vs push issues.
> 
> Should we start a branch, or first flesh out the rough edges of such a
> bridge module in the wiki?
> On 13 May 2015 15:59, "Andy Seaborne" <an...@apache.org> wrote:
> 
>> On 12/05/15 15:26, A. Soroka wrote:
>> 
>>> At:
>>> 
>>> http://commonsrdf.incubator.apache.org/implementations.html
>>> 
>>> It says "Apache Jena is considering a compatibility interface that
>>> provides and consumes Commons RDF objects."
>>> 
>>> I'm wondering if there have been any experiments to that end, or whether
>>> Jena is waiting for some resources to explore that possibility? I would be
>>> happy to give a go at making a simple module that just implements the
>>> current Commons RDF API types over
>>> jena-core in a simple way, to get things started.
>>> ---
>>> A. Soroka
>>> The University of Virginia Library
>>> 
>>> 
>> I have some code that mocks up commonsrdf over Jena in the sense that it
>> uses jena behind the RDFTermFactory; that's the easy bit.  It's limited and
>> definitely not a bridge between the two APIs.  It is merely exploring the
>> commonsrdf work.
>> 
>> It would mess up the existing interfaces no end to add commonsrdf as
>> interfaces to Model/Resource; and Graph/Triple/Node is generalized RDF so
>> the type model does not fit.
>> 
>> It needs a bridge module and a proper module would be good.
>> 
>> ((I also have https://github.com/afs/commonsrdf-container which is even
>> more minimal than the "simple" implementation.  Not Jena related.))
>> 
>> Some other interesting projects:
>>  An in-memory dataset : JENA-624
>> 
>> Have a specifically in-memory DatasetGraph to complement the current
>> general purpose dataset.
>> 
>>  Bruno is working on JENA-632
>> 
>> In fact, I can see commonsrdf being at the center of a new API, very Java8
>> specific, that is oriented around processing RDF stream style - see the
>> email from Paul Houle.
>> 
>> Or take StreamRDF and add java8-stream-ness around it (maybe not directly
>> changing but making it the source for java8-streams - some issues of
>> pull-streams and push-stream styles here which are hard when efficiency is
>> considered).
>> 
>> 
>>        Andy
>> 


Re: Commons RDF

Posted by Stian Soiland-Reyes <st...@apache.org>.
I'm also interested in making Jena parsers and serializers usable directly
from a Commons RDF perspective, without interaction with intermediate Jena
core objects. E.g something like:

Stream<Triple> s = JenaCommonsRDF.read(inputStream, Lang.Turtle)

And vice versa for write.

Such a bridge should be possible on top of StreamRDF and RIOT, right?
Perhaps a Worker thread is needed if there is pull vs push issues.

Should we start a branch, or first flesh out the rough edges of such a
bridge module in the wiki?
On 13 May 2015 15:59, "Andy Seaborne" <an...@apache.org> wrote:

> On 12/05/15 15:26, A. Soroka wrote:
>
>> At:
>>
>> http://commonsrdf.incubator.apache.org/implementations.html
>>
>> It says "Apache Jena is considering a compatibility interface that
>> provides and consumes Commons RDF objects."
>>
>> I'm wondering if there have been any experiments to that end, or whether
>> Jena is waiting for some resources to explore that possibility? I would be
>> happy to give a go at making a simple module that just implements the
>> current Commons RDF API types over
>> jena-core in a simple way, to get things started.
>> ---
>> A. Soroka
>> The University of Virginia Library
>>
>>
> I have some code that mocks up commonsrdf over Jena in the sense that it
> uses jena behind the RDFTermFactory; that's the easy bit.  It's limited and
> definitely not a bridge between the two APIs.  It is merely exploring the
> commonsrdf work.
>
> It would mess up the existing interfaces no end to add commonsrdf as
> interfaces to Model/Resource; and Graph/Triple/Node is generalized RDF so
> the type model does not fit.
>
> It needs a bridge module and a proper module would be good.
>
> ((I also have https://github.com/afs/commonsrdf-container which is even
> more minimal than the "simple" implementation.  Not Jena related.))
>
> Some other interesting projects:
>   An in-memory dataset : JENA-624
>
> Have a specifically in-memory DatasetGraph to complement the current
> general purpose dataset.
>
>   Bruno is working on JENA-632
>
> In fact, I can see commonsrdf being at the center of a new API, very Java8
> specific, that is oriented around processing RDF stream style - see the
> email from Paul Houle.
>
> Or take StreamRDF and add java8-stream-ness around it (maybe not directly
> changing but making it the source for java8-streams - some issues of
> pull-streams and push-stream styles here which are hard when efficiency is
> considered).
>
>
>         Andy
>

Re: Commons RDF

Posted by "ajs6f@virginia.edu" <aj...@virginia.edu>.
I've actually been wondering a good deal about StreamRDF and whether (and how) it could go in just the direction you suggest.

When you say "a new API" do you mean an independent module that would be an exclusive choice? In other words, a module one could use to interact with Jena to the exclusion of using the current API? Or do you mean an API that could live and be used alongside the current API over a single Jena instance? I'm also trying to understand the full meaning of your term "bridge module".

---
A. Soroka
The University of Virginia Library

On May 13, 2015, at 10:59 AM, Andy Seaborne <an...@apache.org> wrote:

> On 12/05/15 15:26, A. Soroka wrote:
>> At:
>> 
>> http://commonsrdf.incubator.apache.org/implementations.html
>> 
>> It says "Apache Jena is considering a compatibility interface that provides and consumes Commons RDF objects."
>> 
>> I'm wondering if there have been any experiments to that end, or whether Jena is waiting for some resources to explore that possibility? I would be happy to give a go at making a simple module that just implements the current Commons RDF API types over
>> jena-core in a simple way, to get things started.
>> ---
>> A. Soroka
>> The University of Virginia Library
>> 
> 
> I have some code that mocks up commonsrdf over Jena in the sense that it uses jena behind the RDFTermFactory; that's the easy bit.  It's limited and definitely not a bridge between the two APIs.  It is merely exploring the commonsrdf work.
> 
> It would mess up the existing interfaces no end to add commonsrdf as interfaces to Model/Resource; and Graph/Triple/Node is generalized RDF so the type model does not fit.
> 
> It needs a bridge module and a proper module would be good.
> 
> ((I also have https://github.com/afs/commonsrdf-container which is even more minimal than the "simple" implementation.  Not Jena related.))
> 
> Some other interesting projects:
>  An in-memory dataset : JENA-624
> 
> Have a specifically in-memory DatasetGraph to complement the current general purpose dataset.
> 
>  Bruno is working on JENA-632
> 
> In fact, I can see commonsrdf being at the center of a new API, very Java8 specific, that is oriented around processing RDF stream style - see the email from Paul Houle.
> 
> Or take StreamRDF and add java8-stream-ness around it (maybe not directly changing but making it the source for java8-streams - some issues of pull-streams and push-stream styles here which are hard when efficiency is considered).
> 
> 
> 	Andy


Re: Commons RDF

Posted by Andy Seaborne <an...@apache.org>.
On 12/05/15 15:26, A. Soroka wrote:
> At:
>
> http://commonsrdf.incubator.apache.org/implementations.html
>
> It says "Apache Jena is considering a compatibility interface that provides and consumes Commons RDF objects."
>
> I'm wondering if there have been any experiments to that end, or whether Jena is waiting for some resources to explore that possibility? I would be happy to give a go at making a simple module that just implements the current Commons RDF API types over
> jena-core in a simple way, to get things started.
> ---
> A. Soroka
> The University of Virginia Library
>

I have some code that mocks up commonsrdf over Jena in the sense that it 
uses jena behind the RDFTermFactory; that's the easy bit.  It's limited 
and definitely not a bridge between the two APIs.  It is merely 
exploring the commonsrdf work.

It would mess up the existing interfaces no end to add commonsrdf as 
interfaces to Model/Resource; and Graph/Triple/Node is generalized RDF 
so the type model does not fit.

It needs a bridge module and a proper module would be good.

((I also have https://github.com/afs/commonsrdf-container which is even 
more minimal than the "simple" implementation.  Not Jena related.))

Some other interesting projects:
   An in-memory dataset : JENA-624

Have a specifically in-memory DatasetGraph to complement the current 
general purpose dataset.

   Bruno is working on JENA-632

In fact, I can see commonsrdf being at the center of a new API, very 
Java8 specific, that is oriented around processing RDF stream style - 
see the email from Paul Houle.

Or take StreamRDF and add java8-stream-ness around it (maybe not 
directly changing but making it the source for java8-streams - some 
issues of pull-streams and push-stream styles here which are hard when 
efficiency is considered).


	Andy