Experience, knowledge and understanding of graph based data models and of modelling graph data, including experience, knowledge and understanding of graph/linked data querying languages, such as SPARQL or Cypher

Sam Hardy | Thursday, January 14th, 2016

Our Certified Neo4j Team conducted Discovery/Alpha for schemaless database solutions; creating HMRC’s Knowledge Base Service:

-Designed/implemented RDF Store(SPARQL)/Neo4J(Cypher) versions of XML/Json schema differentiating tool, replacing Relational Database version; for comparison/evaluation purposes.

-Re-modelled RDF/Neo4j schemas (reduced physical schema characteristics including join tables/foreign keys/unrequired indexes were more concise/easier to understand than SQL schema.

-Existing SQL queries re-written in SPARQL/Neo4j; validating consistent results.

-Cypher queries easier to write (similar to SQL). SPARQL queries more verbose.

-Existing SQL queries navigating XML/Json data structure used many reflexive joins/very long/complicated. Query length/complexity reduced significantly for SPARQL/Cypher.

-SPARQL/Cypher queries written to extend service beyond capabilities of SQL queries for XML/Json schemas structures.

-Wrote Generic Graph Comparison query (Cypher only) comparing structure of two graphs. Exploited strong correlation between graphs/matrices; converting to matrices with same dimensions; then subtracting one from the other; resulting is difference between the graphs. Result matrix converted back to single/several disjoint graphs. Core Cypher under pseudonym ‘Marj’:

https://stackoverflow.com/questions/24486328/comparing-or-diffing-two-graphs-in-neo4j/53729182#53729182

 

Filed under: HMRC, Solutions