Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Dr. Marko A. Rodriguez
Director of Engineering at DataStax, Inc.
Project Management Committee, Apache TinkerPop
The universal graph is a theoretical construct capturing the idea that every aspect
of reality can be modeled as a graph c...
Introduction
“Everything is a graph.”
Power Grids
https://en.wikipedia.org/wiki/Electrical_grid
Power Grids
https://en.wikipedia.org/wiki/Electrical_grid
Vascular System
https://en.wikipedia.org/wiki/Circulatory_system
Vascular System
https://en.wikipedia.org/wiki/Circulatory_system
Protein Chains
https://en.wikipedia.org/wiki/Protein_complex
Protein Chains
https://en.wikipedia.org/wiki/Protein_complex
Galactic Filament
https://en.wikipedia.org/wiki/Galaxy_filament
Galactic Filament
https://en.wikipedia.org/wiki/Galaxy_filament
“Everything is a graph.”
“Everything is a graph.”
Universe Vertices + Edges=
“Everything is a graph.”
Universe Vertices + Edges=
G = (V, E)
Graph Traversal
Graph Computing
Structure Process
Structure
Graph
Process
Traversal
Graph Computing
G = (V, E)
?
“Everything is a graph.”
Time:
The Process of Change
(V, E) = G ←− µ t ∈ T ψ −→ Ψ = (F, S)
Gremlin Graph Traversal Machine
Rodriguez, M.A., “The Gremlin Graph Traversal Machin...
(V, E) = G ←− µ t ∈ T ψ −→ Ψ = (F, S)
Gremlin Graph Traversal Machine
Graph Traversers Traversal
(V, E) = G ←− µ t ∈ T ψ −→ Ψ = (F, S)
Gremlin Graph Traversal Machine
Graph Traversers Traversal
Data Processing Units Pro...
(V, E) = G ←− µ t ∈ T ψ −→ Ψ = (F, S)
Gremlin Graph Traversal Machine
Graph Traversers Traversal
Data Processing Units Pro...
G = (V, E)
g.V(1).out(‘knows’).out(‘created’)
G = (V, E)
G = (V, E)
g.V(1).out(‘knows’).out(‘created’)
G = (V, E)
g.V(1).out(‘knows’).out(‘created’)
G = (V, E)
g.V(1).out(‘knows’).out(‘created’)
G = (V, E)
g.V(1).out(‘knows’).out(‘created’)
op=V
args=1
op=out
args=knows
op=out
args=created
nextnext
Ψ = (F, S)
G = (V, E)
op=V
args=1
op=out
args=knows
op=out
args=created
nextnext
Ψ = (F, S)
G = (V, E)
op=V
args=1
op=out
args=knows
op=out
args=created
nextnext
Ψ = (F, S)
G = (V, E)
op=V
args=1
op=out
args=knows
op=out
args=created
nextnext
Ψ = (F, S)
G = (V, E)
op=V
args=1
op=out
args=knows
op=out
args=created
nextnext
Ψ = (F, S)
G = (V, E)
G ←− µ t ∈ T ψ −→ Ψ
op=V
args=1
op=out
args=knows
op=out
args=created
nextnext
Ψ = (F, S)
G = (V, E)
µ
ψ
t ∈ T
G ←− µ t ∈ T ψ −→ Ψ
op=V
args=1
op=out
args=knows
op=out
args=created
nextnext
Ψ = (F, S)
G = (V, E)
µ
ψ
µ
ψ
T
op=V
args=1
op=out
args=knows
op=out
args=created
nextnext
Ψ = (F, S)
G = (V, E)
µ
ψ
µ
ψ
µ
ψ
T
Ψ = (F, S)
G = (V, E)
T
Ψ = (F, S)
G = (V, E)
T
Ψ = (F, S)
G = (V, E)
T
Ψ = (F, S)
G = (V, E)
T
G = (V, E)
“Everything is a graph?”
Ψ
T
G = (V, E)
“Everything is a graph?”
Ψ
T
No — All that exists is a static structure.
G = (V, E)
“Everything is a graph?”
Ψ
T
Fine — Create a traversal that executes
the graph encoded traversal. Ψ′
g.withSack(0).withSideEffect('drain',[1]).withSideEffect('fill',[]).
V().has('source','g').as('parent').
repeat(out('next'...
sideEffect(consumer("it.sideEffects('drain').clear()")).
sideEffect(select('fill').unfold().store('drain')).
sideEffect(co...
Ψ′
⊂ G
Footnote #2
G = (V, E)
Ψ
T
Ψ′
G = (V, E)
µ
ψ
Ψ
T
Ψ′
T′
G = (V, E)
“Everything is a graph?”
µ
ψ
Ψ
T
Ψ′
T′
G = (V, E)
“Everything is a graph?”
µ
ψ
Ψ
T
Ψ′
T′ No — Now there must exist a
traversal to execute the
traversal that is e...
Ψ, Ψ′
, Ψ′′
, Ψ′′′
, . . . , Ψ∞
⊂ G
Ψ, Ψ′
, Ψ′′
, Ψ′′′
, . . . , Ψ∞
⊂ G
program program programprogram program
processor processor processor processorprocessor
Ψ, Ψ′
, Ψ′′
, Ψ′′′
, . . . , Ψ∞
⊂ G
Bytecode, Virtual Machine, Physical Machine, Physics, …
program program program progra...
G ←− T −→ Ψ
Folding Process into Structure
G = (V, E)
“Everything is a graph.”
Open Problem #1
How can the universal graph
evolve without requiring processes
to exist “outside” itself?
i j
knows
directedlabeledgraph Footnote #1
Rodriguez, M.A., “Mapping Semantic Networks to Undirected Networks,” Internatio...
i j
knows
i j
110
binary encoding
directedlabeledgraph Footnote #1
i j
knows
i j
110
b1 b2 b3
binary encoding
directedlabeledgraph Footnote #1
i j
knows
i j
110
b1 b2 b3i j
b1 b2 b3
binary encoding
label encoding
directedlabeledgraphdirectedgraph Footnote #1
b1 b2 b3i j
directedgraph Footnote #1
b1 b2 b3i j
directedgraph Footnote #1
b1 b2e1
e2
e3
b1 b2 b3i j
directedgraphundirectedgraph Footnote #1
b1 b2e1
e2
e3
b1 b2e1
e2
e3
b3 j
i
“dots and lines”
direction encoding
undirectedgraph Footnote #1
j
i
“dots and lines”
i j
knows
directedlabeledgraph
bijection
Thought:
The Structure of Experience
physical object
physical object
physical spacetime
Rodriguez, M.A., Watkins, J.H., “Quantum Walks with Gremlin,” Proceedings of GraphDay ’16, pages 1-16, Austin, TX, January...
photon in
quantum superposition
“w
ave”
photon in
quantum superposition
“w
ave”
photon in
quantum superposition
“w
ave”
physical photon
“particle”
To be continued…
physical brain
photons
retina
light rods and
cones
optic nerve
actionpotentials
thalamus
“spreading activation”
lateral geniculate nucleus
“neurotransmitter mediated energy diffusion”
lateral geniculate nucleus
velocity of movement
visual cortex — V1
occipital lobe
edge detection
visual cortex — V2 through V4
occipital lobe
com
plex
shapes
visual cortex — V5 through V6
occipital lobe
m
otion
and
holistic
objects
inferior temporal gyrus
temporal lobe
“flying” “toaster”
“grandmother cells”
“Everything is a graph.”
Qualia Graph
Material Graph
“PhysicalWorld”“ConsciousWorld”
M ⊂ G
Q ⊂ G
Q ∩ M ∼ ∅
Open Problem #2
How does the universal graph
encode the qualia of thought as
vertices and edges?
Footnote #4
=
The process is the conscious experience…
Footnote #4
…but process has a structural, graph encoding.
G←−T−→Ψ
“Everythingisagraph.”
G=(V,E)
Creativity:
Altering the Structure of Process
G ←− T −→ Ψ
Graph Traversers
Traversal
Laws of Physics
G ←− T −→ Ψ
Physical World
Graph Traversers
Traversal
Structure
Process
Laws of Physics
G ←− T −→ Ψ
Physical World
Matter-energy
Spacetime
Quantum
Gravity
Graph Traversers
Traversal
Data
Structu...
Laws of Physics
G ←− T −→ Ψ
Physical World
Matter-energy
Spacetime
Quantum
Gravity
“Everything is a graph.”
G = (V, E)
Gra...
Matter-energy
Spacetime
Quantum
Gravity
µ ψ
t
G ←− T −→ Ψ
G = (V, E)
Matter-energy
Spacetime
Quantum
Gravity
µ ψ
t
G ←− T −→ Ψ
Matter-energy
Spacetime
Quantum
Gravity
µ ψ
t
G ←− T −→ Ψ
Laws of Physics
Manipulation
Technology
Ψ′
Ψ′
←− T′
Matter-energy
Spacetime
Quantum
Gravity
µ ψ
t
G ←− T −→ Ψ
ψ
Laws of Physics
Manipulation
Technology
t′
Matter-energy
Spacetime
Quantum
Gravity
µ ψ
t
G ←− T −→ Ψ
µψ
Ψ′
←− T′
−→ G′
Laws of Physics
Manipulation
Technology
Design...
Open Problem #3
If process is as malleable as structure, then
how does one get a reference to the “laws of
physics” in ord...
Thank you.
Coming in 2020
“A Graph Computing Book”
2018-2019
Sabbatical
Open Problems in the Universal Graph Theory
Open Problems in the Universal Graph Theory
Open Problems in the Universal Graph Theory
Open Problems in the Universal Graph Theory
Open Problems in the Universal Graph Theory
Open Problems in the Universal Graph Theory
Open Problems in the Universal Graph Theory
Upcoming SlideShare
Loading in …5
×

Open Problems in the Universal Graph Theory

1,604 views

Published on

A visual tour of the corresponding GraphDay 2017 article -- https://doi.org/10.5281/zenodo.583293.

A propositional axiom is stated -- "everything is a graph." The entailments of this axiom are discussed and problems are presented that don't lend themselves to an easy representation as vertices and edges.

Abstract: The universal graph is a theoretical construct capturing the idea that every aspect of reality can be modeled as a graph composed of vertices and edges and, as such, reality is a graph. From the physical world of atoms, people, and galaxies to the mental planes of thoughts, words, and knowledge, there exists a universal graph hosting all such structures. While this idea is enticing, there are still strides to be made in coming to terms with a reality that is not composed of atoms bound by spacetime, but instead, a graph composed of vertices united by edges.

Published in: Technology
  • Be the first to comment

Open Problems in the Universal Graph Theory

  1. 1. Dr. Marko A. Rodriguez Director of Engineering at DataStax, Inc. Project Management Committee, Apache TinkerPop
  2. 2. The universal graph is a theoretical construct capturing the idea that every aspect of reality can be modeled as a graph composed of vertices and edges and, as such, reality is a graph. From the physical world of atoms, people, and galaxies to the mental planes of thoughts, words, and knowledge, there exists a universal graph hosting all such structures. While this idea is enticing, there are still strides to be made in coming to terms with a reality that is not composed of atoms bound by spacetime, but instead, a graph composed of vertices united by edges. Abstract https://doi.org/10.5281/zenodo.583293 Open Problems in the Universal Graph Theory Rodriguez, M.A., "Open Problems in the Universal Graph Theory," GraphDay `17, 2(2), pages 1-5, San Francisco, CA, June 2017.
  3. 3. Introduction
  4. 4. “Everything is a graph.”
  5. 5. Power Grids https://en.wikipedia.org/wiki/Electrical_grid
  6. 6. Power Grids https://en.wikipedia.org/wiki/Electrical_grid
  7. 7. Vascular System https://en.wikipedia.org/wiki/Circulatory_system
  8. 8. Vascular System https://en.wikipedia.org/wiki/Circulatory_system
  9. 9. Protein Chains https://en.wikipedia.org/wiki/Protein_complex
  10. 10. Protein Chains https://en.wikipedia.org/wiki/Protein_complex
  11. 11. Galactic Filament https://en.wikipedia.org/wiki/Galaxy_filament
  12. 12. Galactic Filament https://en.wikipedia.org/wiki/Galaxy_filament
  13. 13. “Everything is a graph.”
  14. 14. “Everything is a graph.” Universe Vertices + Edges=
  15. 15. “Everything is a graph.” Universe Vertices + Edges= G = (V, E)
  16. 16. Graph Traversal Graph Computing Structure Process
  17. 17. Structure Graph Process Traversal Graph Computing G = (V, E) ? “Everything is a graph.”
  18. 18. Time: The Process of Change
  19. 19. (V, E) = G ←− µ t ∈ T ψ −→ Ψ = (F, S) Gremlin Graph Traversal Machine Rodriguez, M.A., “The Gremlin Graph Traversal Machine and Language,” Proceedings of the 15th Symposium on Database Programming Languages (DBPL 2015), pages 1–10, ISBN:978-1-4503-3902-5, doi:10.1145/2815072.2815073, ACM, October 2015. http://arxiv.org/abs/1508.03843
  20. 20. (V, E) = G ←− µ t ∈ T ψ −→ Ψ = (F, S) Gremlin Graph Traversal Machine Graph Traversers Traversal
  21. 21. (V, E) = G ←− µ t ∈ T ψ −→ Ψ = (F, S) Gremlin Graph Traversal Machine Graph Traversers Traversal Data Processing Units Program
  22. 22. (V, E) = G ←− µ t ∈ T ψ −→ Ψ = (F, S) Gremlin Graph Traversal Machine Graph Traversers Traversal Data Processing Units Program Structure ProcessProcessor
  23. 23. G = (V, E)
  24. 24. g.V(1).out(‘knows’).out(‘created’) G = (V, E)
  25. 25. G = (V, E) g.V(1).out(‘knows’).out(‘created’)
  26. 26. G = (V, E) g.V(1).out(‘knows’).out(‘created’)
  27. 27. G = (V, E) g.V(1).out(‘knows’).out(‘created’)
  28. 28. G = (V, E) g.V(1).out(‘knows’).out(‘created’)
  29. 29. op=V args=1 op=out args=knows op=out args=created nextnext Ψ = (F, S) G = (V, E)
  30. 30. op=V args=1 op=out args=knows op=out args=created nextnext Ψ = (F, S) G = (V, E)
  31. 31. op=V args=1 op=out args=knows op=out args=created nextnext Ψ = (F, S) G = (V, E)
  32. 32. op=V args=1 op=out args=knows op=out args=created nextnext Ψ = (F, S) G = (V, E)
  33. 33. op=V args=1 op=out args=knows op=out args=created nextnext Ψ = (F, S) G = (V, E) G ←− µ t ∈ T ψ −→ Ψ
  34. 34. op=V args=1 op=out args=knows op=out args=created nextnext Ψ = (F, S) G = (V, E) µ ψ t ∈ T G ←− µ t ∈ T ψ −→ Ψ
  35. 35. op=V args=1 op=out args=knows op=out args=created nextnext Ψ = (F, S) G = (V, E) µ ψ µ ψ T
  36. 36. op=V args=1 op=out args=knows op=out args=created nextnext Ψ = (F, S) G = (V, E) µ ψ µ ψ µ ψ T
  37. 37. Ψ = (F, S) G = (V, E) T
  38. 38. Ψ = (F, S) G = (V, E) T
  39. 39. Ψ = (F, S) G = (V, E) T
  40. 40. Ψ = (F, S) G = (V, E) T
  41. 41. G = (V, E) “Everything is a graph?” Ψ T
  42. 42. G = (V, E) “Everything is a graph?” Ψ T No — All that exists is a static structure.
  43. 43. G = (V, E) “Everything is a graph?” Ψ T Fine — Create a traversal that executes the graph encoded traversal. Ψ′
  44. 44. g.withSack(0).withSideEffect('drain',[1]).withSideEffect('fill',[]). V().has('source','g').as('parent'). repeat(out('next').as('step'). map(values('arg').fold()).as('args'). sideEffect(select('drain').unfold(). choose(select(last,'args').count(local).is(0), choose(select(last,'step').by('op')). option('V',V().hasLabel(not(within('step','traversal')))). option('out',out()). option('in',in()). option('both',both()). option('outE',outE()). option('inE',inE()). option('bothE',bothE()). option('inV',inV()). option('outV',outV()). option('otherV',otherV()). option('values',values()). option('barrier',barrier()). option('dedup',dedup()). option(none,identity()). choose(select(last,'step').by('op')). option('V', V().hasLabel(not(within('step','traversal'))). where(within('args')).by(id).by()). option('has',filter(union(label(),properties(). where(within('args')).by(key).by().value()). filter(predicate("it.path(last,'args')[1].test(it.get())")))). option('out',outE().where(within('args')).by(label).by().inV()). option('in',inE().where(within('args')).by(label).by().outV()). option('both',bothE().where(within('args')).by(label).by().otherV()). option('outE',outE().where(within('args')).by(label).by()). option('inE',inE().where(within('args')).by(label).by()). option('bothE',bothE().where(within('args')).by(label).by()). option('values',properties().where(within('args')).by(key).by().value()). option('barrier',barrier()). option(none,identity())). store('fill')). … Ψ′ Footnote #2
  45. 45. sideEffect(consumer("it.sideEffects('drain').clear()")). sideEffect(select('fill').unfold().store('drain')). sideEffect(consumer("it.sideEffects('fill').clear()")). select(last,'step'). choose(has('op','repeat').and().out('next').has('op','times'), select(last,'step').as('parent'). sack(assign).by(out('next').values('arg')).out('child').as('step'), choose(select(last,'parent').has('op','repeat').and().out('next').count().is(0), choose(sack().is(gt(1)), sack(minus).by(constant(1)).select(last,'parent').out('child').as('step'), select(last,'parent').as('step').out('parent').as('parent').select(last,'step')), identity()))). until(out('next').count().is(0)). select('drain'). choose(select(last,'step').has('op',within('fold','sum','mean','min','max','count','groupCount')), choose(select(last,'step').by('op')). option('fold',identity()). option('sum',map(unfold().sum())). option('mean',map(unfold().mean())). option('min',map(unfold().min())). option('max',map(unfold().max())). option('count',map(unfold().count())). option('groupCount',map(unfold().groupCount())), unfold()) … https://www.datastax.com/dev/blog/a-gremlin-implementation-of-the-gremlin-traversal-machine Rodriguez, M.A., “A Gremlin Implementation of the Gremlin Traversal Machine,” DataStax Engineering Blog, October 2016. Footnote #2
  46. 46. Ψ′ ⊂ G Footnote #2
  47. 47. G = (V, E) Ψ T Ψ′
  48. 48. G = (V, E) µ ψ Ψ T Ψ′ T′
  49. 49. G = (V, E) “Everything is a graph?” µ ψ Ψ T Ψ′ T′
  50. 50. G = (V, E) “Everything is a graph?” µ ψ Ψ T Ψ′ T′ No — Now there must exist a traversal to execute the traversal that is executing the traversal. Ψ′ Ψ Ψ′′
  51. 51. Ψ, Ψ′ , Ψ′′ , Ψ′′′ , . . . , Ψ∞ ⊂ G
  52. 52. Ψ, Ψ′ , Ψ′′ , Ψ′′′ , . . . , Ψ∞ ⊂ G program program programprogram program processor processor processor processorprocessor
  53. 53. Ψ, Ψ′ , Ψ′′ , Ψ′′′ , . . . , Ψ∞ ⊂ G Bytecode, Virtual Machine, Physical Machine, Physics, … program program program program processor processor processor processor program program programprogram program processor processor processor processorprocessor
  54. 54. G ←− T −→ Ψ Folding Process into Structure G = (V, E) “Everything is a graph.”
  55. 55. Open Problem #1 How can the universal graph evolve without requiring processes to exist “outside” itself?
  56. 56. i j knows directedlabeledgraph Footnote #1 Rodriguez, M.A., “Mapping Semantic Networks to Undirected Networks,” International Journal of Applied Mathematics and Computer Sciences, 5(1), pages 39-42, ISSN:2070-3902, World Academy of Science Engineering and Technology, 2009. http://arxiv.org/abs/0804.0277
  57. 57. i j knows i j 110 binary encoding directedlabeledgraph Footnote #1
  58. 58. i j knows i j 110 b1 b2 b3 binary encoding directedlabeledgraph Footnote #1
  59. 59. i j knows i j 110 b1 b2 b3i j b1 b2 b3 binary encoding label encoding directedlabeledgraphdirectedgraph Footnote #1
  60. 60. b1 b2 b3i j directedgraph Footnote #1
  61. 61. b1 b2 b3i j directedgraph Footnote #1 b1 b2e1 e2 e3
  62. 62. b1 b2 b3i j directedgraphundirectedgraph Footnote #1 b1 b2e1 e2 e3 b1 b2e1 e2 e3 b3 j i “dots and lines” direction encoding
  63. 63. undirectedgraph Footnote #1 j i “dots and lines” i j knows directedlabeledgraph bijection
  64. 64. Thought: The Structure of Experience
  65. 65. physical object physical object
  66. 66. physical spacetime
  67. 67. Rodriguez, M.A., Watkins, J.H., “Quantum Walks with Gremlin,” Proceedings of GraphDay ’16, pages 1-16, Austin, TX, January 2016. http://arxiv.org/abs/1511.06278 physical photon “particle”
  68. 68. photon in quantum superposition “w ave”
  69. 69. photon in quantum superposition “w ave”
  70. 70. photon in quantum superposition “w ave”
  71. 71. physical photon “particle” To be continued…
  72. 72. physical brain
  73. 73. photons
  74. 74. retina light rods and cones
  75. 75. optic nerve actionpotentials
  76. 76. thalamus “spreading activation”
  77. 77. lateral geniculate nucleus “neurotransmitter mediated energy diffusion”
  78. 78. lateral geniculate nucleus velocity of movement
  79. 79. visual cortex — V1 occipital lobe edge detection
  80. 80. visual cortex — V2 through V4 occipital lobe com plex shapes
  81. 81. visual cortex — V5 through V6 occipital lobe m otion and holistic objects
  82. 82. inferior temporal gyrus temporal lobe “flying” “toaster” “grandmother cells”
  83. 83. “Everything is a graph.”
  84. 84. Qualia Graph Material Graph “PhysicalWorld”“ConsciousWorld” M ⊂ G Q ⊂ G Q ∩ M ∼ ∅
  85. 85. Open Problem #2 How does the universal graph encode the qualia of thought as vertices and edges?
  86. 86. Footnote #4 = The process is the conscious experience…
  87. 87. Footnote #4 …but process has a structural, graph encoding. G←−T−→Ψ “Everythingisagraph.” G=(V,E)
  88. 88. Creativity: Altering the Structure of Process
  89. 89. G ←− T −→ Ψ Graph Traversers Traversal
  90. 90. Laws of Physics G ←− T −→ Ψ Physical World Graph Traversers Traversal Structure Process
  91. 91. Laws of Physics G ←− T −→ Ψ Physical World Matter-energy Spacetime Quantum Gravity Graph Traversers Traversal Data Structure Algorithm
  92. 92. Laws of Physics G ←− T −→ Ψ Physical World Matter-energy Spacetime Quantum Gravity “Everything is a graph.” G = (V, E) Graph Traversers Traversal
  93. 93. Matter-energy Spacetime Quantum Gravity µ ψ t G ←− T −→ Ψ G = (V, E)
  94. 94. Matter-energy Spacetime Quantum Gravity µ ψ t G ←− T −→ Ψ
  95. 95. Matter-energy Spacetime Quantum Gravity µ ψ t G ←− T −→ Ψ Laws of Physics Manipulation Technology Ψ′
  96. 96. Ψ′ ←− T′ Matter-energy Spacetime Quantum Gravity µ ψ t G ←− T −→ Ψ ψ Laws of Physics Manipulation Technology t′
  97. 97. Matter-energy Spacetime Quantum Gravity µ ψ t G ←− T −→ Ψ µψ Ψ′ ←− T′ −→ G′ Laws of Physics Manipulation Technology Designer Gravity “Everything is a graph.” t′
  98. 98. Open Problem #3 If process is as malleable as structure, then how does one get a reference to the “laws of physics” in order to alter the evolution of the physical world?
  99. 99. Thank you. Coming in 2020 “A Graph Computing Book” 2018-2019 Sabbatical

×