I voted for the INFRA issue, and will create it as soon as we have it.... On Mon, Mar 23, 2015 at 10:42 AM, Stian Soiland-Reyes <[email protected]> wrote:
> 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 >
