You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@clerezza.apache.org by Reto Bachmann-Gmür <re...@apache.org> on 2011/11/10 23:48:39 UTC

clerezza-virtuoso storage adapter

Enrico wrote:

> progress:
> - implemented clerezza-virtuoso storage adapter  (stanbol -
> data.cnr.it integration)



https://github.com/enridaga/clerezza-virtuoso/tree/master/clerezza-virtuoso
>

Hi Enrico,

This looks very cool!

What are your expiriences, what are the benefits and trade-offs compared
with tdb storage?

Cheers,
Reto

Re: clerezza-virtuoso storage adapter

Posted by Enrico Daga <en...@gmail.com>.
On 16 November 2011 00:14, Tommaso Teofili <to...@gmail.com> wrote:
> 2011/11/15 Enrico Daga <en...@gmail.com>
>
>> Hi Reto,
>> sorry for this late reaction (and sorry to the clerezza-dev list!) but
>> I missed this e-mail...
>> The reason for implementing this adapter was that we use Virtuoso Open
>> Source as quad store for http://data.cnr.it and I am working on the
>> integration of some Stanbol components (in particular Reasoners and
>> Ontonet) with it. So, my aim was simply to have Stanbol/Clerezza
>> read/write on virtuoso. I preferred to write a light jdbc-based
>> adapter instead of using the sesame based library shipped with
>> virtuoso (and having yet another intermediate layer...). For this I
>> have learned a lot from the implementation of the weighted provider
>> for Sesame (I have totally cloned the multithread tests, for
>> instance...;) ).
>> I didn't do a comparison with Jena TDB in terms of performances and
>> scalability, but data.cnr.it started with virtuoso and we like it (it
>> hosts more then 2.700.000 triples and is very fast on a 2G virtual
>> machine...).
>> Now I am working on long term operations for stanbol reasoners, after
>> that I will start working on stanbol+data.cnr.it via clerezza-virtuoso
>> and have a *real* test for that component.
>>
>> If the Clerezza community likes it, I would be very happy to
>> contribute that code to the project.
>>
>
> in my opinion this would be a very valuable contribution as I have seen
> Virtuoso being used with huge storage scenarios as well.
> Also from a community development point of view it could ease the Clerezza
> adoption for Virtuoso users.
> BUT I think that's not possible at the moment due to licensing issues wich
> GPL2, see [1][2].
> Am I wrong?
The GPL license applies to the virtuoso open source released code, it
seems it can be ignored if the only dependency is on external
libraries, like the jdbc driver (which is our case).
I read from [1]:
[...]
Client Protocol Driver exemptions

    In addition, as a special exemption, OpenLink Software gives
    permission to use the unmodified client libraries (ODBC, JDBC,
    ADO.NET, OleDB, Jena, Sesame and Redland providers) in your own
    application whether open-source or not, with no obligation to use
    the GPL on the resulting application. In all other respects you
    must abide by the terms of the GPL.
[...]

But of course I suggest to write to OpenLink asking explicitly if this
is valid also for distribution, since we should embed the jar in the
module, as it is now (AFAIK there is no maven artifact available to
download, but I could be wrong...)

cheers
Enrico
> Tommaso
>
> [1] : http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSLicense
> [2] : http://www.apache.org/legal/resolved.html
>
>
>>
>> (Last but not least, code reviews or any hint on the implementation is
>> welcome!)
>>
>> Bests,
>> Enrico
>>
>> On 10 November 2011 23:48, Reto Bachmann-Gmür <re...@apache.org> wrote:
>> > Enrico wrote:
>> >>
>> >> progress:
>> >> - implemented clerezza-virtuoso storage adapter  (stanbol -
>> >> data.cnr.it integration)
>> >>
>> >>
>> >>
>> >>
>> >>
>> https://github.com/enridaga/clerezza-virtuoso/tree/master/clerezza-virtuoso
>> >
>> > Hi Enrico,
>> >
>> > This looks very cool!
>> >
>> > What are your expiriences, what are the benefits and trade-offs compared
>> > with tdb storage?
>> >
>> > Cheers,
>> > Reto
>> >
>> >
>> >
>> >
>>
>>
>>
>> --
>> Enrico Daga
>>
>> --
>> http://www.enridaga.net
>> skype: enri-pan
>>
>



-- 
Enrico Daga

--
http://www.enridaga.net
skype: enri-pan

Re: clerezza-virtuoso storage adapter

Posted by Enrico Daga <en...@gmail.com>.
On 18 November 2011 09:55, Reto Bachmann-Gmür <me...@farewellutopia.com> wrote:
> On Thu, Nov 17, 2011 at 11:00 AM, Enrico Daga <en...@gmail.com> wrote:
>
>> On 16 November 2011 06:39, Rupert Westenthaler
>> <ru...@gmail.com> wrote:
>> > Hi Tommaso, all
>> >
>> >
>> > On 16.11.2011, at 00:14, Tommaso Teofili wrote:
>> >
>> >> 2011/11/15 Enrico Daga <en...@gmail.com>
>> > [..]
>> >> BUT I think that's not possible at the moment due to licensing issues
>> wich
>> >> GPL2, see [1][2].
>> >> Am I wrong?
>> >> Tommaso
>> >>
>> >> [1] : http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSLicense
>> >> [2] : http://www.apache.org/legal/resolved.html
>> >>
>> > when looking at the POM file [1], I do not see any Virtuoso specific
>> dependencies  other than the JDBC driver.
>> > So in my opinion directly access to the data within the Virtuoso
>> relational database should be OK (license wise).
>> >
>> > However I could imagine that this could change as soon as Clerezza also
>> supports direct usage of the
>> > SPARQL engine of Stores (CLEREZZA-466 ) and one would like to implement
>> this for Virtuoso.
>> No, it doesn't, because the SPARQL implementation of virtuoso is based
>> on a SQL preprocessor. For example you can do the following in SQL:
>>
>> sparql select * from {?a ?b ?c}
>>
>> This means that the only change would be to implement
>> SparqlTcProvider, without the need of additional deps.
>>
> Interesting. I was thinking to use the sparql-webendpoint of virtuoso to
> avoid dependencies. I think both approach might work.
>
>
>> (This is an extremely interesting feature for me, is anybody active on
>> that?)
>>
> Shouldn't be a big thing a the major step of preparsing the query and thus
> being able to find out if one or more StorageProviders are affected by the
> query is already implemented. Will you be at the Salburg IKS meeting? Maybe
> we could fid some time to hack on this.
Unfortunatly not, but I am available on join you remotely with
skype/irc, I'm very interested on this...

>
> cheers,
> reto
>
>
>
>>
>> cheers
>> Enrico
>>
>> >
>> > best
>> > Rupert
>> >
>> >
>> > [1]
>> https://github.com/enridaga/clerezza-virtuoso/blob/master/clerezza-virtuoso/pom.xml
>> >
>> >
>> >>
>> >>>
>> >>> (Last but not least, code reviews or any hint on the implementation is
>> >>> welcome!)
>> >>>
>> >>> Bests,
>> >>> Enrico
>> >>>
>> >>> On 10 November 2011 23:48, Reto Bachmann-Gmür <re...@apache.org> wrote:
>> >>>> Enrico wrote:
>> >>>>>
>> >>>>> progress:
>> >>>>> - implemented clerezza-virtuoso storage adapter  (stanbol -
>> >>>>> data.cnr.it integration)
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>
>> https://github.com/enridaga/clerezza-virtuoso/tree/master/clerezza-virtuoso
>> >>>>
>> >>>> Hi Enrico,
>> >>>>
>> >>>> This looks very cool!
>> >>>>
>> >>>> What are your expiriences, what are the benefits and trade-offs
>> compared
>> >>>> with tdb storage?
>> >>>>
>> >>>> Cheers,
>> >>>> Reto
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Enrico Daga
>> >>>
>> >>> --
>> >>> http://www.enridaga.net
>> >>> skype: enri-pan
>> >>>
>> >
>> >
>>
>>
>>
>> --
>> Enrico Daga
>>
>> --
>> http://www.enridaga.net
>> skype: enri-pan
>>
>



-- 
Enrico Daga

--
http://www.enridaga.net
skype: enri-pan

Re: clerezza-virtuoso storage adapter

Posted by Reto Bachmann-Gmür <me...@farewellutopia.com>.
On Thu, Nov 17, 2011 at 11:00 AM, Enrico Daga <en...@gmail.com> wrote:

> On 16 November 2011 06:39, Rupert Westenthaler
> <ru...@gmail.com> wrote:
> > Hi Tommaso, all
> >
> >
> > On 16.11.2011, at 00:14, Tommaso Teofili wrote:
> >
> >> 2011/11/15 Enrico Daga <en...@gmail.com>
> > [..]
> >> BUT I think that's not possible at the moment due to licensing issues
> wich
> >> GPL2, see [1][2].
> >> Am I wrong?
> >> Tommaso
> >>
> >> [1] : http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSLicense
> >> [2] : http://www.apache.org/legal/resolved.html
> >>
> > when looking at the POM file [1], I do not see any Virtuoso specific
> dependencies  other than the JDBC driver.
> > So in my opinion directly access to the data within the Virtuoso
> relational database should be OK (license wise).
> >
> > However I could imagine that this could change as soon as Clerezza also
> supports direct usage of the
> > SPARQL engine of Stores (CLEREZZA-466 ) and one would like to implement
> this for Virtuoso.
> No, it doesn't, because the SPARQL implementation of virtuoso is based
> on a SQL preprocessor. For example you can do the following in SQL:
>
> sparql select * from {?a ?b ?c}
>
> This means that the only change would be to implement
> SparqlTcProvider, without the need of additional deps.
>
Interesting. I was thinking to use the sparql-webendpoint of virtuoso to
avoid dependencies. I think both approach might work.


> (This is an extremely interesting feature for me, is anybody active on
> that?)
>
Shouldn't be a big thing a the major step of preparsing the query and thus
being able to find out if one or more StorageProviders are affected by the
query is already implemented. Will you be at the Salburg IKS meeting? Maybe
we could fid some time to hack on this.

cheers,
reto



>
> cheers
> Enrico
>
> >
> > best
> > Rupert
> >
> >
> > [1]
> https://github.com/enridaga/clerezza-virtuoso/blob/master/clerezza-virtuoso/pom.xml
> >
> >
> >>
> >>>
> >>> (Last but not least, code reviews or any hint on the implementation is
> >>> welcome!)
> >>>
> >>> Bests,
> >>> Enrico
> >>>
> >>> On 10 November 2011 23:48, Reto Bachmann-Gmür <re...@apache.org> wrote:
> >>>> Enrico wrote:
> >>>>>
> >>>>> progress:
> >>>>> - implemented clerezza-virtuoso storage adapter  (stanbol -
> >>>>> data.cnr.it integration)
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>
> https://github.com/enridaga/clerezza-virtuoso/tree/master/clerezza-virtuoso
> >>>>
> >>>> Hi Enrico,
> >>>>
> >>>> This looks very cool!
> >>>>
> >>>> What are your expiriences, what are the benefits and trade-offs
> compared
> >>>> with tdb storage?
> >>>>
> >>>> Cheers,
> >>>> Reto
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Enrico Daga
> >>>
> >>> --
> >>> http://www.enridaga.net
> >>> skype: enri-pan
> >>>
> >
> >
>
>
>
> --
> Enrico Daga
>
> --
> http://www.enridaga.net
> skype: enri-pan
>

Re: clerezza-virtuoso storage adapter

Posted by Enrico Daga <en...@gmail.com>.
On 16 November 2011 06:39, Rupert Westenthaler
<ru...@gmail.com> wrote:
> Hi Tommaso, all
>
>
> On 16.11.2011, at 00:14, Tommaso Teofili wrote:
>
>> 2011/11/15 Enrico Daga <en...@gmail.com>
> [..]
>> BUT I think that's not possible at the moment due to licensing issues wich
>> GPL2, see [1][2].
>> Am I wrong?
>> Tommaso
>>
>> [1] : http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSLicense
>> [2] : http://www.apache.org/legal/resolved.html
>>
> when looking at the POM file [1], I do not see any Virtuoso specific dependencies  other than the JDBC driver.
> So in my opinion directly access to the data within the Virtuoso relational database should be OK (license wise).
>
> However I could imagine that this could change as soon as Clerezza also supports direct usage of the
> SPARQL engine of Stores (CLEREZZA-466 ) and one would like to implement this for Virtuoso.
No, it doesn't, because the SPARQL implementation of virtuoso is based
on a SQL preprocessor. For example you can do the following in SQL:

sparql select * from {?a ?b ?c}

This means that the only change would be to implement
SparqlTcProvider, without the need of additional deps.
(This is an extremely interesting feature for me, is anybody active on that?)

cheers
Enrico

>
> best
> Rupert
>
>
> [1] https://github.com/enridaga/clerezza-virtuoso/blob/master/clerezza-virtuoso/pom.xml
>
>
>>
>>>
>>> (Last but not least, code reviews or any hint on the implementation is
>>> welcome!)
>>>
>>> Bests,
>>> Enrico
>>>
>>> On 10 November 2011 23:48, Reto Bachmann-Gmür <re...@apache.org> wrote:
>>>> Enrico wrote:
>>>>>
>>>>> progress:
>>>>> - implemented clerezza-virtuoso storage adapter  (stanbol -
>>>>> data.cnr.it integration)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>> https://github.com/enridaga/clerezza-virtuoso/tree/master/clerezza-virtuoso
>>>>
>>>> Hi Enrico,
>>>>
>>>> This looks very cool!
>>>>
>>>> What are your expiriences, what are the benefits and trade-offs compared
>>>> with tdb storage?
>>>>
>>>> Cheers,
>>>> Reto
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Enrico Daga
>>>
>>> --
>>> http://www.enridaga.net
>>> skype: enri-pan
>>>
>
>



-- 
Enrico Daga

--
http://www.enridaga.net
skype: enri-pan

Re: clerezza-virtuoso storage adapter

Posted by Rupert Westenthaler <ru...@gmail.com>.
Hi Tommaso, all


On 16.11.2011, at 00:14, Tommaso Teofili wrote:

> 2011/11/15 Enrico Daga <en...@gmail.com>
[..]
> BUT I think that's not possible at the moment due to licensing issues wich
> GPL2, see [1][2].
> Am I wrong?
> Tommaso
> 
> [1] : http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSLicense
> [2] : http://www.apache.org/legal/resolved.html
> 
when looking at the POM file [1], I do not see any Virtuoso specific dependencies  other than the JDBC driver.
So in my opinion directly access to the data within the Virtuoso relational database should be OK (license wise).

However I could imagine that this could change as soon as Clerezza also supports direct usage of the
SPARQL engine of Stores (CLEREZZA-466 ) and one would like to implement this for Virtuoso. 

best
Rupert


[1] https://github.com/enridaga/clerezza-virtuoso/blob/master/clerezza-virtuoso/pom.xml


> 
>> 
>> (Last but not least, code reviews or any hint on the implementation is
>> welcome!)
>> 
>> Bests,
>> Enrico
>> 
>> On 10 November 2011 23:48, Reto Bachmann-Gmür <re...@apache.org> wrote:
>>> Enrico wrote:
>>>> 
>>>> progress:
>>>> - implemented clerezza-virtuoso storage adapter  (stanbol -
>>>> data.cnr.it integration)
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>> https://github.com/enridaga/clerezza-virtuoso/tree/master/clerezza-virtuoso
>>> 
>>> Hi Enrico,
>>> 
>>> This looks very cool!
>>> 
>>> What are your expiriences, what are the benefits and trade-offs compared
>>> with tdb storage?
>>> 
>>> Cheers,
>>> Reto
>>> 
>>> 
>>> 
>>> 
>> 
>> 
>> 
>> --
>> Enrico Daga
>> 
>> --
>> http://www.enridaga.net
>> skype: enri-pan
>> 


Re: clerezza-virtuoso storage adapter

Posted by Tommaso Teofili <to...@gmail.com>.
2011/11/15 Enrico Daga <en...@gmail.com>

> Hi Reto,
> sorry for this late reaction (and sorry to the clerezza-dev list!) but
> I missed this e-mail...
> The reason for implementing this adapter was that we use Virtuoso Open
> Source as quad store for http://data.cnr.it and I am working on the
> integration of some Stanbol components (in particular Reasoners and
> Ontonet) with it. So, my aim was simply to have Stanbol/Clerezza
> read/write on virtuoso. I preferred to write a light jdbc-based
> adapter instead of using the sesame based library shipped with
> virtuoso (and having yet another intermediate layer...). For this I
> have learned a lot from the implementation of the weighted provider
> for Sesame (I have totally cloned the multithread tests, for
> instance...;) ).
> I didn't do a comparison with Jena TDB in terms of performances and
> scalability, but data.cnr.it started with virtuoso and we like it (it
> hosts more then 2.700.000 triples and is very fast on a 2G virtual
> machine...).
> Now I am working on long term operations for stanbol reasoners, after
> that I will start working on stanbol+data.cnr.it via clerezza-virtuoso
> and have a *real* test for that component.
>
> If the Clerezza community likes it, I would be very happy to
> contribute that code to the project.
>

in my opinion this would be a very valuable contribution as I have seen
Virtuoso being used with huge storage scenarios as well.
Also from a community development point of view it could ease the Clerezza
adoption for Virtuoso users.
BUT I think that's not possible at the moment due to licensing issues wich
GPL2, see [1][2].
Am I wrong?
Tommaso

[1] : http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSLicense
[2] : http://www.apache.org/legal/resolved.html


>
> (Last but not least, code reviews or any hint on the implementation is
> welcome!)
>
> Bests,
> Enrico
>
> On 10 November 2011 23:48, Reto Bachmann-Gmür <re...@apache.org> wrote:
> > Enrico wrote:
> >>
> >> progress:
> >> - implemented clerezza-virtuoso storage adapter  (stanbol -
> >> data.cnr.it integration)
> >>
> >>
> >>
> >>
> >>
> https://github.com/enridaga/clerezza-virtuoso/tree/master/clerezza-virtuoso
> >
> > Hi Enrico,
> >
> > This looks very cool!
> >
> > What are your expiriences, what are the benefits and trade-offs compared
> > with tdb storage?
> >
> > Cheers,
> > Reto
> >
> >
> >
> >
>
>
>
> --
> Enrico Daga
>
> --
> http://www.enridaga.net
> skype: enri-pan
>

Re: clerezza-virtuoso storage adapter

Posted by Enrico Daga <en...@gmail.com>.
Hi Reto,
sorry for this late reaction (and sorry to the clerezza-dev list!) but
I missed this e-mail...
The reason for implementing this adapter was that we use Virtuoso Open
Source as quad store for http://data.cnr.it and I am working on the
integration of some Stanbol components (in particular Reasoners and
Ontonet) with it. So, my aim was simply to have Stanbol/Clerezza
read/write on virtuoso. I preferred to write a light jdbc-based
adapter instead of using the sesame based library shipped with
virtuoso (and having yet another intermediate layer...). For this I
have learned a lot from the implementation of the weighted provider
for Sesame (I have totally cloned the multithread tests, for
instance...;) ).
I didn't do a comparison with Jena TDB in terms of performances and
scalability, but data.cnr.it started with virtuoso and we like it (it
hosts more then 2.700.000 triples and is very fast on a 2G virtual
machine...).
Now I am working on long term operations for stanbol reasoners, after
that I will start working on stanbol+data.cnr.it via clerezza-virtuoso
and have a *real* test for that component.

If the Clerezza community likes it, I would be very happy to
contribute that code to the project.

(Last but not least, code reviews or any hint on the implementation is welcome!)

Bests,
Enrico

On 10 November 2011 23:48, Reto Bachmann-Gmür <re...@apache.org> wrote:
> Enrico wrote:
>>
>> progress:
>> - implemented clerezza-virtuoso storage adapter  (stanbol -
>> data.cnr.it integration)
>>
>>
>>
>>
>> https://github.com/enridaga/clerezza-virtuoso/tree/master/clerezza-virtuoso
>
> Hi Enrico,
>
> This looks very cool!
>
> What are your expiriences, what are the benefits and trade-offs compared
> with tdb storage?
>
> Cheers,
> Reto
>
>
>
>



-- 
Enrico Daga

--
http://www.enridaga.net
skype: enri-pan