Develop XR With Oracle Cloud, Database on HoloLens, Ep 2: Property Graphs, Data Visualization, and Metaverse
In part 2 of this series on developing XR applications and experiences, explore Property Graphs and Analytics, Data Visualization, and Metaverse collaboration.
Join the DZone community and get the full member experience.Join For Free
This is the second piece in a series on developing XR applications and experiences using Oracle.
The first piece can be found here.
Again, I will specifically show applications developed with Oracle database and cloud technologies, HoloLens 2 (Microsoft Mixed Reality Headset), MRTK (Mixed Reality Toolkit) APIs (v2.7.2), and Unity (v2021.1.20f) platform.
Throughout the blog, I will reference a corresponding demo video, seen below.
Extended Reality (XR), Metaverse, and HoloLens
I will refer the reader to the first piece in the series for an overview of XR and Hololens.
The first blog in this series was based on a data-driven microservices workshop and described a number of aspects that will be present in the metaverse such as online shopping, DevOps, etc. I will continue to delve into these areas in this series. One area in particular that I will focus more and more on is collaboration. The graphs in this workshop including models, notebooks, etc. can all be shared and actively collaborated up, even in real-time, remotely. These types of abilities will be expanded upon and extended to concepts such as digital doubles in these future pieces.
This blog will not go into property graph concepts deeply and will instead focus on the XR-enablement of them using examples in existing graph workshops.
Basics of Creating Property Graphs
There are essentially four parts or stages to (visual) graph analysis:
- The actual data
- The relationships and graph modeling of that data
- Notebooks written (i.e., in PGQL) for analysis
- Visualization of the notebook output in various layouts and highlights
The creation of a property graph model from existing tables looks like this:
CREATE PROPERTY GRAPH "customer_360" VERTEX TABLES ( customer , account , merchant ) EDGE TABLES ( account SOURCE KEY(id) REFERENCES account DESTINATION KEY(customer_id) REFERENCES customer LABEL owned_by PROPERTIES (id) , parent_of SOURCE KEY(customer_id_parent) REFERENCES customer DESTINATION KEY(customer_id_child) REFERENCES customer , purchased SOURCE KEY(account_id) REFERENCES account DESTINATION KEY(merchant_id) REFERENCES merchant , transfer SOURCE KEY(account_id_from) REFERENCES account DESTINATION KEY(account_id_to) REFERENCES account )
Forced Graph Layout and Community Detection
The following force graph layout shows community detection, specifically strongly connected components, and the Kosaraj algorithm for money laundering detection in the case.
The following is an XR HoloLens representation of the same where vertex and edge labels are shown as well as the directional relationship of those edges and objects all of which can be manipulated via GGV (gaze, gesture, and voice).
Concentric Graph Layout With Rotation and Movement
There are numerous types of layouts, each with its own customization settings, tailored for viewing different aspects from different vantage points. Here we see a Concentric layout.
The following is an XR Hololens representation of the same. As with all of the XR representations discussed, it is possible to manipulate and analyze the graph visualizations through GGV. However, in this case, I have also added rotation and movement to the final visual representation in order to provide multiple angles and position the graph in a way as best suited to analysis as possible. I've also added spatial audio in this case just for fun though I will be exploring it as an additional tool for analysis and detection as well.
Visual Data and Graph Modeling
Finally, the video shows a concept for visual data and graph modeling where data sources (in this case, basic tables, but not limited to such) are represented as objects (cubes) that can be dropped on a common platform/dock. This action results in processing on the Oracle database side to create a graph model, correlations, commonalities, etc., and produce as output other objects that can, in turn, be studied and used in further combinations and analysis.
The use cases for properties graphs are literally endless and I have only scratched the surface of how they can be visualized in XR. I look forward to putting out more blogs on this topic and other areas of XR with Oracle Cloud and Database soon.
Please see the articles I publish for more information on Oracle converged database as well as various topics around microservices, observability, transaction processing, etc. Also, please feel free to contact me with any questions or suggestions for new blogs and videos as I am very open to suggestions. Thanks for reading and watching.
Opinions expressed by DZone contributors are their own.