Could you raise this as an issue so we can focus the discussion? Jira has not been created yet ( https://issues.apache.org/jira/browse/INFRA-9245 ) - but I assume we would import the github issues one way or another?
On 23 March 2015 at 10:25, Reto Gmür <[email protected]> wrote: > Right now the API on Github says nothing about the identity and hascode of > any term. In order to have interoperable it is essential to define the > value of hashcode and the identity conditions for the rdf-terms which are > not locally scoped, i.e. for IRIs and Literals. > > I suggest to take the definitions from the clerezza rdf commons. > > Reto > > On Mon, Mar 23, 2015 at 10:18 AM, Stian Soiland-Reyes <[email protected]> > wrote: > >> OK - I can see on settling BlankNode equality can take some more time >> (also considering the SPARQL example). >> >> So then we must keep the "internalIdentifier" and the abstract concept >> of the "local scope" for the next release. >> >> In which case this one should also be applied: >> >> https://github.com/commons-rdf/commons-rdf/pull/48/files >> and perhaps: >> https://github.com/commons-rdf/commons-rdf/pull/61/files >> >> >> >> I would then need to fix simple GraphImpl.add() to clone and change >> the local scope of the BlankNodes: >> .. as otherwise it would wrongly merge graph1.b1 and graph2.b1 (in >> both having the same internalIdentifier and the abstract Local Scope >> of being in the same Graph). This can happen if doing say a copy from >> one graph to another. >> >> Raised and detailed in >> https://github.com/commons-rdf/commons-rdf/issues/66 >> .. adding this to the tests sounds crucial, and would help us later >> when sorting this. >> >> >> This is in no way a complete resolution. (New bugs would arise, e.g. >> you could add a triple with a BlankNode and then not remove it >> afterwards with the same arguments). >> >> >> >> >> >> On 22 March 2015 at 21:00, Peter Ansell <[email protected]> wrote: >> > +1 >> > >> > Although it is not urgent to release a 1.0 version, it is urgent to >> > release (and keep releasing often) what we have changed since 0.0.2 so >> > we can start experimenting with it, particularly since I have started >> > more intently on Sesame 4 in the last few weeks. Stians pull requests >> > to change the BNode situation could wait until after 0.0.3 is >> > released, at this point. >> > >> > Cheers, >> > >> > Peter >> > >> > On 21 March 2015 at 22:37, Andy Seaborne <[email protected]> wrote: >> >> I agree with Sergio that releasing something is important. >> >> >> >> We need to release, then independent groups can start to build on it. We >> >> have grounded requirements and a wider community. >> >> >> >> Andy >> >> >> >> >> >> On 21/03/15 09:10, Reto Gmür wrote: >> >>> >> >>> Hi Sergio, >> >>> >> >>> I don't see where an urgent agenda comes from. Several RDF APIs are >> there >> >>> so a new API essentially needs to be better rather than done with >> urgency. >> >>> >> >>> The SPARQL implementation is less something that need to be part of the >> >>> first release but something that helps validating the API proposal. We >> >>> should validate our API against many possible usecases and then discus >> >>> which are more important to support. In my opinion for an RDF API it is >> >>> more important that it can be used with remote repositories over >> standard >> >>> protocols than support for hadoop style processing across many machines >> >>> [1], but maybe we can support both usecases. >> >>> >> >>> In any case I think its good to have prototypical implementation of >> >>> usecases to see what API features are needed and which are >> problematic. So >> >>> I would encourage to write prototype usecases where a hadoop style >> >>> processing shows the need for exposed blank node ID or a prototype >> showing >> >>> that that IRI is better an interface than a class, etc. >> >>> >> >>> At the end we need to decide on the API features based on the usecases >> >>> they >> >>> are required by respectively compatible with. But it's hard to see the >> >>> requirements without prototypical code. >> >>> >> >>> Cheers, >> >>> Reto >> >>> >> >>> 1. >> >>> >> https://github.com/commons-rdf/commons-rdf/pull/48#issuecomment-72689214 >> >>> >> >>> On Fri, Mar 20, 2015 at 8:30 PM, Sergio Fernández <[email protected]> >> >>> wrote: >> >>> >> >>>> I perfectly understand what you target. But still, FMPOV still out of >> our >> >>>> urgent agenda. Not because it is not interesting, just because more >> >>>> urgent >> >>>> things to deal with. I think the most important think is to get >> running >> >>>> with what we have, and get a release out. But, as I said, we can >> discuss >> >>>> it. >> >>>> >> >>>> >> >>>> On 20/03/15 19:10, Reto Gmür wrote: >> >>>> >> >>>>> Just a little usage example to illustrate Stian's point: >> >>>>> >> >>>>> public class Main { >> >>>>> public static void main(String... args) { >> >>>>> Graph g = new SparqlGraph("http://dbpedia.org/sparql"); >> >>>>> Iterator<Triple> iter = g.filter(new Iri(" >> >>>>> http://dbpedia.org/ontology/Planet"), >> >>>>> new >> >>>>> Iri("http://www.w3.org/1999/02/22-rdf-syntax-ns#type >> >>>>> "), >> >>>>> null); >> >>>>> while (iter.hasNext()) { >> >>>>> System.out.println(iter.next().getObject()); >> >>>>> } >> >>>>> } >> >>>>> } >> >>>>> >> >>>>> I think with Stian's version using streams the above could be shorter >> >>>>> and >> >>>>> nicer. But the important part is that the above allows to use >> dbpedia as >> >>>>> a >> >>>>> graph without worrying about sparql. >> >>>>> >> >>>>> Cheers, >> >>>>> Reto >> >>>>> >> >>>>> On Fri, Mar 20, 2015 at 4:16 PM, Stian Soiland-Reyes < >> [email protected]> >> >>>>> wrote: >> >>>>> >> >>>>> I think a query interface as you say is orthogonal to Reto's >> >>>>>> >> >>>>>> impl.sparql module - which is trying to be an implementation of RDF >> >>>>>> Commons that is backed only by a remote SPARQL endpoint. Thus it >> >>>>>> touches on important edges like streaming and blank node identities. >> >>>>>> >> >>>>>> It's not a SPARQL endpoint backed by RDF Commons! :-) >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> On 20 March 2015 at 10:58, Sergio Fernández <[email protected]> >> wrote: >> >>>>>> >> >>>>>>> Hi Reto, >> >>>>>>> >> >>>>>>> yes, that was a deliberated decision on early phases. I'd need to >> look >> >>>>>>> it >> >>>>>>> up, I do not remember the concrete issue. >> >>>>>>> >> >>>>>>> Just going a bit deeper into the topic, in querying we are talking >> not >> >>>>>>> >> >>>>>> only >> >>>>>> >> >>>>>>> about providing native support to query Graph instance, but also to >> >>>>>>> >> >>>>>> provide >> >>>>>> >> >>>>>>> common interfaces to interact with the results. >> >>>>>>> >> >>>>>>> The idea was to keep the focus on RDF 1.1 concepts before moving to >> >>>>>>> >> >>>>>> query. >> >>>>>> >> >>>>>>> Personally I'd prefer to keep that scope for the first incubator >> >>>>>>> release, >> >>>>>>> and then start to open discussions about such kind of threads. But >> of >> >>>>>>> >> >>>>>> course >> >>>>>> >> >>>>>>> we can vote to change that approach. >> >>>>>>> >> >>>>>>> Cheers, >> >>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>>> On 17/03/15 11:05, Reto Gmür wrote: >> >>>>>>> >> >>>>>>>> >> >>>>>>>> Hi Sergio, >> >>>>>>>> >> >>>>>>>> I'm not sure which deliberate decision you are referring to, is it >> >>>>>>>> Issue >> >>>>>>>> #35 in Github? >> >>>>>>>> >> >>>>>>>> Anyway, the impl.sparql code is not about extending the API to >> allow >> >>>>>>>> running queries on a graph, in fact the API isn't extended at all. >> >>>>>>>> It's >> >>>>>>>> >> >>>>>>> an >> >>>>>> >> >>>>>> >> >>>>>>> implementation of the API which is backed by a SPARQL endpoint. >> Very >> >>>>>>>> >> >>>>>>>> >> >>>>>>> often >> >>>>>> >> >>>>>> >> >>>>>>> the triple store doesn't run in the same VM as the client and so >> it is >> >>>>>>>> >> >>>>>>>> necessary that implementation of the API speak to a remote triple >> >>>>>>>> store. >> >>>>>>>> This can use some proprietary protocols or standard SPARQL, this >> is >> >>>>>>>> an >> >>>>>>>> implementation for SPARQL and can thus be used against any SPARQL >> >>>>>>>> endpoint. >> >>>>>>>> >> >>>>>>>> Cheers, >> >>>>>>>> Reto >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> On Tue, Mar 17, 2015 at 7:41 AM, Sergio Fernández < >> [email protected]> >> >>>>>>>> wrote: >> >>>>>>>> >> >>>>>>>> Hi Reto, >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> thanks for updating us with the status from Clerezza. >> >>>>>>>>> >> >>>>>>>>> In the current Commons RDF API we delivery skipped querying for >> the >> >>>>>>>>> >> >>>>>>>> early >> >>>>>> >> >>>>>> >> >>>>>>> versions. >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> Although I'd prefer to keep this approach in the initial steps at >> >>>>>>>>> ASF >> >>>>>>>>> >> >>>>>>>> (I >> >>>>>> >> >>>>>> >> >>>>>>> hope we can import the code soon...), that's for sure one of the >> next >> >>>>>>>>> >> >>>>>>>>> points to discuss in the project, where all that experience is >> >>>>>>>>> >> >>>>>>>> valuable. >> >>>>>> >> >>>>>> >> >>>>>>> >> >>>>>>>>> Cheers, >> >>>>>>>>> >> >>>>>>>>> On 16/03/15 13:02, Reto Gmür wrote: >> >>>>>>>>> >> >>>>>>>>> Hello, >> >>>>>>>>>> >> >>>>>>>>>> >> >>>>>>>>>> With the new repository the clerezza rdf commons previously in >> the >> >>>>>>>>>> commons >> >>>>>>>>>> sandbox are now at: >> >>>>>>>>>> >> >>>>>>>>>> https://git-wip-us.apache.org/repos/asf/clerezza-rdf-core.git >> >>>>>>>>>> >> >>>>>>>>>> I will compare that code with the current status of the code in >> the >> >>>>>>>>>> incubating rdf-commons project in a later mail. >> >>>>>>>>>> >> >>>>>>>>>> Now I would like to point to your attention a big step forward >> >>>>>>>>>> towards >> >>>>>>>>>> CLEREZZA-856. The impl.sparql modules provide an implementation >> of >> >>>>>>>>>> the >> >>>>>>>>>> API >> >>>>>>>>>> on top of a SPARQL endpoint. Currently it only supports read >> >>>>>>>>>> access. >> >>>>>>>>>> >> >>>>>>>>> For >> >>>>>> >> >>>>>> >> >>>>>>> usage example see the tests in >> >>>>>>>>>> >> >>>>>>>>>> /src/test/java/org/apache/commons/rdf/impl/sparql ( >> >>>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=clerezza-rdf-core. >> >>>>>>>>>> git;a=tree;f=impl.sparql/src/test/java/org/apache/commons/ >> >>>>>>>>>> >> rdf/impl/sparql;h=cb9c98bcf427452392e74cd162c08ab308359c13;hb=HEAD >> >>>>>>>>>> ) >> >>>>>>>>>> >> >>>>>>>>>> The hard part was supporting BlankNodes. The current >> implementation >> >>>>>>>>>> handles >> >>>>>>>>>> them correctly even in tricky situations, however the current >> code >> >>>>>>>>>> is >> >>>>>>>>>> not >> >>>>>>>>>> optimized for performance yet. As soon as BlankNodes are >> involved >> >>>>>>>>>> many >> >>>>>>>>>> queries have to be sent to the backend. I'm sure some SPARQL >> wizard >> >>>>>>>>>> could >> >>>>>>>>>> help making things more efficient. >> >>>>>>>>>> >> >>>>>>>>>> Since SPARQL is the only standardized methods to query RDF >> data, I >> >>>>>>>>>> >> >>>>>>>>> think >> >>>>>> >> >>>>>> >> >>>>>>> being able to façade an RDF Graph accessible via SPARQL is an >> >>>>>>>>>> >> >>>>>>>>>> >> >>>>>>>>> important >> >>>>>> >> >>>>>> >> >>>>>>> usecase for an RDF API, so it would be good to also have an SPARQL >> >>>>>>>>>> >> >>>>>>>>>> backed >> >>>>>>>>>> implementation of the API proposal in the incubating commons-rdf >> >>>>>>>>>> repository. >> >>>>>>>>>> >> >>>>>>>>>> Cheers, >> >>>>>>>>>> Reto >> >>>>>>>>>> >> >>>>>>>>>> >> >>>>>>>>>> -- >> >>>>>>>>> >> >>>>>>>>> Sergio Fernández >> >>>>>>>>> Partner Technology Manager >> >>>>>>>>> Redlink GmbH >> >>>>>>>>> m: +43 660 2747 925 >> >>>>>>>>> e: [email protected] >> >>>>>>>>> w: http://redlink.co >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>> >> >>>>>>> -- >> >>>>>>> Sergio Fernández >> >>>>>>> Partner Technology Manager >> >>>>>>> Redlink GmbH >> >>>>>>> m: +43 660 2747 925 >> >>>>>>> e: [email protected] >> >>>>>>> w: http://redlink.co >> >>>>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> -- >> >>>>>> Stian Soiland-Reyes >> >>>>>> Apache Taverna (incubating), Apache Commons RDF (incubating) >> >>>>>> http://orcid.org/0000-0001-9842-9718 >> >>>>>> >> >>>>>> >> >>>>> >> >>>> -- >> >>>> Sergio Fernández >> >>>> Partner Technology Manager >> >>>> Redlink GmbH >> >>>> m: +43 660 2747 925 >> >>>> e: [email protected] >> >>>> w: http://redlink.co >> >>>> >> >>> >> >> >> >> >> >> -- >> Stian Soiland-Reyes >> Apache Taverna (incubating), Apache Commons RDF (incubating) >> http://orcid.org/0000-0001-9842-9718 >> -- Stian Soiland-Reyes Apache Taverna (incubating), Apache Commons RDF (incubating) http://orcid.org/0000-0001-9842-9718
