I'll try to get started on this tomorrow. My main task at work is to
actually spec out the features that will use this graph persistence
library, so I'll be splitting time with that. I'm also off two days next
week due to Thanksgiving. I may not get rolling too quickly in the short
term.
I'm in favor of keeping this on the forum. Perhaps it'll prove useful to
someone who wants to contribute in the future.
On Sunday, 18 November 2012 03:37:02 UTC-6, Sonnenschein wrote:
> Hi Joe,
> it's a good idea to start with a loosely-coupled preview which will prove
> to be an easy task. You probably will have seen that JSON export/import and
> Dot export, both separate modules within Graph for Scala, follow this
> strategy.
> Later on, you may also want to examine the ‘constrained’ module which
> falls into the tightly-coupled category. It is a good example for how to
> override behaviour at specific points by referring to extended
> configuration parameters. While the configuration parameter of a
> constrained graph contains its constraint, graphs reflecting persistent
> data will have a configuration parameter providing the database connection,
> schema description and alike.
> As an aside, if you have specific restrictions on the types of connecting
> nodes and their cardinalities, as it will be the case with Datomic schemas,
> these restrictions could potentially be managed by a graph constraint in
> the sense of the constrained module.
> What about to depict the needed transformation process by writing a few
> lines of test-first, non-compiling code right now? As I’m unsure about who
> is interested to follow the details, we may also go off list with the
> option to get back if somebody joins.
> Peter
> Am Samstag, 17. November 2012 23:43:06 UTC+1 schrieb Joe Barnes:
>> Yes, I would define references in the schema to allow me to create
>> graphs. I plan to start tinkering with this idea by writing
>> loosely-coupled code to convert to and from the Datomic data model.
>> However, I think ultimately I will need a tight integration. That will
>> allow calls such as pathTo() can be performed against the DB, rather than
>> having to pull in the entire graph into memory.
>> This is my vision for the integration: I want to be able to write
>> functions that transform persistent graph data without using the Datomic
>> interface. I figure I'll still have a way to write Datalog queries to
>> retrieve a particular graph or set of data. As long as manipulating the
>> data is straight-forward, I'll say it's a success.
>> Joe