Neo4j is a powerful and expressive tool for storing, querying and manipulating data. However modeling data as graphs is quite different from modeling data under a relational database. In this talk, Michael Hunger will cover modeling business domains using graphs and show how they can be persisted and queried in Neo4j. We'll contrast this approach with the relational model, and discuss the impact on complexity, flexibility and performance.
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptxNeo4j
Neo4j Founder and CEO Emil Eifrem shares his story on the origins of Neo4j and how graph technology has the potential to answer the world's most important data questions.
This document discusses knowledge graphs and how they can be used to drive intelligence into data. It describes how knowledge graphs can organize different types of data relationships and enable applications such as semantic search, pattern matching, and analyzing dependencies. Specific use cases are provided for skills discovery, root cause analysis, and military equipment management. Knowledge graphs are presented as a way to bridge data silos and enable a unified data fabric.
The document discusses a presentation about connecting data and Neo4j. It covers data ecosystems and where different technologies fit, how Neo4j works as a graph database, and building graph-native organizations. It also discusses Neo4j's long term vision of connecting enterprise data and the state of data in 2018. Key points include how data structures have evolved from hierarchies to dynamic knowledge graphs and how different technologies like relational databases and Neo4j are suited for different types of queries and connected data problems.
Scale Your Mission-Critical Applications With Neo4j Fabric and Clustering Arc...Neo4j
This document discusses how Neo4j 5's Clustering and Fabric features can help organizations operate Neo4j databases at large scale. Clustering allows elastic horizontal scaling of resources across multiple servers to support more and larger databases. Fabric enables querying across databases, including those sharded across clusters. Two financial use cases will be presented to illustrate how Clustering and Fabric can support real-time decision making across business graphs and make multi-terabyte datasets more manageable through sharding.
This document outlines an upcoming workshop on graph technology and data science using Neo4j. The workshop will cover knowledge graphs, graph algorithms, graph machine learning techniques, and use cases. It will include demonstrations of algorithms like node similarity and centrality measures on graphs. Attendees will learn how graph databases like Neo4j can power graph analytics and machine learning to gain insights from connected data.
Graphs for Finance - AML with Neo4j Graph Data Science Neo4j
This document discusses using graph data science and graph algorithms to detect fraud. It explains that graph data science uses relationships in data to power predictions. It provides examples of how graph algorithms like Louvain clustering, PageRank, connected components, and Jaccard similarity can be used to identify communities that frequently interact, measure influence, identify accounts sharing identifiers, and measure account similarity to detect fraud in applications like banking and financial services. The document also discusses using graph embeddings and feature engineering with graph networks to improve machine learning models for fraud detection by basing predictions on influential entities and their relationships.
The document outlines an agenda for a workshop on building a graph solution using a digital twin data set. It includes sections on logistics, introductions, explaining the use case of a digital twin for a rail network, modeling the graph database solution, building the solution, and a question and answer period. Key aspects covered include an overview of Neo4j's graph database capabilities, modeling the domain entities and relationships, and exploring sample data related to operational points, sections, and points of interest for a rail network digital twin use case.
This document provides an overview of an introduction to Neo4j workshop. The workshop covers what graphs are and why they are useful, identifying good graph scenarios, the anatomy of a property graph database and introduction to Cypher, and hands-on exercises using the movie graph on Neo4j Sandbox or AuraDB Free. It also previews using the Stackoverflow graph and discusses continuing one's graph learning journey through Neo4j's online training and resources.
Modeling Cybersecurity with Neo4j, Based on Real-Life Data InsightsNeo4j
Graph databases can help address challenges in cybersecurity by leveraging connections within datasets. Gal Bello's presentation provided an overview of using graph modeling for cybersecurity. It discussed how graph databases can assist companies in securing data by using relationships. The presentation also provided examples of modeling fraud rings and law enforcement data as graphs to improve efficiency and reveal patterns. Real-world use cases demonstrated how organizations are applying graph databases to challenges in cybersecurity.
The document discusses graph data science techniques in Neo4j. It provides an overview of graph algorithms categories including pathfinding and search, centrality and importance, community detection, similarity, heuristic link prediction, and node embeddings and machine learning. It also summarizes 60+ graph data science techniques available in Neo4j across these categories and how they can be accessed and deployed. Finally, it discusses graph embeddings and graph native machine learning in Neo4j, covering techniques like Node2Vec, GraphSAGE, and FastRP.
This presentation covers several aspects of modeling data and domains with a graph database like Neo4j. The graph data model allows high fidelity modeling. Using the first class relationships of the graph model allow to use much higher forms of normalization than you would use in a relational database.
Video here: https://vimeo.com/67371996
Amsterdam - The Neo4j Graph Data Platform Today & TomorrowNeo4j
This document provides an overview of the Neo4j Graph Data Platform. Some key points:
- Neo4j is a native graph database that is well-suited for connected data use cases that are growing exponentially. Graph databases can handle relationships better than relational databases and support relationship queries better than NoSQL databases.
- The Neo4j Graph Data Platform includes the native graph database, development tools, data science and analytics capabilities, and an ecosystem of integrations. It can be deployed anywhere including as a service on AuraDB.
- Neo4j has pioneered the graph database category since 2010 and continues to drive innovation with features like graph-RBAC security, graph data
The document discusses graphs and genealogy research. It describes how genealogy data like GEDCOM files, DNA test results, and historical records can be modeled as different graph types in Neo4j and loaded using the Graphs for Genealogists (GFG) plugin. The plugin provides functions for enhanced genealogy analytics and relationship visualizations using the graphs. Clustering algorithms and apps like GraphXR can be used to visualize matches and segments from DNA data in the graphs.
This presentation introduces the graph model as obvious choice for rich and connected data. Graph Databases are a category of open-source NoSQL datastores which are specialized in storing, handling and querying graph structures efficiently.
Use cases represent the applicability of the graph model across many domains.
Neo4j as the most widely used graph database supports the property graph model, which is explained in detail.
To query a graph database a powerful and expressive but also friendly and easily understandable query language that is tailored for graph patterns is key. Neo4j's Cypher is such a query language developed from the ground up to support expressing challenging use-cases in a comprehensive way.
A series of examples rounds up the presentation to apply the lessons learned.
OpenBOM: Neo4j and Bill of Materials meetup, BostonOleg Shilovitsky
OpenBOM is using Neo4j to build global graph relationships, to provide structural queries and glean intelligence for decision making in engineering, manufacturing and supply chain.
Check more information on our website - www.openbom.com
The Data Platform for Today’s Intelligent ApplicationsNeo4j
The document discusses how graph technology and Neo4j's graph data platform are fueling data-driven transformations across industries by unlocking deeper insights from relationships within data. It notes that 75% of Fortune 1000 companies had suppliers impacted by the pandemic showing supply chain problems are really data problems. It then promotes Neo4j as the leader in the growing graph database market and discusses its capabilities and customers across industries like insurance, banking, automotive, retail, and telecommunications.
Optimizing Your Supply Chain with the Neo4j GraphNeo4j
With the world’s supply chain system in crisis, it’s clear that better solutions are needed. Digital twins built on knowledge graph technology allow you to achieve an end-to-end view of the process, supporting real-time monitoring of critical assets.
This document discusses graph databases and provides examples of how the Neo4j graph database can be used. It shows how Neo4j supports social, spatial, financial and other types of connected data. It also summarizes Neo4j's REST API, support for object-oriented programming, routing algorithms, multiple indexes, recommendation systems, and other use cases. The document advocates for graph databases for any problem involving multiple relationships and connections between entities.
An Introduction to NOSQL, Graph Databases and Neo4jDebanjan Mahata
Neo4j is a graph database that stores data in nodes and relationships. It allows for efficient querying of connected data through graph traversals. Key aspects include nodes that can contain properties, relationships that connect nodes and also contain properties, and the ability to navigate the graph through traversals. Neo4j provides APIs for common graph operations like creating and removing nodes/relationships, running traversals, and managing transactions. It is well suited for domains that involve connected, semi-structured data like social networks.
Max De Marzi gave an introduction to graph databases using Neo4j as an example. He discussed trends in big, connected data and how NoSQL databases like key-value stores, column families, and document databases address these trends. However, graph databases are optimized for interconnected data by modeling it as nodes and relationships. Neo4j is a graph database that uses a property graph data model and allows querying and traversal through its Cypher query language and Gremlin scripting language. It is well-suited for domains involving highly connected data like social networks.
Driving Predictive Roadway Analytics with the Power of Neo4jNeo4j
This talk will present how a small start-up (Waveonics) with no prior graphical database experience employed the simplicity, versatility and flexibility of Neo4j to handle the complex and dynamic roadway conditions found in crowdsourced street map data. We map the route taken to transit from a relational to graphical data model in support of the next generation roadside service applications for an established leader in the roadside service industry (Agero). We will show how Waveonics and Agero used Neo4j to detect and understand changing roadway conditions in order to identify emerging trends and thereby improve driver safety and the driving experience.
Recent advances in mobile device sensors, GPS location services, communication technology, crowdsourced data acquisition, affordable cloud storage, machine learning and data analytics, has opened the door to an exciting world of new services. Capitalizing on these opportunities requires providers continually organize, store, manage, access and update terabytes of information efficiently. They need databases that are powerful enough to model the complexities of the business environment and easy to modify as the environment evolves - without sacrificing the performance demanded by data analytics. Waveonics is working with Agero Mobile to explore and validate the use of graphical databases (Neo4j) to drive Agero’s mission of delivering a “holistic approach [which] helps anticipate and meet customers’ needs in a way that forms lasting connections with them.” Agero is building on Neo4j to further its leadership position in the automotive, insurance, finance and roadside service industries.
Waveonics will outline best practices used to convert 175 GB of XML relational US street map data obtained from the Open Street Map (OSM) project into a Neo4j graph database in order to successfully enable predictive roadway analytics for Agero. Attendees will learn how Neo4j’s graph data model and Cypher query language effortlessly supported an elegant representation of street map data, continually updated from customer mobile sensors, to reflect evolving road conditions.
The document discusses using a graph database foundation for customer information management. It outlines how traditional approaches using rigid SQL databases lack agility and require long implementation cycles. A graph database like Neo4j allows for a more flexible data model that can be visually modeled to the business and provide multi-dimensional, contextual views of customer data. It also discusses how the graph database can integrate diverse data sources, apply data quality processes, and provide insights through querying and visualization of the knowledge graph.
Getting started with Graph Databases & Neo4jSuroor Wijdan
The presentation gives a brief information about Graph Databases and its usage in today's scenario. Moving on the presentation talks about the popular Graph DB Neo4j and its Cypher Query Language i.e., used to query the graph.
Recommendation and personalization systems are an important part of many modern websites. Graphs provide a natural way to represent the behavioral data that is the core input to many recommendation algorithms. Thomas Pinckney and his colleagues at Hunch (recently acquired by eBay) built a large scale recommendation system, and then ported the technology to eBay. Thomas will be discussing how his team uses Cassandra to provide the high I/O storage of their fifty billion edge graphs and how they generate new recommendations in real time as users click around the site.
Semantic Graph Databases: The Evolution of Relational DatabasesCambridge Semantics
In this webinar, Barry Zane, our Vice President of Engineering, discusses the evolution of databases from Relational to Semantic Graph and the Anzo Graph Query Engine, the key element of scale in the Anzo Smart Data Lake. Based on elastic clustered, in-memory computing, the Anzo Graph Query Engine offers interactive ad hoc query and analytics on datasets with billions of triples. With this powerful layer over their data, end users can effect powerful analytic workflows in a self-service manner.
Relational databases vs Non-relational databasesJames Serra
There is a lot of confusion about the place and purpose of the many recent non-relational database solutions ("NoSQL databases") compared to the relational database solutions that have been around for so many years. In this presentation I will first clarify what exactly these database solutions are, compare them, and discuss the best use cases for each. I'll discuss topics involving OLTP, scaling, data warehousing, polyglot persistence, and the CAP theorem. We will even touch on a new type of database solution called NewSQL. If you are building a new solution it is important to understand all your options so you take the right path to success.
Ready to leverage the power of a graph database to bring your application to the next level, but all the data is still stuck in a legacy relational database?
Fortunately, Neo4j offers several ways to quickly and efficiently import relational data into a suitable graph model. It's as simple as exporting the subset of the data you want to import and ingest it either with an initial loader in seconds or minutes or apply Cypher's power to put your relational data transactionally in the right places of your graph model.
In this webinar, Michael will also demonstrate a simple tool that can load relational data directly into Neo4j, automatically transforming it into a graph representation of your normalized entity-relationship model.
The document discusses NoSQL databases and CouchDB. It provides an overview of NoSQL, the different types of NoSQL databases, and when each type would be used. It then focuses on CouchDB, explaining its features like document centric modeling, replication, and fail fast architecture. Examples are given of how to interact with CouchDB using its HTTP API and tools like Resty.
Graph Database, a little connected tour - CastanoCodemotion
This document provides an introduction to graph databases and Neo4j. It discusses how graph databases are better suited than relational databases for certain types of connected data. It uses social network and movie recommendation examples to demonstrate how to model and query data in a graph database using the Cypher query language.
Graph databases are a type of NoSQL database that is optimized for storing and querying connected data and relationships. A graph database represents data in graphs consisting of nodes and edges, where the nodes represent entities and the edges represent relationships between the entities. Graph databases are well-suited for applications that involve complex relationships and connected data, such as social networks, knowledge graphs, and recommendation systems. They allow for flexible querying of relationships and connections via graph traversal operations.
Designing and Building a Graph Database Application – Architectural Choices, ...Neo4j
Ian closely looks at design and implementation strategies you can employ when building a Neo4j-based graph database solution, including architectural choices, data modelling, and testing.g
Graph Database Management Systems provide an effective
and efficient solution to data storage in current scenarios
where data are more and more connected, graph models are
widely used, and systems need to scale to large data sets.
In this framework, the conversion of the persistent layer of
an application from a relational to a graph data store can
be convenient but it is usually an hard task for database
administrators. In this paper we propose a methodology
to convert a relational to a graph database by exploiting
the schema and the constraints of the source. The approach
supports the translation of conjunctive SQL queries over the
source into graph traversal operations over the target. We
provide experimental results that show the feasibility of our
solution and the efficiency of query answering over the target
database.
This document compares relational and non-relational databases. It discusses how in 2003 the main databases were relational, but by 2010 non-relational databases grew popular in the "NoSQL movement". However, the document argues that there are no truly new database designs and that relational and non-relational databases can be combined. It advises to choose a database based on the specific problem and features needed rather than general classifications. The document provides examples of which types of databases fit certain data and access needs.
Graph databases are based on graph theory and use nodes and relationships to store data. They are a type of property graph database that can scale easily. Graph databases are well-suited for applications that rely on relationships between data, need to find patterns in behavioral data, or require linking disparate data sources. Specifically, they are effective for fraud detection by identifying patterns across entities, providing a 360-degree view of customers by linking their various profiles and activities, and making recommendations by leveraging connections in user data.
This tutorial will provide you with a basic understanding of graph database technology and the ability to quickly begin development of a graph database application. You will have the capability to recognize graph-based problems and present the benefits of using graph technology for problem resolution.
The tutorial will give you an understanding of:
• Graph theory - origins and concepts
• Benefits of graph databases
• Different types of graph databases
• Typical graph database API
• Programming basics
• Use cases
Bring your laptops for a hands-on opportunity to practice some sample codes. A basic understanding of Java programming is a recommended prerequisite to understand this course. This session is led by the InfiniteGraph technical team and the demonstration code will be drawn from InfiniteGraph examples, however the broader educational presentation is product-neutral and not a commercial presentation of their products.
To participate in the hands-on portion of the graph tutorial users must have:
• Java programming experience
• Java Developer Kit (JDK)
• Current InfiniteGraph installed on laptop. (To download visit www.objectivity.com/infinitegraph)
• HelloGraph test – Upon installing IG, run HelloGraph to test the install. (HelloGraph can be found online at http://wiki.infinitegraph.com/2.1/w/index.php?title=Download_Sample_Code)
Leon Guzenda was one of the founding members of Objectivity in 1988 and one of the original architects of Objectivity/DB. He currently works with Objectivity's major customers to help them effectively develop and deploy complex applications and systems that use the industry's highest-performing, most reliable DBMS technology, Objectivity/DB. He also liaises with technology partners and industry groups to help ensure that Objectivity/DB remains at the forefront of database and distributed computing technology. Leon has more than 35 years experience in the software industry. At Automation Technology Products, he managed the development of the ODBMS for the Cimplex solid modeling and numerical control system. Before that, he was Principal Project Director for International Computers Ltd. in the United Kingdom, delivering major projects for NATO and leading multinationals. He was also design and development manager for ICL's 2900 IDMS product. He spent the first 7 years of his career working in defense and government systems. Leon has a B.S. degree in Electronic Engineering from the University of Wales.
This document discusses using Neo4j, a graph database, for recommendations. It describes modeling data as graphs in Neo4j and developing recommendation algorithms and plugins for it, such as for document similarity, movie recommendations, and restricting recommendations to a subgraph. An example application called TeleVido.tv is also mentioned that provides media content recommendations using Neo4j.
Platfora is a big data analytics platform that transforms raw data in Hadoop into interactive business intelligence without requiring a separate data warehouse or ETL process. The document discusses Platfora's solution to challenges users face with existing approaches, such as non-intuitive interfaces for non-database administrators. It also summarizes user research findings that access to data is difficult and preparation requires many tools. The document proposes designing an interface that visualizes the full data model to address these issues.
Technical Challenges of Real-World Agent-Based ModellingSandtable Ltd
The document discusses the technical challenges of building valid and conducting experiments with real-world agent-based models (ABM). It outlines three key challenges: 1) designing and building models based on behavioral data and assumptions, 2) building confidence in models through internal and external validation against criteria and reference data, and 3) conducting large-scale experiments that explore parameter spaces using approaches like empirical calibration and sensitivity analysis while handling noise and output data at scale.
The journey to build a more usable toolbar for Drupal 8 dcmistry
The document summarizes Dharmesh Mistry's presentation on redesigning the toolbar for Drupal 8. Initial research found issues with Drupal 7's toolbar not being mobile-friendly. Multiple designs were proposed and tested iteratively. Testing showed overall improvements but uncovered discoverability issues. The key highlights emphasized prototyping and testing early, engaging stakeholders throughout the process, and communicating transparently to build credibility and buy-in.
Implementing the Split-Apply-Combine model in Clojure and Incanter Tom Faulhaber
These are the slides from my talk to the Bay Area Clojure Group meeting in San Francisco on June 6, 2013.
The slides are not meant to stand alone, so they may not be completely useful if you did not attend.
Here is the description of the talk sent out in advance:
Tom Faulhaber will talk about interactive data analysis focusing on data organization and the split-apply-combine pattern. You'll find that split-apply-combine is a powerful tool that applies to many of the data problems that we look at in Clojure. This pattern is the basis of the popular plyr package developed by Hadley Wickham in the R language.
Tom will demonstrate some basic ideas of data analysis and show how they're implemented in the Incanter system. We'll discuss split-apply-combine and how it's used in Incanter today. Then, we'll discuss how to implement a full version of split-apply-combine in Clojure on top of Incanter's dataset type. Finally, we'll use our implementation to learn about some real data.
Presented at Wharton Web Conf 2013
Description:
Blank slates and green fields are all well and good, but the question of choosing a framework can be a critical leadership decision. How do you go about choosing what’s best for your team, for your problem, at this point in time? In this session, Pam Selle, a polyglot developer who’s built on her share of platforms, will talk about priorities to consider to help you make the best decision. We’ll also leave time for discussion where we’ll share experiences and lessons learned. Be prepared to take some notes!
Ramp up your testing solution, ExpoQA 2023Gáspár Nagy
The document summarizes a presentation about using design patterns for test automation solutions. It discusses challenges in test automation, how patterns can help address these challenges through reusability, abstraction, maintainability and performance. It also covers documenting test automation design patterns, including naming, motivation, applicability, structure, participants and more. Examples of project-specific pattern discovery and documentation are provided.
These slides refer to the talk I gave at the last ASE/IEEE SocialCom 2013 International Conference, where I presented the research work entitled "Trending Topics on Twitter Improve the Prediction of Google Hot Queries", which turned to be selected among the top-5% best accepted papers.
Once every five minutes, Twitter publishes a list of trending topics by monitoring and analyzing tweets from its users. Similarly, Google makes available hourly a list of hot queries that have been issued to the search engine. In this work, we analyze the time series derived from the daily volume index of each trend, either by Twitter or Google. Our study on a real-world dataset reveals that about 26% of the trending topics raising from Twitter "as-is" are also found as hot queries issued to Google. Also, we find that about 72% of the similar trends appear first on Twitter. Thus, we assess the relation between comparable Twitter and Google trends by testing three classes of time series regression models. We validate the forecasting power of Twitter by showing that models, which use Google as the dependent variable and Twitter as the explanatory variable, retain as significant the past values of Twitter 60% of times.
Using a Reputation Framework to Identify Community Leaders in Ontology Engine...Christophe Debruyne
This paper proposes a reputation framework to identify community leaders in ontology engineering projects. The framework uses sensors to assign reputation scores based on objective and subjective characteristics of community leaders, such as community activity, quality of interactions, and engagement of others. An experiment applying this framework in an ontology engineering course found considerable overlap between the scores it produced and a survey identifying project drivers, encouraging further investigation. The paper concludes the framework provides a means to identify community leaders but notes limitations, such as interactions outside collaborative platforms, that require additional experiments across different ontology projects.
UX & Wireframes Know Your Weapon of ChoiceIntelligent_ly
The document discusses wireframes and the wireframing process. It begins with defining what a wireframe is and its purpose for focusing on usability and user experience. It then outlines the typical wireframing process which includes sketching ideas, creating wireframes, prototyping, and development. The document provides guidance on when to use wireframes, why they are useful for communicating with stakeholders and allowing for flexibility. It also covers types of wireframes, tools for creating wireframes, what to include and avoid, and resources for learning more about wireframing.
User experience can be drastically elevated by combining data science insights with user-based insights from research. Data analytics on its own can make themes and correlations difficult to explain and to provide accurate recommendations. For example, themes identified via large global surveys and usage data can be better understood with UX insights from focused user research, such as user interviews and/or cognitive walkthroughs. This presentation will highlight the complimentary nature of data science and UX and will focus on the benefits of bringing the two disciplines together. This will be buttressed with practical examples of enterprise projects and applications that combined data and skills from the two disciplines, guidance on how the two disciplines can better work together, and the skills needed to improve as a UX professional when working with data science teams.
Data Structures for Statistical Computing in PythonWes McKinney
The document discusses statistical data structures in Python. It summarizes that structured arrays are commonly used to store statistical data sets but have limitations. The R data frame is introduced as a flexible alternative that inspired the pandas library in Python. Pandas aims to create intuitive data structures for statistical analysis with labeled axes and automatic data alignment. Its core data structure, the DataFrame, functions similarly to R's data frame.
Effective Strategies for Creating Scientific graphicsJoel Kelly
This document discusses effective strategies for creating scientific graphics. It recommends showing the data clearly without distorting it, revealing multiple detail levels, and maximizing the percentage of the graphic used for plotting data. Specific tips include using small multiples to increase data density, combining different visual elements to tell a story, and employing color judiciously. The document emphasizes exploring data visually and presenting findings concisely through graphics.
Detecting and Analyzing Subpopulations within Connectivist MOOCs: Initial workMartin Hawksey
Presentation for the MOOC Research Initiative Conference in Arlington, TX 5-6th Decemeber highlighting some early research from 'Detecting and Analyzing Subpopulations within Connectivist MOOCs', which is in part examining data from ocTEL.
This document discusses data structures and algorithms. It begins with an introduction to data structures and their classification. Common data structures like arrays and linked lists are described. Abstract Data Types (ADTs) and the List ADT are explained. The document then discusses algorithms and different ways of implementing lists, including array-based and linked list implementations. Specific list operations like insertion, deletion, and searching are demonstrated for array-based lists.
FIWARE Training: Introduction to Smart Data ModelsFIWARE
The document introduces the Smart Data Models program which provides standardized data models for various domains. It explains that the program aims to enable agile standardization through contributions from the community. It outlines the governance structure and current status of the program, including the available domains, data models, contributors and tools. Participants are then guided through an exercise to turn a data source into a Smart Data Model by generating a JSON schema, example payload and submitting it as a pull request to the incubated repository on GitHub.
Top-N Recommendations from Implicit Feedback leveraging Linked Open DataVito Ostuni
The document describes a new approach called SPrank for top-N recommendations from implicit feedback using linked open data. SPrank analyzes relationships between user preferences and items through path-based features extracted from a knowledge graph. A learning to rank method is used to learn the ranking function from these features. Experimental results on movie and music datasets mapped to DBpedia show SPrank outperforms other recommendation techniques, particularly with smaller user profiles.
Improve ML Predictions using Graph Analytics (today!)Neo4j
Graph algorithms and features can improve machine learning predictions by adding relationship data. Connected feature engineering extracts metrics like common neighbors and clustering from graph networks to enrich existing ML models. A demo shows applying graph algorithms to book character data to predict new relationships, highlighting how graphs increase predictive power through network structure.
Research @ RELEASeD (presented at SATTOSE2013)kim.mens
An overview of recent research results and directions at Prof. Kim Mens's RELEASeD research lab. Presented in July 2013 at SATTOSE2013 in Bern, Switzerland.
The document discusses strategies for developing an information architecture (IA) strategy. It provides an overview of key components of an IA strategy, including determining goals, understanding the environment, planning interactions, validating and assessing the strategy, and documenting the plan. It also discusses developing strategies for user testing even with limited budgets. The document emphasizes that an IA strategy should align with and support broader business strategies and objectives.
I describe a framework that the UX team at Recurly has been using to integrate UX and agile development. Lean UX is tough, but successful application of the principles leads to better products, happier engineers and designers, and a better relationship with stakeholders.
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfNeo4j
Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
Atelier - Architecture d’applications de Graphes - GraphSummit ParisNeo4j
Atelier - Architecture d’applications de Graphes
Participez à cet atelier pratique animé par des experts de Neo4j qui vous guideront pour découvrir l’intelligence contextuelle. En utilisant un jeu de données réel, nous construirons étape par étape une solution de graphes ; de la construction du modèle de données de graphes à l’exécution de requêtes et à la visualisation des données. L’approche sera applicable à de multiples cas d’usages et industries.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
SOPRA STERIA - GraphRAG : repousser les limitations du RAG via l’utilisation ...Neo4j
Romain CAMPOURCY – Architecte Solution, Sopra Steria
Patrick MEYER – Architecte IA Groupe, Sopra Steria
La Génération de Récupération Augmentée (RAG) permet la réponse à des questions d’utilisateur sur un domaine métier à l’aide de grands modèles de langage. Cette technique fonctionne correctement lorsque la documentation est simple mais trouve des limitations dès que les sources sont complexes. Au travers d’un projet que nous avons réalisé, nous vous présenterons l’approche GraphRAG, une nouvelle approche qui utilise une base Neo4j générée pour améliorer la compréhension des documents et la synthèse d’informations. Cette méthode surpasse l’approche RAG en fournissant des réponses plus holistiques et précises.
ADEO - Knowledge Graph pour le e-commerce, entre challenges et opportunités ...Neo4j
Charles Gouwy, Business Product Leader, Adeo Services (Groupe Leroy Merlin)
Alors que leur Knowledge Graph est déjà intégré sur l’ensemble des expériences d’achat de leur plateforme e-commerce depuis plus de 3 ans, nous verrons quelles sont les nouvelles opportunités et challenges qui s’ouvrent encore à eux grâce à leur utilisation d’une base de donnée de graphes et l’émergence de l’IA.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
GraphAware - Transforming policing with graph-based intelligence analysisNeo4j
Petr Matuska, Sales & Sales Engineering Lead, GraphAware
Western Australia Police Force’s adoption of Neo4j and the GraphAware Hume graph analytics platform marks a significant advancement in data-driven policing. Facing the challenges of growing volumes of valuable data scattered in disconnected silos, the organisation successfully implemented Neo4j database and Hume, consolidating data from various sources into a dynamic knowledge graph. The result was a connected view of intelligence, making it easier for analysts to solve crime faster. The partnership between Neo4j and GraphAware in this project demonstrates the transformative impact of graph technology on law enforcement’s ability to leverage growing volumes of valuable data to prevent crime and protect communities.
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesNeo4j
David Pond, Lead Product Manager, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionBert Blevins
Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.
Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data.
The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs.
Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution!
Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
Kief Morris rethinks the infrastructure code delivery lifecycle, advocating for a shift towards composable infrastructure systems. We should shift to designing around deployable components rather than code modules, use more useful levels of abstraction, and drive design and deployment from applications rather than bottom-up, monolithic architecture and delivery.
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc
Six months into 2024, and it is clear the privacy ecosystem takes no days off!! Regulators continue to implement and enforce new regulations, businesses strive to meet requirements, and technology advances like AI have privacy professionals scratching their heads about managing risk.
What can we learn about the first six months of data privacy trends and events in 2024? How should this inform your privacy program management for the rest of the year?
Join TrustArc, Goodwin, and Snyk privacy experts as they discuss the changes we’ve seen in the first half of 2024 and gain insight into the concrete, actionable steps you can take to up-level your privacy program in the second half of the year.
This webinar will review:
- Key changes to privacy regulations in 2024
- Key themes in privacy and data governance in 2024
- How to maximize your privacy program in the second half of 2024
Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
Quality Patents: Patents That Stand the Test of TimeAurora Consulting
Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality.
Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality.
Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality.
Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank?
** Episode Overview **
In this first episode of our quality series, Kristen Hansen and the panel discuss:
⦿ What do we mean when we say patent quality?
⦿ Why is patent quality important?
⦿ How to balance quality and budget
⦿ The importance of searching, continuations, and draftsperson domain expertise
⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications
https://www.aurorapatents.com/patently-strategic-podcast.html
Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.
Support en anglais diffusé lors de l'événement 100% IA organisé dans les locaux parisiens d'Iguane Solutions, le mardi 2 juillet 2024 :
- Présentation de notre plateforme IA plug and play : ses fonctionnalités avancées, telles que son interface utilisateur intuitive, son copilot puissant et des outils de monitoring performants.
- REX client : Cyril Janssens, CTO d’ easybourse, partage son expérience d’utilisation de notre plateforme IA plug & play.
How RPA Help in the Transportation and Logistics Industry.pptxSynapseIndia
Revolutionize your transportation processes with our cutting-edge RPA software. Automate repetitive tasks, reduce costs, and enhance efficiency in the logistics sector with our advanced solutions.
How RPA Help in the Transportation and Logistics Industry.pptx
Data Modeling with Neo4j
1. Data Modeling with
Neo4j
1
Michael Hunger, Neo Technology
@neo4j | michael@neo4j.org
Thanks to: Ian Robinson, Mark Needham,Alistair Jones
Samstag, 31. August 13
2. Please ask questions
in the chat
I‘ll answer at the end.
Follow up email with missing answers,
video and slides.
2
Samstag, 31. August 13
4. This Webinar
๏Graphs are everywhere
๏Graph Model Building Blocks
๏(NOSQL) Data Models
๏Designing a Data Model
๏Embrace the Paradigm
4
Samstag, 31. August 13
21. Nodes
๏ Used to represent entities in your domain
๏ Can contain properties
• Used to represent entity attributes and/or metadata
(e.g. timestamps, version)
• Key-value pairs
‣Java primitives
‣Arrays
‣null is not a valid value
• Every node can have different properties
Samstag, 31. August 13
23. Relationships
๏ Every relationship has a name and a direction
• Add structure to the graph
• Provide semantic context for nodes
๏ Can contain properties
• Used to represent quality or weight of relationship,
or metadata
๏ Every relationship must have a start node and end node
• No dangling relationships
Samstag, 31. August 13
24. Relationships (continued)
Nodes can have
more than one
relationship
Self relationships are
allowed
Nodes can be connected by
more than one relationship
Samstag, 31. August 13
25. Variable Structure
๏ Relationships are defined with regard to node
instances, not classes of nodes
• Different nodes can be connected in different ways
• Allows for structural variation in the domain
• Contrast with relational schemas, where foreign key
relationships apply to all rows in a table
Samstag, 31. August 13
27. Labels
๏ Every node can have zero or more labels attached
๏ Used to represent roles (e.g. user, product, company)
• Group nodes
• Allow us to associate indexes and constraints with
groups of nodes
Samstag, 31. August 13
28. Four Building Blocks
๏ Nodes
• Entities
๏ Relationships
• Connect entities and structure domain
๏ Properties
• Attributes and metadata
๏ Labels
• Group nodes by role
Samstag, 31. August 13
31. 26
“There is a significant downside - the whole approach works
really well when data access is aligned with the aggregates, but
what if you want to look at the data in a different way? Order
entry naturally stores orders as aggregates, but analyzing
product sales cuts across the aggregate structure. The
advantage of not using an aggregate structure in the database
is that it allows you to slice and dice your data different ways
for different audiences.
This is why aggregate-oriented stores talk so much about map-
reduce.”
Martin Fowler
Aggregate Oriented Model
Samstag, 31. August 13
32. 27
The connected data model is based on fine grained elements
that are richly connected, the emphasis is on extracting many
dimensions and attributes as elements.
Connections are cheap and can be used not only for the
domain-level relationships but also for additional structures
that allow efficient access for different use-cases. The fine
grained model requires a external scope for mutating
operations that ensures Atomicity, Consistency, Isolation and
Durability - ACID also known as Transactions.
Michael Hunger
Connected Data Model
Samstag, 31. August 13
54. Method
1. Identify application/end-user goals
2. Figure out what questions to ask of the domain
3. Identify entities in each question
4. Identify relationships between entities in each
question
5. Convert entities and relationships to paths
These become the basis of the data model
6. Express questions as graph patterns
These become the basis for queries
Samstag, 31. August 13
55. From User Story to Model and Query
1.
User story
4.
Paths
3.
Entities and
relationships
?2.
Questions we want
to ask
5.
Data model
6.
Query
Samstag, 31. August 13
56. 1. Application/End-User Goals
As an employee
I want to know who in thecompany has similar skills to meSo that we can exchangeknowledge
Samstag, 31. August 13
57. 2. Questions To Ask of the Domain
Which people, who work for the same
company as me, have similar skills to me?
As an employee
I want to know who in thecompany has similar skills tome
So that we can exchangeknowledge
Samstag, 31. August 13
58. Which people, who work for the same
company as me, have similar skills to me?
Person
Company
Skill
3. Identify Entities
Samstag, 31. August 13
59. Which people, who work for the same
company as me, have similar skills to me?
Person WORKS_FOR Company
Person HAS_SKILL Skill
4. Identify Relationships Between
Entities
Samstag, 31. August 13
60. 5. Convert to Cypher Paths
Person WORKS_FOR Company
Person HAS_SKILL Skill
Samstag, 31. August 13
61. 5. Convert to Cypher Paths
Person WORKS_FOR Company
Person HAS_SKILL Skill
Relationship
Label
Samstag, 31. August 13
62. 5. Convert to Cypher Paths
Person WORKS_FOR Company
Person HAS_SKILL Skill
Relationship
Label
(:Person)-[:WORKS_FOR]->(:Company),
(:Person)-[:HAS_SKILL]->(:Skill)
Samstag, 31. August 13
67. 6. Express Question as Graph Pattern
Which people, who work for the same
company as me, have similar skills to me?
Samstag, 31. August 13
68. Cypher Query
Which people, who work for the same
company as me, have similar skills to me?
MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill),
(company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill)
WHERE me.name = {name}
RETURN colleague.name AS name,
count(skill) AS score,
collect(skill.name) AS skills
ORDER BY score DESC
Samstag, 31. August 13
69. Which people, who work for the same
company as me, have similar skills to me?
MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill),
(company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill)
WHERE me.name = {name}
RETURN colleague.name AS name,
count(skill) AS score,
collect(skill.name) AS skills
ORDER BY score DESC
Graph Pattern
Samstag, 31. August 13
70. Which people, who work for the same
company as me, have similar skills to me?
MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill),
(company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill)
WHERE me.name = {name}
RETURN colleague.name AS name,
count(skill) AS score,
collect(skill.name) AS skills
ORDER BY score DESC
Anchor Pattern in Graph
Samstag, 31. August 13
71. Which people, who work for the same
company as me, have similar skills to me?
MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill),
(company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill)
WHERE me.name = {name}
RETURN colleague.name AS name,
count(skill) AS score,
collect(skill.name) AS skills
ORDER BY score DESC
Create Projection of Results
Samstag, 31. August 13
76. From User Story to Model and Query
MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill),
(company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill)
WHERE me.name = {name}
RETURN colleague.name AS name,
count(skill) AS score,
collect(skill.name) AS skills
ORDER BY score DESC
As an employee
I want to know who in thecompany has similar skills tome
So that we can exchangeknowledge
(:Company)<-[:WORKS_FOR]-(:Person)-[:HAS_SKILL]->(:Skill)
Person WORKS_FOR Company
Person HAS_SKILL Skill
?Which people, who work for the
same company as me, have similar
skills to me?
Samstag, 31. August 13
81. Anti-Pattern: Node represents multiple
concepts
name
age
position
company
department
project
skills
Person
Samstag, 31. August 13
82. HAS_SKILL
Normalize into separate concepts
name
age
Person
name
number_of_employees
Company
WORKS_FOR
Skill
name
Samstag, 31. August 13
83. Challenge: Property or Relationship?
๏ Can every property be replaced by a relationship?
• Hint: triple stores. Are they easy to use?
๏ Should every entity with the same property values be
connected?
Samstag, 31. August 13
84. Object Mapping
๏ Similar to how you would map objects to a relational
database, using an ORM such as Hibernate
๏ Generally simpler and easier to reason about
๏ Examples
• Java: Spring Data Neo4j
• Ruby: Active Model
๏ Why Map?
• Do you use mapping because you are scared of SQL?
• Following DDD, could you write your repositories
directly against the graph API?
Samstag, 31. August 13
86. Relationships for querying
๏ like in other databases
• same structure for different use-cases (OLTP and
OLAP) doesn‘t work
• graph allows: add more structures
๏ Relationships should the primary means to access
nodes in the database
๏ Traversing relationships is cheap – that’s the whole
design goal of a graph database
๏ Use lookups only to find starting nodes for a query
Data Modeling examples in Manual
Samstag, 31. August 13
95. Evolution: Relationship to Node
68
Peter
SENT_EMAIL
Michael
Peter EMAIL_FROM
Michael
EMAIL_TO
Email
Emil
EMAIL_CC
Community
TAGGED
. . .
see Hyperedges
Samstag, 31. August 13
96. Combine multiple Domains in a Graph
๏ you start with a single domain
๏ add more connected domains as your system evolves
๏ more domains allow to ask different queries
๏ one domain „indexes“ the other
๏ Example Facebook Graph Search
• social graph
• location graph
• activity graph
• favorite graph
• ...
Samstag, 31. August 13
97. Notes on the Graph Data Model
๏Schema free, but constraints
๏Model your graph with a whiteboard and a wise man
๏Nodes as main entities but useless without connections
๏Relationships are first level citizens in the model and database
๏Normalize more than in a relational database
๏use meaningful relationship-types, not generic ones like IS_
๏use in-graph structures to allow different access paths
๏evolve your graph to your needs, incremental growth
70
Samstag, 31. August 13
106. Need to model the relationship
language_code
language_name
word_count
Language
country_code
country_name
flag_uri
language_code
Country
Samstag, 31. August 13
107. What if the cardinality changes?
language_code
language_name
word_count
country_code
Language
country_code
country_name
flag_uri
Country
Samstag, 31. August 13
108. Or we go many-to-many?
language_code
language_name
word_count
Language
country_code
country_name
flag_uri
Country
language_code
country_code
LanguageCountry
Samstag, 31. August 13
109. Or we want to qualify the relationship?
language_code
language_name
word_count
Language
country_code
country_name
flag_uri
Country
language_code
country_code
primary
LanguageCountry
Samstag, 31. August 13
114. What’s different?
๏ Implementation of maintaining relationships is left up
to the database
๏ Artificial keys disappear or are unnecessary
๏ Relationships get an explicit name
• can be navigated in both directions
Samstag, 31. August 13
118. Keep on adding relationships
name
word_count
Language
name
flag_uri
Country
POPULATION_SPEAKS
population_fraction
SIMILAR_TO ADJACENT_TO
Samstag, 31. August 13
131. [A] ACL from Hell
๏ Customer:
• leading consumer utility company with tons and
tons of users
๏ Goal:
• comprehensive access control administration
for customers
๏ Benefits:
• Flexible and dynamic architecture
• Exceptional performance
• Extensible data model supports new
applications and features
• Low cost
95
Samstag, 31. August 13
132. [A] ACL from Hell
๏ Customer:
• leading consumer utility company with tons and
tons of users
๏ Goal:
• comprehensive access control administration
for customers
๏ Benefits:
• Flexible and dynamic architecture
• Exceptional performance
• Extensible data model supports new
applications and features
• Low cost
95
• A Reliable access control administration system for
5 million customers, subscriptions and agreements
• Complex dependencies between groups, companies,
individuals, accounts, products, subscriptions, services and
agreements
• Broad and deep graphs (master customers with 1000s of
customers, subscriptions & agreements)
Samstag, 31. August 13
133. [A] ACL from Hell
๏ Customer:
• leading consumer utility company with tons and
tons of users
๏ Goal:
• comprehensive access control administration
for customers
๏ Benefits:
• Flexible and dynamic architecture
• Exceptional performance
• Extensible data model supports new
applications and features
• Low cost
95
• A Reliable access control administration system for
5 million customers, subscriptions and agreements
• Complex dependencies between groups, companies,
individuals, accounts, products, subscriptions, services and
agreements
• Broad and deep graphs (master customers with 1000s of
customers, subscriptions & agreements)
name: Andreas
subscription: sports
service: NFL
account: 9758352794
agreement: ultimate
owns
subscribes to
has plan
includes
provides group: graphistas
promotion: fall
member of
offered
discounts
company: Neo
Technologyworks with
gets discount on
subscription: local
subscribes to
provides service: Ravens
includes
Samstag, 31. August 13
135. [B] Timely Recommendations
๏ Customer:
• a professional social network
• 35 millions users, adding 30,000+ each day
๏ Goal: up-to-date recommendations
• Scalable solution with real-time end-user
experience
• Low maintenance and reliable architecture
• 8-week implementation
96
Samstag, 31. August 13
136. [B] Timely Recommendations
๏ Customer:
• a professional social network
• 35 millions users, adding 30,000+ each day
๏ Goal: up-to-date recommendations
• Scalable solution with real-time end-user
experience
• Low maintenance and reliable architecture
• 8-week implementation
96
๏ Problem:
• Real-time recommendation imperative to attract new
users and maintain positive user retention
• Clustered MySQL solution not scalable or fast enough
to support real-time requirements
๏ Upgrade from running a batch job
• initial hour-long batch job
• but then success happened, and it became a day
• then two days
๏ With Neo4j, real time recommendations
Samstag, 31. August 13
137. [B] Timely Recommendations
๏ Customer:
• a professional social network
• 35 millions users, adding 30,000+ each day
๏ Goal: up-to-date recommendations
• Scalable solution with real-time end-user
experience
• Low maintenance and reliable architecture
• 8-week implementation
96
๏ Problem:
• Real-time recommendation imperative to attract new
users and maintain positive user retention
• Clustered MySQL solution not scalable or fast enough
to support real-time requirements
๏ Upgrade from running a batch job
• initial hour-long batch job
• but then success happened, and it became a day
• then two days
๏ With Neo4j, real time recommendations
name:Andreas
job: talking
name: Allison
job: plumber
name: Tobias
job: coding
knows
knows
name: Peter
job: building
name: Emil
job: plumber
knows
name: Stephen
job: DJ
knows
knows
name: Delia
job: barking
knows
knows
name: Tiberius
job: dancer
knows
knows
knows
knows
Samstag, 31. August 13
139. [C] Collaboration on Global Scale
๏ Customer: a worldwide software leader
• highly collaborative end-users
๏ Goal: offer an online platform for global collaboration
• Highly flexible data analysis
• Sub-second results for large, densely-connected data
• User experience - competitive advantage
97
Samstag, 31. August 13
140. [C] Collaboration on Global Scale
๏ Customer: a worldwide software leader
• highly collaborative end-users
๏ Goal: offer an online platform for global collaboration
• Highly flexible data analysis
• Sub-second results for large, densely-connected data
• User experience - competitive advantage
97
• Massive amounts of data tied to members, user
groups, member content, etc. all interconnected
• Infer collaborative relationships through user-
generated content
• Worldwide Availability
Samstag, 31. August 13
141. [C] Collaboration on Global Scale
๏ Customer: a worldwide software leader
• highly collaborative end-users
๏ Goal: offer an online platform for global collaboration
• Highly flexible data analysis
• Sub-second results for large, densely-connected data
• User experience - competitive advantage
97
• Massive amounts of data tied to members, user
groups, member content, etc. all interconnected
• Infer collaborative relationships through user-
generated content
• Worldwide Availability
Asia North America Europe
Samstag, 31. August 13
142. [C] Collaboration on Global Scale
๏ Customer: a worldwide software leader
• highly collaborative end-users
๏ Goal: offer an online platform for global collaboration
• Highly flexible data analysis
• Sub-second results for large, densely-connected data
• User experience - competitive advantage
97
• Massive amounts of data tied to members, user
groups, member content, etc. all interconnected
• Infer collaborative relationships through user-
generated content
• Worldwide Availability
Asia North America Europe
Asia North America Europe
Samstag, 31. August 13
158. 112
Really, once you start
thinking in graphs
it's hard to stop
Recommendations MDM
Systems
Management
Geospatial
Social computing
Business intelligence
Biotechnology
Making Sense of all that
data
your brain
access control
linguistics
catalogs
genealogyrouting
compensation market vectors
Samstag, 31. August 13
159. 112
Really, once you start
thinking in graphs
it's hard to stop
Recommendations MDM
Systems
Management
Geospatial
Social computing
Business intelligence
Biotechnology
Making Sense of all that
data
your brain
access control
linguistics
catalogs
genealogyrouting
compensation market vectors
What will you build?
Samstag, 31. August 13
166. A graph database...
117
NO: not for charts & diagrams, or vector artwork
YES: for storing data that is structured as a graph
Samstag, 31. August 13
167. A graph database...
117
NO: not for charts & diagrams, or vector artwork
YES: for storing data that is structured as a graph
remember linked lists, trees?
Samstag, 31. August 13
168. A graph database...
117
NO: not for charts & diagrams, or vector artwork
YES: for storing data that is structured as a graph
remember linked lists, trees?
graphs are the general-purpose data structure
Samstag, 31. August 13
169. A graph database...
117
NO: not for charts & diagrams, or vector artwork
YES: for storing data that is structured as a graph
remember linked lists, trees?
graphs are the general-purpose data structure
“A relational database may tell you the average age of everyone
in this place,
but a graph database will tell you who is most likely to buy you a
beer.”
Samstag, 31. August 13
171. Why Data Modeling
119
๏What is modeling?
๏Aren‘t we schema free?
๏How does it work in a
graph?
๏Where should modeling
happen? DB or Application
Samstag, 31. August 13
184. // lookup starting point in an index
START n=node:People(name = ‘Andreas’)
Andreas
You traverse the graph
125
Samstag, 31. August 13
185. // lookup starting point in an index
START n=node:People(name = ‘Andreas’)
Andreas
You traverse the graph
125
// then traverse to find results
START me=node:People(name = ‘Andreas’
MATCH (me)-[:FRIEND]-(friend)-[:FRIEND]-(friend2)
RETURN friend2
Samstag, 31. August 13
187. SELECT skills.*, user_skill.*
FROM users
JOIN user_skill ON users.id = user_skill.user_id
JOIN skills ON user_skill.skill_id = skill.id WHERE users.id = 1
126
START user = node(1)
MATCH user -[user_skill]-> skill
RETURN skill, user_skill
Samstag, 31. August 13