(BTW: Have you seen
this post? I was asking if you could provide me your blocknotify script to translate the blockchain to RDF as I have begun to set up a Fuseki node that is planned to hold the Slimcoin blockchain as an alternative to your installation. If it's still not "shareable", no problem ...)
I did reply but I must not have actually clicked on “submit”, this is from my drafts ...
@gjhiggins: A little question ... I have installed a Fuseki instance to provide the Slimcoin RDF block chain, mainly for my own web2web tests, for now, but also as an block explorer API. A couple of weeks ago you mentioned a Python blocknotify script you have written that "translates" the block JSON structure from the Slimcoin client into the RDF structure used in your CCY ontology. Can this script be downloaded or could you upload it publicly so I can use it? (I could write a similar script but why invent the wheel two times ...) Is your CCY ontology "stable" or are you still working on it?
Uh-huh, another spinning-on-a-stick plate of mine that's starting to wobble a bit and needs an energy boost.
A couple of weeks ago, I reorganised the application file structure on the server to pave the way for the next stage, that of creating an all-in deployment script. Unfortunately, I omitted to update the slimcoin config file with the new location of the blocknotify script and so the graph stopped being updated. Even more unfortunately, I didn't notice until just the other day that the graph is a couple of weeks behind. So far, I've tried to run the blocknotify-catchup script four times without success, I keep losing the ssh connection (/me waves at GCHQ) so I'll have to try a different tack. The catchup script is identical to blocknotify except that it's wrapped in an iterator that runs from last-sparql-reported blockheight to jsonrpc-api-reported latestblockheight, slowly, so as not to unduly stress either the node or fuseki.
This sort of hints that, as I suspected it might be, blocknotify is a little brittle for serious use. OTOH, it was working just fine before I screwed it up and it continues to work fine with datacoin (whose config I did manage to remember to update, apparently). But yes, I am now sufficiently resigned to the embarrassment of publishing the code - I've only spent a few scattered hours on it, with the basic objective of getting it to a working state in order to get a sense of whether the approach has any merit. So, elegant and well thought-out it is not.
The same “suck it and see” approach is true of the CCY ontology, it seems to be doing the job. From a practical perspective, the usual space/time tradeoffs present themselves - inferences can be cached to save time, at the expense of space or re-inferred to save space, at the expense of time. It would be useful to denote which blocks contain inscription tx, it would narrow down the search/listing space. At the moment, the ontology does not include the boolean predicate
has_inscription_tx but this does not preclude the appearance of such statements in the graph - or an associated graph if separation is deemed desirable. The ontology can be updated to suit.
The current namespace is merely custodial. It is mediated by purl.org, a popular solution for public service URL relocators - you publish a stable, unchanging purl.org address and 301 redirect to wherever the resource is actually located. Purl.org offers group ownership of the administration of the relocation destinations mapped to the public service URLs, so ownership can be brought into the community.
The ontology itself is an open source repos on github:
https://github.com/DOACC/ccy and I don't think I have a clue what “stable” means - the term is inherited from the W3C approach and it possibly refers to some W3C process and is irrelevant in this context.
I'll pull together the (happily, already-existing) components into a single script, in which the blocknotify script and its Python virtualenv context will all be painstakingly laid out in full detail (else it won't work).
I'm still wrestling with the script ... progress not helped by the fact I managed to brick the XPS last night. Took all day to get it booted againCheers
Graham