On Sat, Apr 11, 2015 at 12:39 PM, Peter Ansell <ansell.pe...@gmail.com> wrote:
> On 11 April 2015 at 22:11, Reto Gmür <r...@apache.org> wrote: > > On Mon, Mar 30, 2015 at 2:07 PM, Benedikt Ritter <brit...@apache.org> > wrote: > > > >> Hello Reto, > >> > >> 2015-03-30 14:45 GMT+02:00 Reto Gmür <r...@apache.org>: > >> > >> > Hi all, > >> > > >> > The clerezza commons RDF proposal that was in the sandbox and is now > in > >> the > >> > clerezza-rdf-core repository has been changed to use > >> > org.apache.clerezza.commons-rdf. > >> > > >> > As you know if all goes well clerezza will be based in the result of > the > >> > incubating project. If however this project should unfortunately not > lead > >> > to something generic enough to be used for interfacing arbitrary data > as > >> > RDF and thus be usable for clerezza, then clerezza might reactivate > its > >> > commons-rdf proposal. It would then be up to commons to decide which > >> > proposal to adopt and under which name. > >> > > >> > >> We (the Apache Commons community) have already stated, that we don't > have > >> the necessary knowledge about RDF to make such a decision. I would > prefer > >> more people from clerezza joining this ML and build consensus with the > >> incubating commons rdf community about how an implementation of the RDF > >> specification should look like. > >> > > > > It might be hard to reach an acceptable solution if the result of one > year > > on Github are taken as unmodifiable except when there is 100% agreement > on > > a change. > > You were privy to all of the public discussions on GitHub, and many of > the private discussions just before setting up the project publicly. > Please do not imply that this was your first opportunity to bring up > these issues, or that we had not responded at all to the issues you did > bring up in the past. > The first discussions we had were at the end of 2012 on public apache mailing lists. > > Apart from the structural constraints of having an entire interface > driven API, and there being no clear reason why the interface names > themselves should be changed to suit you, I've changed clerezza to mach the names in rdf-commons classes. I would have preferred an decision on a casing conventions rather than just a statement that these types are named like that and will not change. > do you have other issues > where getting ~100 percent agreement has failed and you would like > some further discussion. > I've created COMMONSRDF-13 to address one of the main issues. > > > Even without having the commons community diving deep into RDF it might > > become clear that one API is better suited for triple stores and their > > requirement while the other is more suitable to exposing arbitrary data > > source using the RDF model. So if the result is not something that can be > > used in all usecases having two commons project relating to RDF but with > an > > distinct goal might also be an option. > > If you could articulate why the current interface based method makes > it unsuitable for your use cases it would definitely help. In > particular, some examples of where Clerezza could map a data source to > RDF somewhow, but it would be impossible with commons-rdf-api, then we > can start to discuss it further. Right now you have only implied that > the difficulty exists without articulating it. > I've written code that exposes a SPARQL endpoint using the clerezza version of RDF Commons, I've argued that it would be quite hard to do the same with the incubating Commons RDF proposal [1]. The reply on the list was that we will worry about that later, but in my opinion this shows a fundamental limitation of the current approach. Besides the SPARQL usecase, here's a simple usecase for wrapping data as RDF: interface Person { String getFirstName(); String getLastName(); String getDiary() } interface DataBase() { Interator<Person> list(); Interator<Person> filterByLastName(String); Interator<Person> filterByFirstName(String); } No the task is to expose this dynamically as RDF (i.e. without duplicating the data). Wrapping this with clerezza one would wrap the Person instance in a blanknode, the identity of the BlankNode would depend on the identity of the Person instance. Doing the same with the incubating commons rdf proposal would require keeping a Bidirectional Weak Hashmap of from Blanknode identifiers to Person objects. I don't think many programmers would like to do the latter, so I don't think it is currently a suitable API for exposing arbitrary data using the RDF datamodel. Cheers, Reto 1. http://mail-archives.apache.org/mod_mbox/commonsrdf-dev/201503.mbox/%3CCALvhUEXSSwO-Udj6ngdedVQuPC6n=+983ubnkyobs2psy5k...@mail.gmail.com%3E