SlideShare a Scribd company logo
The Network Data Structure in Computing Marko A. Rodriguez Los Alamos National Laboratory Vrije Universiteit Brussel [email_address] http://cnls.lanl.gov/~marko
About me. Marko Antonio Rodriguez. Bachelors of Science in Cognitive Science from U.C. San Diego. Minor in the Arts in Computer Music from U.C. San Diego. Masters of Science in Computer Science from U.C. Santa Cruz. Visiting Researcher at the Center for Evolution, Complexity, and Cognition at the Free University of Brussels. Ph.D. in Computer Science from U.C. Santa Cruz. Researcher at the Los Alamos National Laboratory since 2005.
Research trends. MESUR : Metrics from Scholarly Usage of Resources. ( http://www.mesur.org ) Neno / Fhat : A Semantic Network Programming Language and Virtual Machine Architecture. ( http://neno.lanl.gov ) C D M S : Collective Decision Making Systems. ( http://cdms.lanl.gov )
What is a network? A network is a data structure that is used to connect  vertices /nodes/dots by means of  edges /links/lines. Networks are everywhere. Social : friendship, trust, communication, collaboration. Technological : web-pages, communication, software dependencies, circuits. Scholarly : journals, authors, articles, institutions. Natural : protein interaction, neural, food web.
The undirected network. There is the undirected network of common knowledge. Sometimes called an undirected  single-relational  network. e.g. vertex  i  and vertex  j  are “related”. The semantic of the edge denotes the network type . e.g. friendship network, collaboration network, etc. i j
Example undirected network. Herbert Marko Aric Ed Zhiwu Alberto Jen Johan Luda Stephan Whenzong
The directed network. Then there is the directed network of common knowledge. Sometimes called a directed  single-relational  network. For example, vertex  i  is related to vertex  j , but  j  is not related to  i . i j
Example directed network. Muskrat Bear Fish Fox Meerkat Lion Human Wolf Deer Beetle Hyena
The semantic network. Finally, there is the semantic network  Sometimes called a directed  multi-relational  network. For example, vertex  i  is related to vertex  j  by the semantic  s , but  j  is not related to  i  by the semantic  s . i j s
Example semantic network. SantaFe Marko NewMexico Ryan California UnitedStates LANL livesIn worksWith cityOf originallyFrom stateOf stateOf locatedIn hasLab Cells Atoms madeOf madeOf researches Oregon southOf hasResident Arnold governerOf northOf
Google’s PageRank. PageRank Used to rank web-pages that are connected by citation (hyper-link). Note: this image was stolen off the web from somewhere.
The components to calculate a  stationary probability distribution. Take a single “random walker”. Place that random walker on any random vertex in the network. At every time step, the random walker transitions from its current node to an adjacent node in the network (i.e. takes a random outgoing edge from its current node.) Anytime the random walker is at a node, increment a “times visited” counter by 1. Let this algorithm run for an “infinite” amount of time. Normalize the “times visited” counters. That is your centrality vector. a 1 0.0123
Random walker example. a c b d 0 0 0 0
Random walker example. a c b d 1 0 0 0
Random walker example. a c b d 1 0 1 0
Random walker example. a c b d 1 0 1 1
Random walker example. a c b d 1 1 1 1
Random walker example. a c b d 1 1 2 1
Random walker example. a c b d 1 2 2 1
Random walker example. a c b d 2 2 2 1
Random walker example. a c b d 2 2 3 1
Random walker example. a c b d 2 2 3 2
Random walker example. a c b d 2 3 3 2
Random walker example. a c b d 2 3 4 2
Random walker example. a c b d 66785 133310 133321 66784
Random walker example. a c b d 0.167 0.332 0.332 0.167
Breather.
Example semantic network. SantaFe Marko NewMexico Ryan California UnitedStates LANL livesIn worksWith cityOf originallyFrom stateOf stateOf locatedIn hasLab Cells Atoms madeOf madeOf researches Oregon southOf hasResident Arnold governerOf northOf
What is the Semantic Web? The figurehead of the Semantic Web initiative, Tim Berners-Lee, describes the Semantic Web as  “ ...  an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation. ” Perhaps not the best definition. It implies a particular application space--namely the “web metadata and intelligent agents” space. My definition is that the Semantic Web is  “ a distributed, standardized semantic network data model--a URG (Uniform Resource Graph). It’s a uniform way of graphing resources. ”
What is a resource? Resource  =  Anything. Anything that can be identified. The Uniform Resource Identifier (URI): <scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ] http://www.lanl.gov urn:uuid:550e8400-e29b-41d4-a716-446655440000 urn:issn:0892-3310 http://www.lanl.gov#MarkoRodriguez prefix it to make it easier on the eyes -- lanl:MarkoRodriguez The Semantic Web “ first identify it, then relate it! ”
The technologies of the Semantic Web. Resource Description Framework  (RDF): The foundation technology of the Semantic Web. RDF is a highly-distributed, semantic network data model. In RDF, URIs and literals (e.g. ints, doubles, strings) are related to one another in triples.  <lanl:marko> <lanl:worksWith> <lanl:jhw> <lanl:jhw> <lanl:wrote> <lanl:LAUR-07-2028> <lanl:LAUR-07-2028> <lanl:hasTitle> “Web-Based Collective Decision Making Systems”^^<xsd:string> RDF Schema  (RDFS): The ontology is to the  Semantic Web as the schema is to the relational database. “ Anything of  rdf:type   lanl:Human  can  lanl:drive  anything of  rdf:type lanl:Car .”
RDF and RDFS. lanl:marko lanl:cookie lanl:Human lanl:Food lanl:isEating rdf:type rdf:type lanl:isEating rdfs:domain rdfs:range ontology instance RDF is not a syntax. It’s a data model. Various syntaxes exist to encode RDF including RDF/XML, N-TRIPLE, TRiX, N3, etc.
PageRank in a semantic network? lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote ? lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type ? ?
Components of a grammar-based walker. A  walker . Discrete element. A  grammar . An abstract representation of legal path for the walker take. e.g. “you can traverse a  lanl:friendOf  edge from a  lanl:Human  to another  lanl:Human .” Also includes rules: “increment a counter.”, “don’t ever return to this vertex.” A  data set  that respects the ontological “expectations” of the grammar.
Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 0 0 0 “ Take only  lanl:wrote  out-edge to a resource of  rdf:type   lanl:Article . Then take a  lanl:wrote  in-edge to a resource of  rdf:type lanl:Human . Increment only  lanl:Human s. Make sure that the  lanl:Human  seen before is not the same  lanl:Human  currently. Repeat infinitely.”
Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type “ Take only  lanl:wrote  out-edge to a resource of  rdf:type   lanl:Article . Then take a  lanl:wrote  in-edge to a resource of  rdf:type lanl:Human . Increment only  lanl:Human s. Make sure that the  lanl:Human  seen before is not the same  lanl:Human  currently. Repeat infinitely.” 1 0 0
Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 1 0 0 “ Take only  lanl:wrote  out-edge to a resource of  rdf:type   lanl:Article . Then take a  lanl:wrote  in-edge to a resource of  rdf:type lanl:Human . Increment only  lanl:Human s. Make sure that the  lanl:Human  seen before is not the same  lanl:Human  currently. Repeat infinitely.”
Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 1 0 1 “ Take only  lanl:wrote  out-edge to a resource of  rdf:type   lanl:Article . Then take a  lanl:wrote  in-edge to a resource of  rdf:type lanl:Human . Increment only  lanl:Human s. Make sure that the  lanl:Human  seen before is not the same  lanl:Human  currently. Repeat infinitely.”
Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 1 0 1 “ Take only  lanl:wrote  out-edge to a resource of  rdf:type   lanl:Article . Then take a  lanl:wrote  in-edge to a resource of  rdf:type lanl:Human . Increment only  lanl:Human s. Make sure that the  lanl:Human  seen before is not the same  lanl:Human  currently. Repeat infinitely.”
Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 2 0 1 “ Take only  lanl:wrote  out-edge to a resource of  rdf:type   lanl:Article . Then take a  lanl:wrote  in-edge to a resource of  rdf:type lanl:Human . Increment only  lanl:Human s. Make sure that the  lanl:Human  seen before is not the same  lanl:Human  currently. Repeat infinitely.”
Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 2 0 1 “ Take only  lanl:wrote  out-edge to a resource of  rdf:type   lanl:Article . Then take a  lanl:wrote  in-edge to a resource of  rdf:type lanl:Human . Increment only  lanl:Human s. Make sure that the  lanl:Human  seen before is not the same  lanl:Human  currently. Repeat infinitely.”
Grammars create implicit relationships. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type lanl:hasCoauthor
Conclusions. Many systems can be represented as a network. The semantic network is a more expressive, though less studied data model. The grammar technique can be used to port many of the common network analysis algorithms to the semantic network domain.
Related publications. Rodriguez, M.A., Watkins, J.H., Bollen, J., Gershenson, C., “ Using RDF to Model the Structure and Process of Systems ”, International Conference on Complex Systems, Boston, Massachusetts, LAUR-07-5720, October 2007. Rodriguez, M.A., Bollen, J., Van de Sompel, H., “ A Practical Ontology for the Large-Scale Modeling of Scholarly Artifacts and their Usage ”, 2007 ACM/IEEE Joint Conference on Digital Libraries, pages 278-287, Vancouver, Canada, ACM/IEEE Computing, doi:10.1145/1255175.1255229, LA-UR-07-0665, June 2007. Rodriguez, M.A.,  &quot;Social Decision Making with Multi-Relational Networks and Grammar-Based Particle Swarms &quot;, 2007 Hawaii International Conference on Systems Science (HICSS), pages 39-49, Waikoloa, Hawaii, IEEE Computer Society, ISSN: 1530-1605, doi:10.1109/HICSS.2007.487, LA-UR-06-2139, January 2007. Rodriguez, M.A., &quot; A Multi-Relational Network to Support the Scholarly Communication Process &quot;, International Journal of Public Information Systems, volume 2007, issue 1, pages 13-29, ISSN: 1653-4360, LA-UR-06-2416, March 2007. Rodriguez, M.A., “ Mapping Semantic Networks to Undirected Networks ”, LA-UR-07-5287, August 2007. Rodriguez, M.A., Watkins, J.H., “ Grammar-Based Geodesics in Semantic Networks ”, LA-UR-07-4042, June 2007. Rodriguez, M.A., Bollen, J., “ Modeling Computations in a Semantic Network ”, LA-UR-07-3678, May 2007.  Rodriguez, M.A., “ General-Purpose Computing on a Semantic Network Substrate ”, LA-UR-07-2885, April 2007.  Rodriguez, M.A., “ Grammar-Based Random Walkers in Semantic Networks ”, Knowledge-Based Systems, Elsevier, LA-UR-06-7791, in press, 2007.

More Related Content

What's hot (20)

DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
Sonatype
 
Redux essentials
Redux essentials
Chandan Kumar Rana
 
DevNexus 2019: Migrating to Java 11
DevNexus 2019: Migrating to Java 11
DaliaAboSheasha
 
Flutter for web
Flutter for web
rihannakedy
 
Introduction to BDD
Introduction to BDD
Knoldus Inc.
 
Project Presentation on Advance Java
Project Presentation on Advance Java
Vikas Goyal
 
LoadRunner walkthrough
LoadRunner walkthrough
Bhuvaneswari Subramani
 
QA. Load Testing
QA. Load Testing
Alex Galkin
 
Evolving Team Structure in DevOps
Evolving Team Structure in DevOps
Sherry Chang
 
Testing in Agile Projects
Testing in Agile Projects
sriks7
 
Use Cases & User Stories: An Overview
Use Cases & User Stories: An Overview
QA InfoTech
 
GraalVM
GraalVM
NexThoughts Technologies
 
Native Java with GraalVM
Native Java with GraalVM
Sylvain Wallez
 
Fake it 'til you make it
Fake it 'til you make it
Jonathan Snook
 
Machine Learning and Analytics in Splunk
Machine Learning and Analytics in Splunk
Splunk
 
Android content providers
Android content providers
Kurt Mbanje
 
Selenium presentation
Selenium presentation
P.V.G'S COET, PUNE - 09
 
Continuous testing
Continuous testing
Dr Ganesh Iyer
 
Using the SugarCRM REST API
Using the SugarCRM REST API
Asa Kusuma
 
Sonar Overview
Sonar Overview
Samuel Langlois
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
Sonatype
 
DevNexus 2019: Migrating to Java 11
DevNexus 2019: Migrating to Java 11
DaliaAboSheasha
 
Flutter for web
Flutter for web
rihannakedy
 
Introduction to BDD
Introduction to BDD
Knoldus Inc.
 
Project Presentation on Advance Java
Project Presentation on Advance Java
Vikas Goyal
 
QA. Load Testing
QA. Load Testing
Alex Galkin
 
Evolving Team Structure in DevOps
Evolving Team Structure in DevOps
Sherry Chang
 
Testing in Agile Projects
Testing in Agile Projects
sriks7
 
Use Cases & User Stories: An Overview
Use Cases & User Stories: An Overview
QA InfoTech
 
Native Java with GraalVM
Native Java with GraalVM
Sylvain Wallez
 
Fake it 'til you make it
Fake it 'til you make it
Jonathan Snook
 
Machine Learning and Analytics in Splunk
Machine Learning and Analytics in Splunk
Splunk
 
Android content providers
Android content providers
Kurt Mbanje
 
Using the SugarCRM REST API
Using the SugarCRM REST API
Asa Kusuma
 

Viewers also liked (10)

Peer To Peer Networking
Peer To Peer Networking
icanhasfay
 
Decision Forests and discriminant analysis
Decision Forests and discriminant analysis
potaters
 
Random Forest for Big Data
Random Forest for Big Data
tuxette
 
Word and its semantic structure
Word and its semantic structure
Anatol Pripisnov
 
ROLE OF COMMUNICATION IN SELF DEVELOPMENT
ROLE OF COMMUNICATION IN SELF DEVELOPMENT
Zeeshan Qasim
 
Random forest
Random forest
Ujjawal
 
Structural Semantics
Structural Semantics
Maqsood Ahmad
 
Gremlin's Graph Traversal Machinery
Gremlin's Graph Traversal Machinery
Marko Rodriguez
 
Jan vitek distributedrandomforest_5-2-2013
Jan vitek distributedrandomforest_5-2-2013
Sri Ambati
 
Symbol table design (Compiler Construction)
Symbol table design (Compiler Construction)
Tech_MX
 
Peer To Peer Networking
Peer To Peer Networking
icanhasfay
 
Decision Forests and discriminant analysis
Decision Forests and discriminant analysis
potaters
 
Random Forest for Big Data
Random Forest for Big Data
tuxette
 
Word and its semantic structure
Word and its semantic structure
Anatol Pripisnov
 
ROLE OF COMMUNICATION IN SELF DEVELOPMENT
ROLE OF COMMUNICATION IN SELF DEVELOPMENT
Zeeshan Qasim
 
Random forest
Random forest
Ujjawal
 
Structural Semantics
Structural Semantics
Maqsood Ahmad
 
Gremlin's Graph Traversal Machinery
Gremlin's Graph Traversal Machinery
Marko Rodriguez
 
Jan vitek distributedrandomforest_5-2-2013
Jan vitek distributedrandomforest_5-2-2013
Sri Ambati
 
Symbol table design (Compiler Construction)
Symbol table design (Compiler Construction)
Tech_MX
 
Ad

Similar to The Network Data Structure in Computing (20)

Neno/Fhat: Semantic Network Programming Language and Virtual Machine Specific...
Neno/Fhat: Semantic Network Programming Language and Virtual Machine Specific...
Marko Rodriguez
 
The Lonesome LOD Cloud
The Lonesome LOD Cloud
Ruben Verborgh
 
Semantic Web
Semantic Web
logus2k
 
Our World is Socio-technical
Our World is Socio-technical
Markus Luczak-Rösch
 
Machine reading for the Semantic Web
Machine reading for the Semantic Web
STLab
 
Understanding the Standards Gap
Understanding the Standards Gap
Dan Brickley
 
A Semantic Multimedia Web (Part 2)
A Semantic Multimedia Web (Part 2)
Raphael Troncy
 
Semantic Web: an introduction
Semantic Web: an introduction
Luigi De Russis
 
Semantic Web: A web that is not the Web
Semantic Web: A web that is not the Web
Bruce Esrig
 
How the Web can change social science research (including yours)
How the Web can change social science research (including yours)
Frank van Harmelen
 
Linked data 101: Getting Caught in the Semantic Web
Linked data 101: Getting Caught in the Semantic Web
Morgan Briles
 
Web3uploaded
Web3uploaded
fahimilyas
 
Rdf data-model-and-storage
Rdf data-model-and-storage
灿辉 葛
 
The web – A hypermedia story
The web – A hypermedia story
Ruben Verborgh
 
Semantic web
Semantic web
tariq1352
 
Linked Open Data
Linked Open Data
Laura Hollink
 
EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014
EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014
James Powell
 
When?
When?
Dan Brickley
 
Creating Web APIs with JSON-LD and RDF
Creating Web APIs with JSON-LD and RDF
donaldlsmithjr
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
Neno/Fhat: Semantic Network Programming Language and Virtual Machine Specific...
Neno/Fhat: Semantic Network Programming Language and Virtual Machine Specific...
Marko Rodriguez
 
The Lonesome LOD Cloud
The Lonesome LOD Cloud
Ruben Verborgh
 
Semantic Web
Semantic Web
logus2k
 
Machine reading for the Semantic Web
Machine reading for the Semantic Web
STLab
 
Understanding the Standards Gap
Understanding the Standards Gap
Dan Brickley
 
A Semantic Multimedia Web (Part 2)
A Semantic Multimedia Web (Part 2)
Raphael Troncy
 
Semantic Web: an introduction
Semantic Web: an introduction
Luigi De Russis
 
Semantic Web: A web that is not the Web
Semantic Web: A web that is not the Web
Bruce Esrig
 
How the Web can change social science research (including yours)
How the Web can change social science research (including yours)
Frank van Harmelen
 
Linked data 101: Getting Caught in the Semantic Web
Linked data 101: Getting Caught in the Semantic Web
Morgan Briles
 
Rdf data-model-and-storage
Rdf data-model-and-storage
灿辉 葛
 
The web – A hypermedia story
The web – A hypermedia story
Ruben Verborgh
 
Semantic web
Semantic web
tariq1352
 
EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014
EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014
James Powell
 
Creating Web APIs with JSON-LD and RDF
Creating Web APIs with JSON-LD and RDF
donaldlsmithjr
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
Ad

More from Marko Rodriguez (20)

mm-ADT: A Virtual Machine/An Economic Machine
mm-ADT: A Virtual Machine/An Economic Machine
Marko Rodriguez
 
mm-ADT: A Multi-Model Abstract Data Type
mm-ADT: A Multi-Model Abstract Data Type
Marko Rodriguez
 
Open Problems in the Universal Graph Theory
Open Problems in the Universal Graph Theory
Marko Rodriguez
 
Gremlin 101.3 On Your FM Dial
Gremlin 101.3 On Your FM Dial
Marko Rodriguez
 
Quantum Processes in Graph Computing
Quantum Processes in Graph Computing
Marko Rodriguez
 
ACM DBPL Keynote: The Graph Traversal Machine and Language
ACM DBPL Keynote: The Graph Traversal Machine and Language
Marko Rodriguez
 
The Gremlin Graph Traversal Language
The Gremlin Graph Traversal Language
Marko Rodriguez
 
The Path Forward
The Path Forward
Marko Rodriguez
 
Faunus: Graph Analytics Engine
Faunus: Graph Analytics Engine
Marko Rodriguez
 
Solving Problems with Graphs
Solving Problems with Graphs
Marko Rodriguez
 
Titan: The Rise of Big Graph Data
Titan: The Rise of Big Graph Data
Marko Rodriguez
 
The Pathology of Graph Databases
The Pathology of Graph Databases
Marko Rodriguez
 
Traversing Graph Databases with Gremlin
Traversing Graph Databases with Gremlin
Marko Rodriguez
 
The Path-o-Logical Gremlin
The Path-o-Logical Gremlin
Marko Rodriguez
 
The Gremlin in the Graph
The Gremlin in the Graph
Marko Rodriguez
 
Memoirs of a Graph Addict: Despair to Redemption
Memoirs of a Graph Addict: Despair to Redemption
Marko Rodriguez
 
Graph Databases: Trends in the Web of Data
Graph Databases: Trends in the Web of Data
Marko Rodriguez
 
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
Marko Rodriguez
 
A Perspective on Graph Theory and Network Science
A Perspective on Graph Theory and Network Science
Marko Rodriguez
 
The Graph Traversal Programming Pattern
The Graph Traversal Programming Pattern
Marko Rodriguez
 
mm-ADT: A Virtual Machine/An Economic Machine
mm-ADT: A Virtual Machine/An Economic Machine
Marko Rodriguez
 
mm-ADT: A Multi-Model Abstract Data Type
mm-ADT: A Multi-Model Abstract Data Type
Marko Rodriguez
 
Open Problems in the Universal Graph Theory
Open Problems in the Universal Graph Theory
Marko Rodriguez
 
Gremlin 101.3 On Your FM Dial
Gremlin 101.3 On Your FM Dial
Marko Rodriguez
 
Quantum Processes in Graph Computing
Quantum Processes in Graph Computing
Marko Rodriguez
 
ACM DBPL Keynote: The Graph Traversal Machine and Language
ACM DBPL Keynote: The Graph Traversal Machine and Language
Marko Rodriguez
 
The Gremlin Graph Traversal Language
The Gremlin Graph Traversal Language
Marko Rodriguez
 
Faunus: Graph Analytics Engine
Faunus: Graph Analytics Engine
Marko Rodriguez
 
Solving Problems with Graphs
Solving Problems with Graphs
Marko Rodriguez
 
Titan: The Rise of Big Graph Data
Titan: The Rise of Big Graph Data
Marko Rodriguez
 
The Pathology of Graph Databases
The Pathology of Graph Databases
Marko Rodriguez
 
Traversing Graph Databases with Gremlin
Traversing Graph Databases with Gremlin
Marko Rodriguez
 
The Path-o-Logical Gremlin
The Path-o-Logical Gremlin
Marko Rodriguez
 
The Gremlin in the Graph
The Gremlin in the Graph
Marko Rodriguez
 
Memoirs of a Graph Addict: Despair to Redemption
Memoirs of a Graph Addict: Despair to Redemption
Marko Rodriguez
 
Graph Databases: Trends in the Web of Data
Graph Databases: Trends in the Web of Data
Marko Rodriguez
 
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
Marko Rodriguez
 
A Perspective on Graph Theory and Network Science
A Perspective on Graph Theory and Network Science
Marko Rodriguez
 
The Graph Traversal Programming Pattern
The Graph Traversal Programming Pattern
Marko Rodriguez
 

Recently uploaded (20)

Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
SOFTTECHHUB
 
Data Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
High Availability On-Premises FME Flow.pdf
High Availability On-Premises FME Flow.pdf
Safe Software
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
Supporting the NextGen 911 Digital Transformation with FME
Supporting the NextGen 911 Digital Transformation with FME
Safe Software
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
June Patch Tuesday
June Patch Tuesday
Ivanti
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
SOFTTECHHUB
 
Data Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
High Availability On-Premises FME Flow.pdf
High Availability On-Premises FME Flow.pdf
Safe Software
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
Supporting the NextGen 911 Digital Transformation with FME
Supporting the NextGen 911 Digital Transformation with FME
Safe Software
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
June Patch Tuesday
June Patch Tuesday
Ivanti
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 

The Network Data Structure in Computing

  • 1. The Network Data Structure in Computing Marko A. Rodriguez Los Alamos National Laboratory Vrije Universiteit Brussel [email_address] http://cnls.lanl.gov/~marko
  • 2. About me. Marko Antonio Rodriguez. Bachelors of Science in Cognitive Science from U.C. San Diego. Minor in the Arts in Computer Music from U.C. San Diego. Masters of Science in Computer Science from U.C. Santa Cruz. Visiting Researcher at the Center for Evolution, Complexity, and Cognition at the Free University of Brussels. Ph.D. in Computer Science from U.C. Santa Cruz. Researcher at the Los Alamos National Laboratory since 2005.
  • 3. Research trends. MESUR : Metrics from Scholarly Usage of Resources. ( http://www.mesur.org ) Neno / Fhat : A Semantic Network Programming Language and Virtual Machine Architecture. ( http://neno.lanl.gov ) C D M S : Collective Decision Making Systems. ( http://cdms.lanl.gov )
  • 4. What is a network? A network is a data structure that is used to connect vertices /nodes/dots by means of edges /links/lines. Networks are everywhere. Social : friendship, trust, communication, collaboration. Technological : web-pages, communication, software dependencies, circuits. Scholarly : journals, authors, articles, institutions. Natural : protein interaction, neural, food web.
  • 5. The undirected network. There is the undirected network of common knowledge. Sometimes called an undirected single-relational network. e.g. vertex i and vertex j are “related”. The semantic of the edge denotes the network type . e.g. friendship network, collaboration network, etc. i j
  • 6. Example undirected network. Herbert Marko Aric Ed Zhiwu Alberto Jen Johan Luda Stephan Whenzong
  • 7. The directed network. Then there is the directed network of common knowledge. Sometimes called a directed single-relational network. For example, vertex i is related to vertex j , but j is not related to i . i j
  • 8. Example directed network. Muskrat Bear Fish Fox Meerkat Lion Human Wolf Deer Beetle Hyena
  • 9. The semantic network. Finally, there is the semantic network Sometimes called a directed multi-relational network. For example, vertex i is related to vertex j by the semantic s , but j is not related to i by the semantic s . i j s
  • 10. Example semantic network. SantaFe Marko NewMexico Ryan California UnitedStates LANL livesIn worksWith cityOf originallyFrom stateOf stateOf locatedIn hasLab Cells Atoms madeOf madeOf researches Oregon southOf hasResident Arnold governerOf northOf
  • 11. Google’s PageRank. PageRank Used to rank web-pages that are connected by citation (hyper-link). Note: this image was stolen off the web from somewhere.
  • 12. The components to calculate a stationary probability distribution. Take a single “random walker”. Place that random walker on any random vertex in the network. At every time step, the random walker transitions from its current node to an adjacent node in the network (i.e. takes a random outgoing edge from its current node.) Anytime the random walker is at a node, increment a “times visited” counter by 1. Let this algorithm run for an “infinite” amount of time. Normalize the “times visited” counters. That is your centrality vector. a 1 0.0123
  • 13. Random walker example. a c b d 0 0 0 0
  • 14. Random walker example. a c b d 1 0 0 0
  • 15. Random walker example. a c b d 1 0 1 0
  • 16. Random walker example. a c b d 1 0 1 1
  • 17. Random walker example. a c b d 1 1 1 1
  • 18. Random walker example. a c b d 1 1 2 1
  • 19. Random walker example. a c b d 1 2 2 1
  • 20. Random walker example. a c b d 2 2 2 1
  • 21. Random walker example. a c b d 2 2 3 1
  • 22. Random walker example. a c b d 2 2 3 2
  • 23. Random walker example. a c b d 2 3 3 2
  • 24. Random walker example. a c b d 2 3 4 2
  • 25. Random walker example. a c b d 66785 133310 133321 66784
  • 26. Random walker example. a c b d 0.167 0.332 0.332 0.167
  • 28. Example semantic network. SantaFe Marko NewMexico Ryan California UnitedStates LANL livesIn worksWith cityOf originallyFrom stateOf stateOf locatedIn hasLab Cells Atoms madeOf madeOf researches Oregon southOf hasResident Arnold governerOf northOf
  • 29. What is the Semantic Web? The figurehead of the Semantic Web initiative, Tim Berners-Lee, describes the Semantic Web as “ ... an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation. ” Perhaps not the best definition. It implies a particular application space--namely the “web metadata and intelligent agents” space. My definition is that the Semantic Web is “ a distributed, standardized semantic network data model--a URG (Uniform Resource Graph). It’s a uniform way of graphing resources. ”
  • 30. What is a resource? Resource = Anything. Anything that can be identified. The Uniform Resource Identifier (URI): <scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ] http://www.lanl.gov urn:uuid:550e8400-e29b-41d4-a716-446655440000 urn:issn:0892-3310 http://www.lanl.gov#MarkoRodriguez prefix it to make it easier on the eyes -- lanl:MarkoRodriguez The Semantic Web “ first identify it, then relate it! ”
  • 31. The technologies of the Semantic Web. Resource Description Framework (RDF): The foundation technology of the Semantic Web. RDF is a highly-distributed, semantic network data model. In RDF, URIs and literals (e.g. ints, doubles, strings) are related to one another in triples. <lanl:marko> <lanl:worksWith> <lanl:jhw> <lanl:jhw> <lanl:wrote> <lanl:LAUR-07-2028> <lanl:LAUR-07-2028> <lanl:hasTitle> “Web-Based Collective Decision Making Systems”^^<xsd:string> RDF Schema (RDFS): The ontology is to the Semantic Web as the schema is to the relational database. “ Anything of rdf:type lanl:Human can lanl:drive anything of rdf:type lanl:Car .”
  • 32. RDF and RDFS. lanl:marko lanl:cookie lanl:Human lanl:Food lanl:isEating rdf:type rdf:type lanl:isEating rdfs:domain rdfs:range ontology instance RDF is not a syntax. It’s a data model. Various syntaxes exist to encode RDF including RDF/XML, N-TRIPLE, TRiX, N3, etc.
  • 33. PageRank in a semantic network? lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote ? lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type ? ?
  • 34. Components of a grammar-based walker. A walker . Discrete element. A grammar . An abstract representation of legal path for the walker take. e.g. “you can traverse a lanl:friendOf edge from a lanl:Human to another lanl:Human .” Also includes rules: “increment a counter.”, “don’t ever return to this vertex.” A data set that respects the ontological “expectations” of the grammar.
  • 35. Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 0 0 0 “ Take only lanl:wrote out-edge to a resource of rdf:type lanl:Article . Then take a lanl:wrote in-edge to a resource of rdf:type lanl:Human . Increment only lanl:Human s. Make sure that the lanl:Human seen before is not the same lanl:Human currently. Repeat infinitely.”
  • 36. Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type “ Take only lanl:wrote out-edge to a resource of rdf:type lanl:Article . Then take a lanl:wrote in-edge to a resource of rdf:type lanl:Human . Increment only lanl:Human s. Make sure that the lanl:Human seen before is not the same lanl:Human currently. Repeat infinitely.” 1 0 0
  • 37. Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 1 0 0 “ Take only lanl:wrote out-edge to a resource of rdf:type lanl:Article . Then take a lanl:wrote in-edge to a resource of rdf:type lanl:Human . Increment only lanl:Human s. Make sure that the lanl:Human seen before is not the same lanl:Human currently. Repeat infinitely.”
  • 38. Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 1 0 1 “ Take only lanl:wrote out-edge to a resource of rdf:type lanl:Article . Then take a lanl:wrote in-edge to a resource of rdf:type lanl:Human . Increment only lanl:Human s. Make sure that the lanl:Human seen before is not the same lanl:Human currently. Repeat infinitely.”
  • 39. Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 1 0 1 “ Take only lanl:wrote out-edge to a resource of rdf:type lanl:Article . Then take a lanl:wrote in-edge to a resource of rdf:type lanl:Human . Increment only lanl:Human s. Make sure that the lanl:Human seen before is not the same lanl:Human currently. Repeat infinitely.”
  • 40. Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 2 0 1 “ Take only lanl:wrote out-edge to a resource of rdf:type lanl:Article . Then take a lanl:wrote in-edge to a resource of rdf:type lanl:Human . Increment only lanl:Human s. Make sure that the lanl:Human seen before is not the same lanl:Human currently. Repeat infinitely.”
  • 41. Grammar-based PageRank example. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type 2 0 1 “ Take only lanl:wrote out-edge to a resource of rdf:type lanl:Article . Then take a lanl:wrote in-edge to a resource of rdf:type lanl:Human . Increment only lanl:Human s. Make sure that the lanl:Human seen before is not the same lanl:Human currently. Repeat infinitely.”
  • 42. Grammars create implicit relationships. lanl:marko lanl:p1 lanl:wrote lanl:johan lanl:wrote lanl:chuck lanl:hasFriend lanl:Article rdf:type rdf:type lanl:Human rdf:type rdf:type lanl:hasCoauthor
  • 43. Conclusions. Many systems can be represented as a network. The semantic network is a more expressive, though less studied data model. The grammar technique can be used to port many of the common network analysis algorithms to the semantic network domain.
  • 44. Related publications. Rodriguez, M.A., Watkins, J.H., Bollen, J., Gershenson, C., “ Using RDF to Model the Structure and Process of Systems ”, International Conference on Complex Systems, Boston, Massachusetts, LAUR-07-5720, October 2007. Rodriguez, M.A., Bollen, J., Van de Sompel, H., “ A Practical Ontology for the Large-Scale Modeling of Scholarly Artifacts and their Usage ”, 2007 ACM/IEEE Joint Conference on Digital Libraries, pages 278-287, Vancouver, Canada, ACM/IEEE Computing, doi:10.1145/1255175.1255229, LA-UR-07-0665, June 2007. Rodriguez, M.A., &quot;Social Decision Making with Multi-Relational Networks and Grammar-Based Particle Swarms &quot;, 2007 Hawaii International Conference on Systems Science (HICSS), pages 39-49, Waikoloa, Hawaii, IEEE Computer Society, ISSN: 1530-1605, doi:10.1109/HICSS.2007.487, LA-UR-06-2139, January 2007. Rodriguez, M.A., &quot; A Multi-Relational Network to Support the Scholarly Communication Process &quot;, International Journal of Public Information Systems, volume 2007, issue 1, pages 13-29, ISSN: 1653-4360, LA-UR-06-2416, March 2007. Rodriguez, M.A., “ Mapping Semantic Networks to Undirected Networks ”, LA-UR-07-5287, August 2007. Rodriguez, M.A., Watkins, J.H., “ Grammar-Based Geodesics in Semantic Networks ”, LA-UR-07-4042, June 2007. Rodriguez, M.A., Bollen, J., “ Modeling Computations in a Semantic Network ”, LA-UR-07-3678, May 2007. Rodriguez, M.A., “ General-Purpose Computing on a Semantic Network Substrate ”, LA-UR-07-2885, April 2007. Rodriguez, M.A., “ Grammar-Based Random Walkers in Semantic Networks ”, Knowledge-Based Systems, Elsevier, LA-UR-06-7791, in press, 2007.