Confucius said, “Tell me and I forget, show me and I remember, let me try and I learn”. Following this sage’s path to intelligence, try IntelligentGraph and PathQL by installing the IntelligentGraph docker image available here.
The capability of IntelligentGraph and PathQL
IntelligentGraph includes the PathQL query language. Just as a spreadsheet cell calculation needs to access other cells, an IntelligentGraph calculation needs to access other nodes within the graph. Although full access to the underlying graph is available to any of the scripts, PathQL provides a succinct, and efficient method to access directly or indirectly related nodes. PathQL can either return just the contents of the referenced nodes, or the contents and the path to the referenced nodes. See PathQL: Intelligently finding knowledge as a path through a maze of facts
PathQL can also be used standalone to query the IntelligentGraph-enabled RDF database. This supplements, rather than replaces, SPARQL and GraphQL, as it provides graph-path querying rather than graph-pattern querying capabilities to any IntelligentGraph-enabled RDF database. See Getting intelligent answers from knowledge graphs: use-cases
IntelligentGraph moves analytics into the knowledge graph rather than moving data to the analytics engine, avoiding the groundhog-analysis-way:
- Improves analyst performance and efficiency. Eliminates the need for analysts to create ELT to move data to the analysis engine.
- Simplifies complex calculations and aggregations. PathQL language greatly simplifies navigating and aggregating throughout the graph.
- Ensures calculation and KPI concurrency. Calculations are performed in-situ with the data, so no need to re-export data to the analysis engine to view updated results.
- Improves analysis performance and efficiency. Time-to-answer reduced or eliminated as analysis is equivalent to reporting
- Ensures analysis effort is shared with all. Analysis results become part of the graph which can be used by others ensuring consistency.
- Self-documenting analysis path to raw data. The IntelligentGraph contains calculation scripts that define which calculations will be performed on what data (or other calculation results).
- Improves analysis accuracy by providing provenance of all calculations. Trace of any analysis through to raw data is automatically available.
- Simplifies reporting. Standard reporting tools can be used that focus on report appearance rather than calculation capability since the latter is performed in the IntelligentGraph.
- Highly scalable. IntelligentGraph is built upon the de-facto graph standard RDF4J, allowing for the use of any RDF4J compliant datastore.
- Standard support. Access to IntelligentGraph for querying, reporting, and more is unchanged from any RDF-based KnowledgeGraph.
- Evolutionary, not revolutionary modeling and analysis. Graph-based models offer the ability to evolve as data analysis needs grow, such as adding new dimensions to the data, unlike a ‘traditional’ data mart or warehouse which usually require a rebuild.
- Creates the Intelligent Internet of Things. Scripts can access external data, such as IoT, on-demand allowing IoT-based calculations and analysis to be performed in-situ.
- Eliminates spreadsheet-hell. All spreadsheet calculations and aggregations can be moved into the graph, leaving the spreadsheet as a presentation tool. This eliminates the problem of undocumented calculations and inconsistent calculations in different spreadsheets.
Availability of IntelligentGraph and PathQL
- IntelligentGraph Docker containers are available here: https://hub.docker.com/repository/docker/inova8/intelligentgraph
- IntelligentGraph source is here in GitHub: https://github.com/peterjohnlawrence/com.inova8.intelligentgraph
- The principles of IntelligentGraph are described here: https://inova8.com/bg_inova8.com/intelligent-graph-knowledge-graph-embedded-analysis/
- The full PathQL syntax is described here: https://inova8.com/bg_inova8.com/pathpatternql-intelligently-finding-knowledge-as-a-path-through-a-maze-of-facts/
- Using Jupyter as an IDE to IntelligentGraph and RDF4J, shown here: https://inova8.com/bg_inova8.com/intelligentgraph-getting-started/