After a week in Berlin with the Wikidata team its clear that triple stores are going to be a reasonably choice for *querying* wikidata. SPARQL is a powerful language if a bit on the wordy side. There are tons of standards to get lost in as well. BUT triple stores offer some features that other graph databases simply don't:
- Inferences (automatic materialization)
- Join order rewriting
- Index all the things!
BlazeGraph in particular has some features that we want:
- AST rewriting (aka pluggable query optimizers which can be used for context free query securing and creating synthetic properties)
- Analytic queries (don't fill the Java heap and die....) (yeah, its a java specific problem, but at least they have a solution for it)
- User defined inline values
Anyway, we're pretty happy with BlazeGraph according to the spreadsheet. So this ticket is going to track us running down the remaining loose ends before we can claim, 100%, that we want to use it.