This presentation was given on January 17, 2016 at the GraphDay conference in Austin, Texas. The slides demonstrate the use of wave dynamics in graph structures. Moreover, they demonstrate how to implement quantum processes on graph structures. There is an associated article available at http://arxiv.org/abs/1511.06278 (Quantum Walks with Gremlin).]]>

This presentation was given on January 17, 2016 at the GraphDay conference in Austin, Texas. The slides demonstrate the use of wave dynamics in graph structures. Moreover, they demonstrate how to implement quantum processes on graph structures. There is an associated article available at http://arxiv.org/abs/1511.06278 (Quantum Walks with Gremlin).]]>

Learn about Apache TinkerPop’s Gremlin traversal machine and language. Presented as the keynote for ACM’s Database Programming Languages conference in Pittsburgh Pennsylvania on October 27, 2015.]]>

Learn about Apache TinkerPop’s Gremlin traversal machine and language. Presented as the keynote for ACM’s Database Programming Languages conference in Pittsburgh Pennsylvania on October 27, 2015.]]>

A presentation of Apache TinkerPop’s Gremlin language with running examples over the MovieLens dataset. Presented August 19, 2015 at NoSQL NOW in San Jose, California.]]>

A presentation of Apache TinkerPop’s Gremlin language with running examples over the MovieLens dataset. Presented August 19, 2015 at NoSQL NOW in San Jose, California.]]>

A presentation on the soon to be released Titan 1.0 and TinkerPop3 graph technologies.]]>

A presentation on the soon to be released Titan 1.0 and TinkerPop3 graph technologies.]]>

Faunus is a graph analytics engine built atop the Hadoop distributed computing platform. The graph representation is a distributed adjacency list, whereby a vertex and its incident edges are co-located on the same machine. Querying a Faunus graph is possible with a MapReduce-variant of the Gremlin graph traversal language. A Gremlin expression compiles down to a series of MapReduce-steps that are sequence optimized and then executed by Hadoop. Results are stored as transformations to the input graph (graph derivations) or computational side-effects such as aggregates (graph statistics). Beyond querying, a collection of input/output formats are supported which enable Faunus to load/store graphs in the distributed graph database Titan, various graph formats stored in HDFS, and via arbitrary user-defined functions. This presentation will focus primarily on Faunus, but will also review the satellite technologies that enable it.]]>

Faunus is a graph analytics engine built atop the Hadoop distributed computing platform. The graph representation is a distributed adjacency list, whereby a vertex and its incident edges are co-located on the same machine. Querying a Faunus graph is possible with a MapReduce-variant of the Gremlin graph traversal language. A Gremlin expression compiles down to a series of MapReduce-steps that are sequence optimized and then executed by Hadoop. Results are stored as transformations to the input graph (graph derivations) or computational side-effects such as aggregates (graph statistics). Beyond querying, a collection of input/output formats are supported which enable Faunus to load/store graphs in the distributed graph database Titan, various graph formats stored in HDFS, and via arbitrary user-defined functions. This presentation will focus primarily on Faunus, but will also review the satellite technologies that enable it.]]>

Who am I and why do I feel that the world is not infinitely perfect? Which technologies should I use to rectify this situation? Enter the graph and the graph traversal.]]>

Who am I and why do I feel that the world is not infinitely perfect? Which technologies should I use to rectify this situation? Enter the graph and the graph traversal.]]>

A graph is a data structure composed of vertices/dots and edges/lines. A graph database is a software system used to persist and process graphs. The common conception in today’s database community is that there is a tradeoff between the scale of data and the complexity/interlinking of data. To challenge this understanding, Aurelius has developed Titan under the liberal Apache 2 license. Titan supports both the size of modern data and the modeling power of graphs to usher in the era of Big Graph Data. Novel techniques in edge compression, data layout, and vertex-centric indices that exploit significant orders are used to facilitate the representation and processing of a single atomic graph structure across a multi-machine cluster. To ensure ease of adoption by the graph community, Titan natively implements the TinkerPop 2 Blueprints API. This presentation will review the graph landscape, Titan’s techniques for scale by distribution, and a collection of satellite graph technologies to be released by Aurelius in the coming summer months of 2012.]]>

A graph is a data structure composed of vertices/dots and edges/lines. A graph database is a software system used to persist and process graphs. The common conception in today’s database community is that there is a tradeoff between the scale of data and the complexity/interlinking of data. To challenge this understanding, Aurelius has developed Titan under the liberal Apache 2 license. Titan supports both the size of modern data and the modeling power of graphs to usher in the era of Big Graph Data. Novel techniques in edge compression, data layout, and vertex-centric indices that exploit significant orders are used to facilitate the representation and processing of a single atomic graph structure across a multi-machine cluster. To ensure ease of adoption by the graph community, Titan natively implements the TinkerPop 2 Blueprints API. This presentation will review the graph landscape, Titan’s techniques for scale by distribution, and a collection of satellite graph technologies to be released by Aurelius in the coming summer months of 2012.]]>

There is nothing more fascinating and utterly mind-bending than traversing a graph. Those who succumb to this data processing pattern euphorically suffer from graph pathology. This is a case study of the Graph Addict.]]>

There is nothing more fascinating and utterly mind-bending than traversing a graph. Those who succumb to this data processing pattern euphorically suffer from graph pathology. This is a case study of the Graph Addict.]]>

A discussion of Blueprints, Pipes, and Gremlin. The presentation’s second half was a live Gremlin tutorial/demo.]]>

A discussion of Blueprints, Pipes, and Gremlin. The presentation’s second half was a live Gremlin tutorial/demo.]]>

Gremlin is a graph traversal language that connects to various graph databases/frameworks. * Neo4j [http://neo4j.org] * OrientDB [http://orientechnologies.com] * DEX [http://www.sparsity-technologies.com/dex] * OpenRDF Sail [http://openrdf.org] * JUNG [http://jung.sourceforge.net] This lecture addresses the state of Gremlin as of the 0.9 (April 16, 2011).]]>

Gremlin is a graph traversal language that connects to various graph databases/frameworks. * Neo4j [http://neo4j.org] * OrientDB [http://orientechnologies.com] * DEX [http://www.sparsity-technologies.com/dex] * OpenRDF Sail [http://openrdf.org] * JUNG [http://jung.sourceforge.net] This lecture addresses the state of Gremlin as of the 0.9 (April 16, 2011).]]>

This tutorial/lecture addresses various aspects of the graph traversal language Gremlin. In particular, the presentation focuses on Gremlin 0.7 and its application to graph analysis and manipulation.]]>

This tutorial/lecture addresses various aspects of the graph traversal language Gremlin. In particular, the presentation focuses on Gremlin 0.7 and its application to graph analysis and manipulation.]]>

]]>

]]>

Relational databases are perhaps the most commonly used data management systems. In relational databases, data is modeled as a collection of disparate tables. In order to unify the data within these tables, a join operation is used. This operation is expensive as the amount of data grows. For information retrieval operations that do not make use of extensive joins, relational databases are an excellent tool. However, when an excessive amount of joins are required, the relational database model breaks down. In contrast, graph databases maintain one single data structure---a graph. A graph contains a set of vertices (i.e. nodes, dots) and a set of edges (i.e. links, lines). These elements make direct reference to one another, and as such, there is no notion of a join operation. The direct references between graph elements make the joining of data explicit within the structure of the graph. The benefit of this model is that traversing (i.e. moving between the elements of a graph in an intelligent, direct manner) is very efficient and yields a style of problem-solving called the graph traversal pattern. This session will discuss graph databases, the graph traversal programming pattern, and their use in solving real-world problems.]]>

Relational databases are perhaps the most commonly used data management systems. In relational databases, data is modeled as a collection of disparate tables. In order to unify the data within these tables, a join operation is used. This operation is expensive as the amount of data grows. For information retrieval operations that do not make use of extensive joins, relational databases are an excellent tool. However, when an excessive amount of joins are required, the relational database model breaks down. In contrast, graph databases maintain one single data structure---a graph. A graph contains a set of vertices (i.e. nodes, dots) and a set of edges (i.e. links, lines). These elements make direct reference to one another, and as such, there is no notion of a join operation. The direct references between graph elements make the joining of data explicit within the structure of the graph. The benefit of this model is that traversing (i.e. moving between the elements of a graph in an intelligent, direct manner) is very efficient and yields a style of problem-solving called the graph traversal pattern. This session will discuss graph databases, the graph traversal programming pattern, and their use in solving real-world problems.]]>

A graph is a data structure that links a set of vertices by a set of edges. Modern graph databases support multi-relational graph structures, where there exist different types of vertices (e.g. people, places, items) and different types of edges (e.g. friend, lives at, purchased). By means of index-free adjacency, graph databases are optimized for graph traversals and are interacted with through a graph traversal engine. A graph traversal is defined as an abstract path whose instance is realized on a graph dataset. Graph databases and traversals can be used for searching, scoring, ranking, and in concert, recommendation. This presentation will explore graph structures, algorithms, traversal algebras, graph-related software suites, and a host of examples demonstrating how to solve real-world problems, in real-time, with graphs. This is a whirlwind tour of the theory and application of graphs.]]>

A graph is a data structure that links a set of vertices by a set of edges. Modern graph databases support multi-relational graph structures, where there exist different types of vertices (e.g. people, places, items) and different types of edges (e.g. friend, lives at, purchased). By means of index-free adjacency, graph databases are optimized for graph traversals and are interacted with through a graph traversal engine. A graph traversal is defined as an abstract path whose instance is realized on a graph dataset. Graph databases and traversals can be used for searching, scoring, ranking, and in concert, recommendation. This presentation will explore graph structures, algorithms, traversal algebras, graph-related software suites, and a host of examples demonstrating how to solve real-world problems, in real-time, with graphs. This is a whirlwind tour of the theory and application of graphs.]]>

The graph/network domain has been driven by the creativity of numerous individuals from disparate areas of the academic and the commercial sector. Examples of contributing academic disciplines include mathematics, physics, sociology, and computer science. Given the interdisciplinary nature of the domain, it is difficult for any single individual to objectively realize and speak about the space as a whole. Any presentation of the ideas is ultimately biased by the formal training and expertise of the individual. For this reason, I will simply present on the domain from my perspective---from my personal experiences. More specifically, from my perspective biased by cognitive and computer science. This is an autobiographical lecture on my life (so far) with graphs/networks.]]>

The graph/network domain has been driven by the creativity of numerous individuals from disparate areas of the academic and the commercial sector. Examples of contributing academic disciplines include mathematics, physics, sociology, and computer science. Given the interdisciplinary nature of the domain, it is difficult for any single individual to objectively realize and speak about the space as a whole. Any presentation of the ideas is ultimately biased by the formal training and expertise of the individual. For this reason, I will simply present on the domain from my perspective---from my personal experiences. More specifically, from my perspective biased by cognitive and computer science. This is an autobiographical lecture on my life (so far) with graphs/networks.]]>

A graph is a structure composed of a set of vertices (i.e.~nodes, dots) connected to one another by a set of edges (i.e.~links, lines). The concept of a graph has been around since the late 19th century, however, only in recent decades has there been a strong resurgence in the development of both graph theories and applications. In applied computing, since the late 1960s, the interlinked table structure of the relational database has been the predominant information storage and retrieval paradigm. With the growth of graph/network-based data and the need to efficiently process such data, new data management systems have been developed. In contrast to the index-intensive, set-theoretic operations of relational databases, graph databases make use of index-free traversals. This presentation will discuss the graph traversal programming pattern and its application to problem-solving with graph databases.]]>

A graph is a structure composed of a set of vertices (i.e.~nodes, dots) connected to one another by a set of edges (i.e.~links, lines). The concept of a graph has been around since the late 19th century, however, only in recent decades has there been a strong resurgence in the development of both graph theories and applications. In applied computing, since the late 1960s, the interlinked table structure of the relational database has been the predominant information storage and retrieval paradigm. With the growth of graph/network-based data and the need to efficiently process such data, new data management systems have been developed. In contrast to the index-intensive, set-theoretic operations of relational databases, graph databases make use of index-free traversals. This presentation will discuss the graph traversal programming pattern and its application to problem-solving with graph databases.]]>

]]>

]]>

]]>

]]>

There are many distributed computing protocols in existence today. Some serve as a solution for scientific computing, some as a middleware solution to large- scale systems engineering, and others as an “easy-to-use” service solution on the Web. What most of these protocols have in common is that they require a strong “handshake” between the machines utilizing each other’s resources. This coupling has rendered many distributed protocols to only be useful for a collection of machines owned and operated by a single organization (e.g. MPI/PVM computing) or for use by foreign machines with a very specific use case (e.g. RPC/Web Services computing). The former allows for general-purpose distributed computing and the latter allows for Internet-scale distributed computing. What if both types of functionality were to be merged? What does a general-purpose, Internet-scale distributed computing protocol look like? Linked Process [ http://linkedprocess.org ]]]>

There are many distributed computing protocols in existence today. Some serve as a solution for scientific computing, some as a middleware solution to large- scale systems engineering, and others as an “easy-to-use” service solution on the Web. What most of these protocols have in common is that they require a strong “handshake” between the machines utilizing each other’s resources. This coupling has rendered many distributed protocols to only be useful for a collection of machines owned and operated by a single organization (e.g. MPI/PVM computing) or for use by foreign machines with a very specific use case (e.g. RPC/Web Services computing). The former allows for general-purpose distributed computing and the latter allows for Internet-scale distributed computing. What if both types of functionality were to be merged? What does a general-purpose, Internet-scale distributed computing protocol look like? Linked Process [ http://linkedprocess.org ]]]>

Few scholastic disciplines have within them an explicit ideal beyond the production of knowledge. With computer science and engineering, the implicit ideal is to ensure better living through circuitry. Personally, my motivation is driven by the sense that social algorithms will lead to a greater human experience. ]]>

Few scholastic disciplines have within them an explicit ideal beyond the production of knowledge. With computer science and engineering, the implicit ideal is to ensure better living through circuitry. Personally, my motivation is driven by the sense that social algorithms will lead to a greater human experience. ]]>

]]>

]]>

]]>

]]>