SlideShare a Scribd company logo
HyperGraphDB Motivation, Architecture and Applications
From Graph to HyperGraphs In a graph  G=(V, E), V  is a set and  E  a set of pairs  e={v 1 , v 2 }  from  V . Take  e  to be any subset  {v 1 ,…, v n }  of  V  and you get a hypergraph. Study: set combinatorics, Claude Berge Applications: machine learning, database indexing and optimization, SAT
An Undirected Hypergraph
Directed Hypergraphs Type 1: partition a hyperedge into a head and a tail Type 2: make the hyperedge a tuple
HyperGraphDB Model Type 2 directed edges by default Support of Type 1 directed edges Undirected edges – maybe in the future V (nodes) + E (edges) = A (atoms) Care about set theoretic foundation? Look at Peter Aczel  Non-well-founded sets  Invented by Dr. Ben Goertzel et al. for an AGI system.
Benefits All representations automatically reified Higher-order logic Recursive buildup of structures:  levels of abstraction contextualization N-ary relations lead to more compact and natural representations Example: between(New Jersey, New York, Boston)
Applications Artificial Intelligence: Ben Goertzel et al. – OpenCog AI (http://www.opencog.org) Harold Boley and Directed  Recursive Labelnode Hypergraphs, circa 1977 Freebase is a 4-unform hypergraph Relational algebra: HyperGraphDB is essentially a dynamic schema relational DB. Computational Biology, see “Hypergraphs and Cellular Networks” by Steffen Klamt et al.
More Applications RDF – triple stores are conceptually hypergraphs Named RDF – quadruple stores, hypergraphs too General (type 2) directed hypergraphs proposed to the RDF community as well. Efficient RDF representation: System ∏ Topic Maps – perfect marriage OO Database
Architecture Model Layer Key-value Store Caching Primitive Storage Layer Indexing Querying & Graph Algorithms Events P2P Distribution Framework Applications: Topic Maps, WordNet, XSD, RDF Sail, OWL, Prolog, Neural Nets, Distributed Dataflow Processing Type System
HyperGraphDB Concepts Atom – links 0 or more other atoms, carries strongly typed value Value – arbitrary, doesn’t participate in linkage Type – a special kind of atom that manages value storage and interpretation Target Set – the set of atoms that an atom points to. Arity – size of the target set Incidence Set – the set of atoms pointing to an atom. Node – an atom with arity 0 (doesn’t point to anything) Link – an atom with arity > 0 (points to something)
Storage Architecture Two layers – primitive and model layer Primitive Layer – a low-level graph of identities and raw data Mode layer – a layout for representing typed hypergraph atoms
Primitive Layer A graph of identities and raw, byte[] data  LinkStore ID -> [ID, …., ID] DataStore ID -> byte[] Current IDs are type 4 UUID
Model Layer Formalizes layout of primitives: AtomID -> [TypeID, ValueID, TargetID, ..., TargetID] TypeID := AtomID TargetID := AtomID ValueID -> [ID, …, ID] | byte[] A set of predefined indices: IncidenceIndex: AtomID -> SortedSet<AtomID> TypeIndex: TypeID -> SortedSet<AtomID> ValueIndex: ValueID -> SortedSet<AtomID>
Type System: Why types? Meaningful interpretation of data. Ensure integrity and consistency. Customized storage model They are a dynamic database schema
Type System : Types Are Atoms So an application domain model is directly represented, augmented and programmed against So new ones can be dynamically added  So type constructors (= types of types) will cover any type systems of any programming language  Reflectivity is good any way you look at it
Typing Bootstrap:Predefined Types Stored at database creation time …  more added any time later Handle primitive types such as numbers, strings etc. Other standard types: lists, maps etc. Type constructors for structured records (e.g. Java beans), strongly type relationships and more. Any domain/application specific custom type implementations
Working with HyperGraphDB Embedded, Java-based (C++ version planned) Store any object as an atom value and create arbitrary n-ary relationships b/w any objects The object structure is a graph at runtime, but it can be represented in many ways: As a serialized blob. As a primitive value graph. As an atom graph.
Indexing Associate indexes with atom types – then indexing is automatic Out-of-box + custom indexing possible Out-of-box implementations: object property -> atom target -> atom target -> another target target tuple -> atom multikey: compose any of the above
Querying Traversals – API for standard graph traversals. Hyper-traversals by jumping levels Constrained Atom Sets (SQL style) – API to retrieve sets of atoms based on constraining conditional expressions.  (Vaporware) Graph patterns  -  a new comprehensive query language, coming up, looking for help to do it!
Distribution Build on ACL (Agent Communication Language) foundation  Pluggable presence&communication layer – XMPP (default),  JXTA (available) or your own Nested workflows framework for agent (i.e. DB instance) conversations Primitive conversations such as subgraph transfer available Eventually consistent replication at model layer level.
API Highlights HGHandle – universal reference to atoms HyperGraph – a database instance add, remove, replace, define atoms access to high-level objects: type system, transaction, primitive store etc. HGTypeSystem – manage types, mapping b/w HGDB types and Java classes etc. HGQuery.hg – create and execute queries
More API Highlights HGEventManager – track and/or prevent every database atom operation HGTraversal – breadth-first, depth-first, user-defined adjancy lists HGIndexManager –arbitrary indexing of atoms HGStore – primitive storage layer HGIndex – use the key-value store directly HyperGraphPeer/ActivityManager – manage P2P activities
API –Interfaces HGLink getArity(), getTargetAt(i) HGAtomType make runtime object from storage add, remove value from storage subsumes(X, Y) HGAtomPredicate/HGQueryCondition Plug into querying facilities
API – More Interfaces HGALGenerator – generate a list of atoms adjacent to a given atom HGIndexer  - index an atom by an arbitrary key derived somehow from it Activity/FSMActivity – implement P2P conversation workflow
Thank you   Next: Seco?

More Related Content

What's hot (20)

PDF
Intro to Neo4j and Graph Databases
Neo4j
 
PPTX
BT Group: Use of Graph in VENA (a smart broadcast network)
Neo4j
 
PDF
Intro to Graphs and Neo4j
jexp
 
PDF
Neo4j : Graphes de Connaissance, IA et LLMs
Neo4j
 
PDF
GPT and Graph Data Science to power your Knowledge Graph
Neo4j
 
PPTX
Volvo Cars - Retrieving Safety Insights using Graphs (GraphSummit Stockholm 2...
Neo4j
 
PDF
Data Modeling with Neo4j
Neo4j
 
PPSX
Technip Energies Italy: Planning is a graph matter
Neo4j
 
PDF
Neo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j
 
PPTX
Introduction to Graph Databases
Max De Marzi
 
PDF
Building End-to-End Delta Pipelines on GCP
Databricks
 
PDF
Pourquoi Leroy Merlin a besoin d'un Knowledge Graph ?
Neo4j
 
PDF
Modern Data Challenges require Modern Graph Technology
Neo4j
 
PDF
Neo4j Data Science Presentation
Max De Marzi
 
PDF
Natural Language Processing with Graph Databases and Neo4j
William Lyon
 
PDF
NiFi Developer Guide
Deon Huang
 
PPTX
Analyzing 1.2 Million Network Packets per Second in Real-time
DataWorks Summit
 
PDF
Snowflake: The most cost-effective agile and scalable data warehouse ever!
Visual_BI
 
PDF
A Universe of Knowledge Graphs
Neo4j
 
PDF
Adobe Behance Scales to Millions of Users at Lower TCO with Neo4j
Neo4j
 
Intro to Neo4j and Graph Databases
Neo4j
 
BT Group: Use of Graph in VENA (a smart broadcast network)
Neo4j
 
Intro to Graphs and Neo4j
jexp
 
Neo4j : Graphes de Connaissance, IA et LLMs
Neo4j
 
GPT and Graph Data Science to power your Knowledge Graph
Neo4j
 
Volvo Cars - Retrieving Safety Insights using Graphs (GraphSummit Stockholm 2...
Neo4j
 
Data Modeling with Neo4j
Neo4j
 
Technip Energies Italy: Planning is a graph matter
Neo4j
 
Neo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j
 
Introduction to Graph Databases
Max De Marzi
 
Building End-to-End Delta Pipelines on GCP
Databricks
 
Pourquoi Leroy Merlin a besoin d'un Knowledge Graph ?
Neo4j
 
Modern Data Challenges require Modern Graph Technology
Neo4j
 
Neo4j Data Science Presentation
Max De Marzi
 
Natural Language Processing with Graph Databases and Neo4j
William Lyon
 
NiFi Developer Guide
Deon Huang
 
Analyzing 1.2 Million Network Packets per Second in Real-time
DataWorks Summit
 
Snowflake: The most cost-effective agile and scalable data warehouse ever!
Visual_BI
 
A Universe of Knowledge Graphs
Neo4j
 
Adobe Behance Scales to Millions of Users at Lower TCO with Neo4j
Neo4j
 

Similar to HyperGraphDb (20)

PDF
HypergraphDB
Jan Drozen
 
PDF
Graph Databases introduction to rug-b
Pere Urbón-Bayes
 
PDF
1st UIM-GDB - Connections to the Real World
Achim Friedland
 
ZIP
The InfoGrid Graph DataBase
InfoGrid.org
 
PDF
Processing large-scale graphs with Google Pregel
Max Neunhöffer
 
PDF
Distributed graph processing
Bartosz Konieczny
 
PDF
MongoDB @ SourceForge
iammutex
 
ODP
Graph databases
Karol Grzegorczyk
 
PDF
ModeShape 3 overview
Randall Hauch
 
PPTX
Compact Representation of Large RDF Data Sets for Publishing and Exchange
WU (Vienna University of Economics and Business)
 
PDF
Evolution of the Graph Schema
Joshua Shinavier
 
PPTX
Module 2.3 Document Databases in NoSQL Systems
NiramayKolalle
 
PDF
Bcn On Rails May2010 On Graph Databases
Pere Urbón-Bayes
 
PPTX
Graph_Database_Prepared_by_Ali_Rajab.pptx
removed_d60a659b5ed8cd7a5e0931e92447dc14
 
PPTX
Graph_Databases__And_Its_Usage_Presentation.pptx
Ali Rajab
 
PDF
2011-12-13 NoSQL aus der Praxis
Johannes Hoppe
 
PPTX
20181215 introduction to graph databases
Timothy Findlay
 
PDF
Graphs, Stores and API
Bart Hanssens
 
PDF
Graph Theory and Databases
Pere Urbón-Bayes
 
PDF
A Survey on Graph Database Management Techniques for Huge Unstructured Data
IJECEIAES
 
HypergraphDB
Jan Drozen
 
Graph Databases introduction to rug-b
Pere Urbón-Bayes
 
1st UIM-GDB - Connections to the Real World
Achim Friedland
 
The InfoGrid Graph DataBase
InfoGrid.org
 
Processing large-scale graphs with Google Pregel
Max Neunhöffer
 
Distributed graph processing
Bartosz Konieczny
 
MongoDB @ SourceForge
iammutex
 
Graph databases
Karol Grzegorczyk
 
ModeShape 3 overview
Randall Hauch
 
Compact Representation of Large RDF Data Sets for Publishing and Exchange
WU (Vienna University of Economics and Business)
 
Evolution of the Graph Schema
Joshua Shinavier
 
Module 2.3 Document Databases in NoSQL Systems
NiramayKolalle
 
Bcn On Rails May2010 On Graph Databases
Pere Urbón-Bayes
 
Graph_Database_Prepared_by_Ali_Rajab.pptx
removed_d60a659b5ed8cd7a5e0931e92447dc14
 
Graph_Databases__And_Its_Usage_Presentation.pptx
Ali Rajab
 
2011-12-13 NoSQL aus der Praxis
Johannes Hoppe
 
20181215 introduction to graph databases
Timothy Findlay
 
Graphs, Stores and API
Bart Hanssens
 
Graph Theory and Databases
Pere Urbón-Bayes
 
A Survey on Graph Database Management Techniques for Huge Unstructured Data
IJECEIAES
 
Ad

Recently uploaded (20)

PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
July Patch Tuesday
Ivanti
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Biography of Daniel Podor.pdf
Daniel Podor
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
July Patch Tuesday
Ivanti
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Ad

HyperGraphDb

  • 2. From Graph to HyperGraphs In a graph G=(V, E), V is a set and E a set of pairs e={v 1 , v 2 } from V . Take e to be any subset {v 1 ,…, v n } of V and you get a hypergraph. Study: set combinatorics, Claude Berge Applications: machine learning, database indexing and optimization, SAT
  • 4. Directed Hypergraphs Type 1: partition a hyperedge into a head and a tail Type 2: make the hyperedge a tuple
  • 5. HyperGraphDB Model Type 2 directed edges by default Support of Type 1 directed edges Undirected edges – maybe in the future V (nodes) + E (edges) = A (atoms) Care about set theoretic foundation? Look at Peter Aczel Non-well-founded sets Invented by Dr. Ben Goertzel et al. for an AGI system.
  • 6. Benefits All representations automatically reified Higher-order logic Recursive buildup of structures: levels of abstraction contextualization N-ary relations lead to more compact and natural representations Example: between(New Jersey, New York, Boston)
  • 7. Applications Artificial Intelligence: Ben Goertzel et al. – OpenCog AI (http://www.opencog.org) Harold Boley and Directed Recursive Labelnode Hypergraphs, circa 1977 Freebase is a 4-unform hypergraph Relational algebra: HyperGraphDB is essentially a dynamic schema relational DB. Computational Biology, see “Hypergraphs and Cellular Networks” by Steffen Klamt et al.
  • 8. More Applications RDF – triple stores are conceptually hypergraphs Named RDF – quadruple stores, hypergraphs too General (type 2) directed hypergraphs proposed to the RDF community as well. Efficient RDF representation: System ∏ Topic Maps – perfect marriage OO Database
  • 9. Architecture Model Layer Key-value Store Caching Primitive Storage Layer Indexing Querying & Graph Algorithms Events P2P Distribution Framework Applications: Topic Maps, WordNet, XSD, RDF Sail, OWL, Prolog, Neural Nets, Distributed Dataflow Processing Type System
  • 10. HyperGraphDB Concepts Atom – links 0 or more other atoms, carries strongly typed value Value – arbitrary, doesn’t participate in linkage Type – a special kind of atom that manages value storage and interpretation Target Set – the set of atoms that an atom points to. Arity – size of the target set Incidence Set – the set of atoms pointing to an atom. Node – an atom with arity 0 (doesn’t point to anything) Link – an atom with arity > 0 (points to something)
  • 11. Storage Architecture Two layers – primitive and model layer Primitive Layer – a low-level graph of identities and raw data Mode layer – a layout for representing typed hypergraph atoms
  • 12. Primitive Layer A graph of identities and raw, byte[] data LinkStore ID -> [ID, …., ID] DataStore ID -> byte[] Current IDs are type 4 UUID
  • 13. Model Layer Formalizes layout of primitives: AtomID -> [TypeID, ValueID, TargetID, ..., TargetID] TypeID := AtomID TargetID := AtomID ValueID -> [ID, …, ID] | byte[] A set of predefined indices: IncidenceIndex: AtomID -> SortedSet<AtomID> TypeIndex: TypeID -> SortedSet<AtomID> ValueIndex: ValueID -> SortedSet<AtomID>
  • 14. Type System: Why types? Meaningful interpretation of data. Ensure integrity and consistency. Customized storage model They are a dynamic database schema
  • 15. Type System : Types Are Atoms So an application domain model is directly represented, augmented and programmed against So new ones can be dynamically added So type constructors (= types of types) will cover any type systems of any programming language Reflectivity is good any way you look at it
  • 16. Typing Bootstrap:Predefined Types Stored at database creation time … more added any time later Handle primitive types such as numbers, strings etc. Other standard types: lists, maps etc. Type constructors for structured records (e.g. Java beans), strongly type relationships and more. Any domain/application specific custom type implementations
  • 17. Working with HyperGraphDB Embedded, Java-based (C++ version planned) Store any object as an atom value and create arbitrary n-ary relationships b/w any objects The object structure is a graph at runtime, but it can be represented in many ways: As a serialized blob. As a primitive value graph. As an atom graph.
  • 18. Indexing Associate indexes with atom types – then indexing is automatic Out-of-box + custom indexing possible Out-of-box implementations: object property -> atom target -> atom target -> another target target tuple -> atom multikey: compose any of the above
  • 19. Querying Traversals – API for standard graph traversals. Hyper-traversals by jumping levels Constrained Atom Sets (SQL style) – API to retrieve sets of atoms based on constraining conditional expressions. (Vaporware) Graph patterns - a new comprehensive query language, coming up, looking for help to do it!
  • 20. Distribution Build on ACL (Agent Communication Language) foundation Pluggable presence&communication layer – XMPP (default), JXTA (available) or your own Nested workflows framework for agent (i.e. DB instance) conversations Primitive conversations such as subgraph transfer available Eventually consistent replication at model layer level.
  • 21. API Highlights HGHandle – universal reference to atoms HyperGraph – a database instance add, remove, replace, define atoms access to high-level objects: type system, transaction, primitive store etc. HGTypeSystem – manage types, mapping b/w HGDB types and Java classes etc. HGQuery.hg – create and execute queries
  • 22. More API Highlights HGEventManager – track and/or prevent every database atom operation HGTraversal – breadth-first, depth-first, user-defined adjancy lists HGIndexManager –arbitrary indexing of atoms HGStore – primitive storage layer HGIndex – use the key-value store directly HyperGraphPeer/ActivityManager – manage P2P activities
  • 23. API –Interfaces HGLink getArity(), getTargetAt(i) HGAtomType make runtime object from storage add, remove value from storage subsumes(X, Y) HGAtomPredicate/HGQueryCondition Plug into querying facilities
  • 24. API – More Interfaces HGALGenerator – generate a list of atoms adjacent to a given atom HGIndexer - index an atom by an arbitrary key derived somehow from it Activity/FSMActivity – implement P2P conversation workflow
  • 25. Thank you  Next: Seco?