Andy,

This seems like a good approach but does not appear to be in the Jena code
base, which I suppose is your comment about an approach to developing work.

Does it make sense to create git clones that contain the new work?  Or
perhaps branches?

Do you have a suggestion or direction you would like to see this go?

Claude



On Fri, Oct 28, 2016 at 2:35 PM, Andy Seaborne <a...@apache.org> wrote:

> Claude,
>
> These may help:
>
> I have been thinking about an interface that is more oriented to the
> storage than the full DatasetGraph.
>
> StorageRDF breaks down all the operations into those on the default graph
> and those on named graphs.  For just a graph, simply ignore the named graph
> operations.
>
> https://github.com/afs/AFS-Dev/blob/master/src/main/java/pro
> jects/dsg2/storage/StorageRDF.java
>
> There is an adapter to the DatasetGraph hierarchy (which is needed for
> SPARQL):
>
> https://github.com/afs/AFS-Dev/blob/master/src/main/java/pro
> jects/dsg2/DatasetGraphStorage.java
>
> If you want to only use existing classes, DatasetGraphTriplesQuads is the
> place to start - used by TIM and TDB - yuo can implement without needing
> quads/named graphs. Again, simply ignore (throw
> UnsupportedOperationException for the named graph calls).
>
> Going the graph route could lead to rework later on for any kind of
> performance issues because find(S,P,O) is so narrow and precludes union
> default graph except by brute force.  DatasetGraph work with the SPARQL
> execution engine.
>
> We still need to discuss how best to approach developing work - it should
> not get sucked up by the release cycle.
>
>         Andy
>
>
> On 26/10/16 19:21, Claude Warren wrote:
>
>> My plan is to start with a Graph implementation.  We expect to write 3
>> tables: SPO, POS, OPS (I think).  Currently we don't have an easy way to
>> handle find( ANY, ANY, ANY) so I suspect we will just start with
>> permitting
>> a column scan on Cassandra.
>>
>> I have not looked at DynamoDB but as I recall there are significant
>> differences under the hood.
>>
>> I expect that we will move on to a custom model or query engine to get the
>> best performance but that is not what we are planning for the first cut.
>>
>> I am still waiting for management approval to do this at work ....
>> sometimes it takes longer to get the paperwork done than it does to design
>> the thing.
>>
>>
>> Claude
>>
>> On Mon, Oct 17, 2016 at 6:39 PM, Paul Houle <paul.ho...@ontology2.com>
>> wrote:
>>
>> I like DynamoDB as a target for this sort of thing.  There are many
>>> tasks which are small-scale yet critical where it would otherwise be
>>> hard to provide a distributed and reliable database.  Put that together
>>> with Lambda,  which does the same for computation,  and you are cooking
>>> with gas.
>>>
>>> I wrote a 1-1 translation of DynamoDB documents to RDF that I use
>>> throughout an application;  the code is DynamoDB idiomatic in every way,
>>>  just the application reads and writes (a constrained set of) RDF
>>> documents.
>>>
>>> Right now I dump the documents from the DynamoDB system into a triple
>>> store when I want a panoptic view,  but with a distributed graph like
>>> that would mean being able to run SPARQL queries against DynamoDB
>>> directly.
>>>
>>> There are many products in the same family as Cassandra and DynamoDB and
>>> it would be good to think through the math so we can approach them all
>>> in a similar way.
>>>
>>> --
>>>   Paul Houle
>>>   paul.ho...@ontology2.com
>>>
>>> On Mon, Oct 17, 2016, at 12:31 PM, A. Soroka wrote:
>>>
>>>> Yep,
>>>>
>>>> http://iswc2011.semanticweb.org/fileadmin/iswc/Papers/
>>>>
>>> Workshops/SSWS/Ladwig-et-all-SSWS2011.pdf
>>>
>>>>
>>>> indicates that they are indexing by subject. As someone who has
>>>> implemented LDP, that is definitely the approach that makes sense there.
>>>>
>>>> ---
>>>> A. Soroka
>>>> The University of Virginia Library
>>>>
>>>> On Oct 17, 2016, at 12:20 PM, Andy Seaborne <a...@apache.org> wrote:
>>>>>
>>>>> IIRC It stores CBDs indexed by subject so it is the "other" model to
>>>>>
>>>> Rya.  Better for LDP (??).
>>>
>>>>
>>>>>     Andy
>>>>>
>>>>> On 17/10/16 15:41, A. Soroka wrote:
>>>>>
>>>>>> There's also:
>>>>>>
>>>>>> https://github.com/cumulusrdf/cumulusrdf
>>>>>>
>>>>>> in a similar vein (RDF over Cassandra). Not sure what kind of
>>>>>>
>>>>> particular uses it expects to support.
>>>
>>>>
>>>>>> ---
>>>>>> A. Soroka
>>>>>> The University of Virginia Library
>>>>>>
>>>>>> On Oct 17, 2016, at 7:02 AM, Andy Seaborne <a...@apache.org> wrote:
>>>>>>>
>>>>>>> Hi Claude,
>>>>>>>
>>>>>>> There is certainly interest from me.
>>>>>>>
>>>>>>> What the best thing to do depends on various factors.  By putting it
>>>>>>>
>>>>>> in extras I presume you mean it gets added to the release?  That is
>>> not the
>>> only way forward.
>>>
>>>>
>>>>>>> An important aspect of Apache is "Community over code" - will there
>>>>>>>
>>>>>> be a community around this code?  Is that community the same, or
>>> significant overlap, as the Jena community?
>>>
>>>>
>>>>>>> There are various reasons for wanting RDF over a column store -
>>>>>>>
>>>>>> which use cases are the most important for this work?
>>>
>>>>
>>>>>>> They lead to different ways of using Cassandra. For example,
>>>>>>>
>>>>>> Rya(incubating) uses Accumulo tables as indexes, and partial scans of
>>> the
>>> table is streaming.  Other systems try to use the columns for properties,
>>> possibly more useful for LDP style than SPARQL.
>>>
>>>>
>>>>>>>   Andy
>>>>>>>
>>>>>>> On 15/10/16 18:38, Claude Warren wrote:
>>>>>>>
>>>>>>>> Howdy,
>>>>>>>>
>>>>>>>> We have a project at work that is implementing Jena Graph on
>>>>>>>>
>>>>>>> Cassandra.  I
>>>
>>>> am wondering if there is enough interest here to accept it as a
>>>>>>>> contribution.  I was thinking that it might fit in the Extras
>>>>>>>>
>>>>>>> category.
>>>
>>>>
>>>>>>>> I can not promise release of the code yet as I have to present it
>>>>>>>>
>>>>>>> to our
>>>
>>>> internal Intellectual Property group first.
>>>>>>>>
>>>>>>>> Thoughts?
>>>>>>>>
>>>>>>>> Claude
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>>
>>
>>
>>


-- 
I like: Like Like - The likeliest place on the web
<http://like-like.xenei.com>
LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to