Graphs are everywhere. From websites adding social capabilities to Telcos providing personalized customer services, to innovative bioinformatics research, organizations are adopting graph databases as the best way to model and query connected data. If you can whiteboard, you can model your domain in a graph database.
In this session Emil Eifrem provides a close look at the graph model and offers best use cases for effective, cost-efficient data storage and accessibility.
Take Aways: Understand the model of a graph database and how it compares to document and relational databases Understand why graph databases are best suited for the storage, mapping and querying of connected data
Emil's presentation will be followed by a Hands-on Guide to Spring Data Neo4j. Spring Data Neo4j provides straightforward object persistence into the Neo4j graph database. Conceived by Rod Johnson and Neo Technology CEO Emil Eifrem, it is the founding project of the Spring Data effort. The library leverages a tight integration with the Spring Framework and the Spring Data infrastructure. Besides the easy to use object graph mapping it offers the powerful graph manipulation and query capabilities of Neo4j with a convenient API.
The talk introduces the different aspects of Spring Data Neo4j and shows applications in several example domains.
During the session we walk through the creation of a engaging sample application that starts with the setup and annotating the domain objects. We see the usage of Neo4jTemplate and the powerful repository abstraction. After deploying the application to a cloud PaaS we execute some interesting query use-cases on the collected data.
This is the presentation given by Michael Hunger and Peter Neubauer at the SF Data Mining group, see http://www.meetup.com/Data-Mining/events/80275492/
Warum ist ein Graph - bestehend aus Knoten und Verbindungen (jeweils mit Attributen) eigentlich so gut geeignet, die meisten Domänen ohne Verrenkungen zu modellieren? Warum habe ich bisher noch nie etwas von der etablierten Graphendatenbank Neo4j gehört? Was kann ich denn konkret damit machen? Welche interessanten Anwendungsgebiete gibt es? Das objektorientierte API ist gut und schön, aber ich möchte meine Objekte direkt in den Graphen abbilden, kann ich das? Gibt es Neo4j, mit spannenden Datensets, auch als gehostete Lösung, um direkt zu starten? Was für eine Programmiersprache brauche ich denn für eine ...4j-Datenbank?
Diese und viele andere Fragen wollen wir in der Präsentation beantworten. Von den Grundlagen angefangen, über Beispiele mit Aha-Effekten bis zum kompakten API von Neo4j und den Treibern für viele Programmiersprachen wird alles vorgestellt. Besonders wichtig ist die Mächtigkeit in Bezug auf die einfache Modellierung beliebiger Domänen. Dabei kann das Objekt-Graph-Mapping auf der Basis der von uns entwickelten Spring-Data-Graph Bibliothek noch einmal kräftig punkten. Den Abschluss der Präsentation bildet ein Abstecher zu gehosteten Neo4j-Instanzen, die besonders für PaaS-Provider, wie z.B. Heroku, sehr geeignet sind.
In this lecture we analyze document oriented databases. In particular we consider why there are the first approach to nosql and what are the main features. Then, we analyze as example MongoDB. We consider the data model, CRUD operations, write concerns, scaling (replication and sharding).
Finally we presents other document oriented database and when to use or not document oriented databases.
This is the presentation given by Michael Hunger and Peter Neubauer at the SF Data Mining group, see http://www.meetup.com/Data-Mining/events/80275492/
Warum ist ein Graph - bestehend aus Knoten und Verbindungen (jeweils mit Attributen) eigentlich so gut geeignet, die meisten Domänen ohne Verrenkungen zu modellieren? Warum habe ich bisher noch nie etwas von der etablierten Graphendatenbank Neo4j gehört? Was kann ich denn konkret damit machen? Welche interessanten Anwendungsgebiete gibt es? Das objektorientierte API ist gut und schön, aber ich möchte meine Objekte direkt in den Graphen abbilden, kann ich das? Gibt es Neo4j, mit spannenden Datensets, auch als gehostete Lösung, um direkt zu starten? Was für eine Programmiersprache brauche ich denn für eine ...4j-Datenbank?
Diese und viele andere Fragen wollen wir in der Präsentation beantworten. Von den Grundlagen angefangen, über Beispiele mit Aha-Effekten bis zum kompakten API von Neo4j und den Treibern für viele Programmiersprachen wird alles vorgestellt. Besonders wichtig ist die Mächtigkeit in Bezug auf die einfache Modellierung beliebiger Domänen. Dabei kann das Objekt-Graph-Mapping auf der Basis der von uns entwickelten Spring-Data-Graph Bibliothek noch einmal kräftig punkten. Den Abschluss der Präsentation bildet ein Abstecher zu gehosteten Neo4j-Instanzen, die besonders für PaaS-Provider, wie z.B. Heroku, sehr geeignet sind.
In this lecture we analyze document oriented databases. In particular we consider why there are the first approach to nosql and what are the main features. Then, we analyze as example MongoDB. We consider the data model, CRUD operations, write concerns, scaling (replication and sharding).
Finally we presents other document oriented database and when to use or not document oriented databases.
A brief overview of currently popular & available key/value, column oriented & document oriented databases, along with implementation suggestions for the CakePHP web application framework.
There are many ways to use Neo4j from Java. In this talk I want to demonstrate different APIs and examples on how to build solutions on top of Neo4j using a Java based stack.
Neo4j Use Cases - Graphdatenbanken im EinsatzNeo4j
Wenn es an der Zeit ist eine Datenbank für Ihr Projekt auszuwählen, gibt es inzwischen eine verwirrende Anzahl von Auswahlmöglichkeiten. Woher wissen Sie, wann Ihr Projekt gut für eine relationale Datenbank ist, oder ob einer der vielen NoSQL-Optionen eine bessere Wahl darstellt?
In diesem Webinar betrachten wir wann Neo4j zum Einsatz kommen sollte und wo die Vorzüge darin liegen. Dies wird anhand von Kundenbeispielen mit konkreten Einsatzszenerien erläutert.
In this lecture we analyze key-values databases. At first we introduce key-value characteristics, advantages and disadvantages.
Then we analyze the major Key-Value data stores and finally we discuss about Dynamo DB.
In particular we consider how Dynamo DB: How is implemented
1. Motivation Background
2. Partitioning: Consistent Hashing
3. High Availability for writes: Vector Clocks
4. Handling temporary failures: Sloppy Quorum
5. Recovering from failures: Merkle Trees
6. Membership and failure detection: Gossip Protocol
Importing Data into Neo4j quickly and easily - StackOverflowNeo4j
In this GraphConnect presentation Mark and Michael show several ways to import large amounts of highly connected data from different formats into Neo4j. Both Cypher's LOAD CSV as well as the bulk importer is demonstrated along with many tips.
We use the well know StackOverflow Q&A site data which is interestingly very graphy.
Looming Marvelous - Virtual Threads in Java Javaland.pdfjexp
Nowadays we have 2 options for concurrency in Java:
* simple, synchronous, blocking code with limited scalability that tracks well linearly at runtime, or.
* complex, asynchronous libraries with high scalability that are harder to handle.
Project Loom aims to bring together the best aspects of these two approaches and make them available to developers.
In the talk, I'll briefly cover the history and challenges of concurrency in Java before we dive into Loom's approaches and do some behind-the-scenes implementation. To manage so many threads reasonably needs some structure - for this there are proposals for "Structured Concurrency" which we will also look at. Some examples and comparisons to test Loom will round up the talk.
Project Loom is included in Java 19 and 20 as a preview feature, it can already be tested how well it works with our applications and libraries.
Spoiler: Pretty good.
Easing the daily grind with the awesome JDK command line toolsjexp
Included in the JDK installation are a lot of handy tools for Java developers, from java, jshell and jcmd to jfr and jdeprscan. These allow you to analyze a running JVM, generate JRE's, run Java source code and much more. In this talk I would like to present a number of these tools with practical examples and thus expand the toolbox of the participants. With the command line tools, many tasks can be automated and executed more efficiently, leaving more time for the exciting things in developer life.
Today, we have 2 options for concurrency in Java:
Simple, synchronous, blocking code with limited scalability that tracks well linearly at runtime, or
complex, asynchronous libraries with high scalability, which are harder to handle
Project Loom aims to bring together the best aspects of these two approaches and make them available to developers.
In the talk, I'll briefly discuss the history and challenges of concurrency in Java before we dive into Loom's approaches and look a bit behind the scenes.
Project Loom is included since Java 17 as a preview feature, it can already be tested to see how well it works with our applications and libraries. Spoiler: Pretty good.
GraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptxjexp
I was there when Cypher was invented in 2012
and have been using it ever since. The language is
extremely powerful and easy to learn. But to truly
master it, you need to understand how it works
internally and how the database executes your
queries. In this session, you'll learn to look behind
the scenes at execution plans with PROFILE and
EXPLAIN and which specific clauses, expressions,
structures, and operations help you minimize
Cypher and database operations. After this talk,
you should be able to speed up your Cypher
statements quite a bit.
The newly released Neo4j Connector for Apache Spark can be used to read and write data between the two systems.
In this demo I show how to use the investigative Data from the FinCEN files to have a full pipeline up an running.
Notebook is in https://github.com/jexp/fincen
How Graphs Help Investigative Journalists to Connect the Dotsjexp
The Journalists of the ICIJ used graph technology to understand the relationships between the leaked pieces of information in the Panama and Paradise Papers.
NBC News applied graph algorithms to the messages and follower networks of Russian Twitter trolls to gain further insights.
The Trumpworld organizational data correlated with US bills and government contracts offers starting points for further investigations.
New tools like graph databases allow data journalists to understand the intricate networks of the criminal, economic and political world better as those three examples show. Each journalist adding new connections helps others to validate their stories. They say "It's like magic".
Join Michael for a look behind the scenes of graph based data ingestion, analysis and investigation.
We will use the open source graph database Neo4j, data visualization and graph algorithms to read between the lines.
Who doesn't know him, the office hero, who sat in the office late into the evening and repaired production? The fact that perhaps another colleague sat on the sofa at home and had an equal share in this success is unfortunately not so appreciated in most company cultures. But why is that? Because we are not used to working at home? Because we think that you are not so productive at home? Because you have family, garden or other activities at home? Michael has been working for distributed companies for a long time, but has also worked in offices for a long time. He will take you on his journey through different working environments and tell you what worked well for him.
The JVM is already a runtime for many languages. With the optimizing Graal compiler added to Java 11 and the language implementations in Truffle for Ruby, Python, JavaScript, and R it becomes possible to run them natively on the JVM, even exchanging data between them.
Michael Hunger explains the concepts behind Truffle and Graal and uses a practical example to show how you can use Python and JavaScript for “stored procedures” in a JVM-based database.
He demonstrates how to optimize the startup time of your application and container images by precompiling it to machine-code and examines its limits and the difference it makes. But nothing is perfect—Michael discusses the limitations and compares performances for the full picture.
Presentation at OSCON, PDX 2019.
https://conferences.oreilly.com/oscon/oscon-or/public/schedule/detail/76092
Neo4j Graph Streaming Services with Apache Kafkajexp
In this presentation we give an high level overview of the Neo4j-Kafka integration and the Confluent partnership.
Providing change-data-capture and ingestion capabilities as Neo4j Extension and the Kafka Connect Neo4j Sink on Confluent Hub allows you to integrate real-time streaming with graph querying and analytics.
How Graph Databases efficiently store, manage and query connected data at s...jexp
Graph Databases try to make it easy for developers to leverage huge amounts of connected information for everything from routing to recommendations. Doing that poses a number of challenges on the implementation side. In this talk we want to look at the different storage, query and consistency approaches that are used behind the scenes. We’ll check out current and future solutions used in Neo4j and other graph databases for addressing global consistency, query and storage optimization, indexing and more and see which papers and research database developers take inspirations from.
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Libraryjexp
APOC has become the de-facto standard utility library for Neo4j. In this talk, I will demonstrate some of the lesser known but very useful components of APOC that will save you a lot of work. You will also learn how to combine individual functions into powerful constructs to achieve impressive feats
This will be a fast-paced demo/live-coding talk.
Video: https://neo4j.com/graphconnect-2018/session/neo4j-utility-library-apoc-pearls
Unicorn images by TeeTurtle.com (Unstable Unicorns is a fun game & cool t-shirts)
Code we've written once has to be kept readable, maintainable, understandable and extensible for many years. Good code is not self-serving but the foundation for working together.
Refactoring can help you to keep the quality of the relevant parts of our systems high.
The technique is really easy (almost too easy) - improve the naming, structure, and responsibility in small steps that don't change behavior and run your tests after each step.
18 years ago I got hooked on Refactoring when Martin Fowler's first book came out. I've been using it since then on a daily basis on many different projects. Since then a lot has changed, especially with the help of modern IDEs with their automated refactorings and intentions.
Now he asked me to help review the 2nd edition. Our discussions reminded me that each generation of developers should be taught this crucial skill. That's why I want to give an overview of core refactorings and code-smells but also demonstrate the tips and tricks of today's tools that make this task so much easier.
Plus a sneak preview of the upcoming book.
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...jexp
Highlighting the progress in Neo4j 3.3 and 3.4 especially
Neo4j Desktop, Graph Algorithms, NLP, Date-Time, Geospatial, and performance.
Also featuring the new visualization tool Neo4j Bloom.
GraphQL - The new "Lingua Franca" for API-Developmentjexp
Three years ago, with the release of the GraphQL specification, Facebook took a fresh stab at the topic of "API design between remote services and applications." The key aspects of GraphQL provide a common, schema-based, domain-specific language and flexible, dynamic queries at interface boundaries.
In the talk, I'd like to compare GraphQL and REST and showcase benefits for developers and architects using a concrete example in application and API development, data source and system integration.
Not only, is our data is getting not just more complex but also more connected. In order not to lose sight of the web of information, but to use it as a source of new insights and opportunities, technologies such as graph databases can help.
For both analytical and transactional use cases, they allow efficient storage, retrieval, and processing of networked data without loss of detail. In this talk, we want to get to know existing tools and techniques for graph data processing.
We recently released the Neo4j graph algorithms library.
You can use these graph algorithms on your connected data to gain new insights more easily within Neo4j. You can use these graph analytics to improve results from your graph data, for example by focusing on particular communities or favoring popular entities.
We developed this library as part of our effort to make it easier to use Neo4j for a wider variety of applications. Many users expressed interest in running graph algorithms directly on Neo4j without having to employ a secondary system.
We also tuned these algorithms to be as efficient as possible in regards to resource utilization as well as streamlined for later management and debugging.
In this session we'll look at some of these graph algorithms and the types of problems that you can use them for in your applications.
A brief overview of currently popular & available key/value, column oriented & document oriented databases, along with implementation suggestions for the CakePHP web application framework.
There are many ways to use Neo4j from Java. In this talk I want to demonstrate different APIs and examples on how to build solutions on top of Neo4j using a Java based stack.
Neo4j Use Cases - Graphdatenbanken im EinsatzNeo4j
Wenn es an der Zeit ist eine Datenbank für Ihr Projekt auszuwählen, gibt es inzwischen eine verwirrende Anzahl von Auswahlmöglichkeiten. Woher wissen Sie, wann Ihr Projekt gut für eine relationale Datenbank ist, oder ob einer der vielen NoSQL-Optionen eine bessere Wahl darstellt?
In diesem Webinar betrachten wir wann Neo4j zum Einsatz kommen sollte und wo die Vorzüge darin liegen. Dies wird anhand von Kundenbeispielen mit konkreten Einsatzszenerien erläutert.
In this lecture we analyze key-values databases. At first we introduce key-value characteristics, advantages and disadvantages.
Then we analyze the major Key-Value data stores and finally we discuss about Dynamo DB.
In particular we consider how Dynamo DB: How is implemented
1. Motivation Background
2. Partitioning: Consistent Hashing
3. High Availability for writes: Vector Clocks
4. Handling temporary failures: Sloppy Quorum
5. Recovering from failures: Merkle Trees
6. Membership and failure detection: Gossip Protocol
Importing Data into Neo4j quickly and easily - StackOverflowNeo4j
In this GraphConnect presentation Mark and Michael show several ways to import large amounts of highly connected data from different formats into Neo4j. Both Cypher's LOAD CSV as well as the bulk importer is demonstrated along with many tips.
We use the well know StackOverflow Q&A site data which is interestingly very graphy.
Looming Marvelous - Virtual Threads in Java Javaland.pdfjexp
Nowadays we have 2 options for concurrency in Java:
* simple, synchronous, blocking code with limited scalability that tracks well linearly at runtime, or.
* complex, asynchronous libraries with high scalability that are harder to handle.
Project Loom aims to bring together the best aspects of these two approaches and make them available to developers.
In the talk, I'll briefly cover the history and challenges of concurrency in Java before we dive into Loom's approaches and do some behind-the-scenes implementation. To manage so many threads reasonably needs some structure - for this there are proposals for "Structured Concurrency" which we will also look at. Some examples and comparisons to test Loom will round up the talk.
Project Loom is included in Java 19 and 20 as a preview feature, it can already be tested how well it works with our applications and libraries.
Spoiler: Pretty good.
Easing the daily grind with the awesome JDK command line toolsjexp
Included in the JDK installation are a lot of handy tools for Java developers, from java, jshell and jcmd to jfr and jdeprscan. These allow you to analyze a running JVM, generate JRE's, run Java source code and much more. In this talk I would like to present a number of these tools with practical examples and thus expand the toolbox of the participants. With the command line tools, many tasks can be automated and executed more efficiently, leaving more time for the exciting things in developer life.
Today, we have 2 options for concurrency in Java:
Simple, synchronous, blocking code with limited scalability that tracks well linearly at runtime, or
complex, asynchronous libraries with high scalability, which are harder to handle
Project Loom aims to bring together the best aspects of these two approaches and make them available to developers.
In the talk, I'll briefly discuss the history and challenges of concurrency in Java before we dive into Loom's approaches and look a bit behind the scenes.
Project Loom is included since Java 17 as a preview feature, it can already be tested to see how well it works with our applications and libraries. Spoiler: Pretty good.
GraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptxjexp
I was there when Cypher was invented in 2012
and have been using it ever since. The language is
extremely powerful and easy to learn. But to truly
master it, you need to understand how it works
internally and how the database executes your
queries. In this session, you'll learn to look behind
the scenes at execution plans with PROFILE and
EXPLAIN and which specific clauses, expressions,
structures, and operations help you minimize
Cypher and database operations. After this talk,
you should be able to speed up your Cypher
statements quite a bit.
The newly released Neo4j Connector for Apache Spark can be used to read and write data between the two systems.
In this demo I show how to use the investigative Data from the FinCEN files to have a full pipeline up an running.
Notebook is in https://github.com/jexp/fincen
How Graphs Help Investigative Journalists to Connect the Dotsjexp
The Journalists of the ICIJ used graph technology to understand the relationships between the leaked pieces of information in the Panama and Paradise Papers.
NBC News applied graph algorithms to the messages and follower networks of Russian Twitter trolls to gain further insights.
The Trumpworld organizational data correlated with US bills and government contracts offers starting points for further investigations.
New tools like graph databases allow data journalists to understand the intricate networks of the criminal, economic and political world better as those three examples show. Each journalist adding new connections helps others to validate their stories. They say "It's like magic".
Join Michael for a look behind the scenes of graph based data ingestion, analysis and investigation.
We will use the open source graph database Neo4j, data visualization and graph algorithms to read between the lines.
Who doesn't know him, the office hero, who sat in the office late into the evening and repaired production? The fact that perhaps another colleague sat on the sofa at home and had an equal share in this success is unfortunately not so appreciated in most company cultures. But why is that? Because we are not used to working at home? Because we think that you are not so productive at home? Because you have family, garden or other activities at home? Michael has been working for distributed companies for a long time, but has also worked in offices for a long time. He will take you on his journey through different working environments and tell you what worked well for him.
The JVM is already a runtime for many languages. With the optimizing Graal compiler added to Java 11 and the language implementations in Truffle for Ruby, Python, JavaScript, and R it becomes possible to run them natively on the JVM, even exchanging data between them.
Michael Hunger explains the concepts behind Truffle and Graal and uses a practical example to show how you can use Python and JavaScript for “stored procedures” in a JVM-based database.
He demonstrates how to optimize the startup time of your application and container images by precompiling it to machine-code and examines its limits and the difference it makes. But nothing is perfect—Michael discusses the limitations and compares performances for the full picture.
Presentation at OSCON, PDX 2019.
https://conferences.oreilly.com/oscon/oscon-or/public/schedule/detail/76092
Neo4j Graph Streaming Services with Apache Kafkajexp
In this presentation we give an high level overview of the Neo4j-Kafka integration and the Confluent partnership.
Providing change-data-capture and ingestion capabilities as Neo4j Extension and the Kafka Connect Neo4j Sink on Confluent Hub allows you to integrate real-time streaming with graph querying and analytics.
How Graph Databases efficiently store, manage and query connected data at s...jexp
Graph Databases try to make it easy for developers to leverage huge amounts of connected information for everything from routing to recommendations. Doing that poses a number of challenges on the implementation side. In this talk we want to look at the different storage, query and consistency approaches that are used behind the scenes. We’ll check out current and future solutions used in Neo4j and other graph databases for addressing global consistency, query and storage optimization, indexing and more and see which papers and research database developers take inspirations from.
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Libraryjexp
APOC has become the de-facto standard utility library for Neo4j. In this talk, I will demonstrate some of the lesser known but very useful components of APOC that will save you a lot of work. You will also learn how to combine individual functions into powerful constructs to achieve impressive feats
This will be a fast-paced demo/live-coding talk.
Video: https://neo4j.com/graphconnect-2018/session/neo4j-utility-library-apoc-pearls
Unicorn images by TeeTurtle.com (Unstable Unicorns is a fun game & cool t-shirts)
Code we've written once has to be kept readable, maintainable, understandable and extensible for many years. Good code is not self-serving but the foundation for working together.
Refactoring can help you to keep the quality of the relevant parts of our systems high.
The technique is really easy (almost too easy) - improve the naming, structure, and responsibility in small steps that don't change behavior and run your tests after each step.
18 years ago I got hooked on Refactoring when Martin Fowler's first book came out. I've been using it since then on a daily basis on many different projects. Since then a lot has changed, especially with the help of modern IDEs with their automated refactorings and intentions.
Now he asked me to help review the 2nd edition. Our discussions reminded me that each generation of developers should be taught this crucial skill. That's why I want to give an overview of core refactorings and code-smells but also demonstrate the tips and tricks of today's tools that make this task so much easier.
Plus a sneak preview of the upcoming book.
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...jexp
Highlighting the progress in Neo4j 3.3 and 3.4 especially
Neo4j Desktop, Graph Algorithms, NLP, Date-Time, Geospatial, and performance.
Also featuring the new visualization tool Neo4j Bloom.
GraphQL - The new "Lingua Franca" for API-Developmentjexp
Three years ago, with the release of the GraphQL specification, Facebook took a fresh stab at the topic of "API design between remote services and applications." The key aspects of GraphQL provide a common, schema-based, domain-specific language and flexible, dynamic queries at interface boundaries.
In the talk, I'd like to compare GraphQL and REST and showcase benefits for developers and architects using a concrete example in application and API development, data source and system integration.
Not only, is our data is getting not just more complex but also more connected. In order not to lose sight of the web of information, but to use it as a source of new insights and opportunities, technologies such as graph databases can help.
For both analytical and transactional use cases, they allow efficient storage, retrieval, and processing of networked data without loss of detail. In this talk, we want to get to know existing tools and techniques for graph data processing.
We recently released the Neo4j graph algorithms library.
You can use these graph algorithms on your connected data to gain new insights more easily within Neo4j. You can use these graph analytics to improve results from your graph data, for example by focusing on particular communities or favoring popular entities.
We developed this library as part of our effort to make it easier to use Neo4j for a wider variety of applications. Many users expressed interest in running graph algorithms directly on Neo4j without having to employ a secondary system.
We also tuned these algorithms to be as efficient as possible in regards to resource utilization as well as streamlined for later management and debugging.
In this session we'll look at some of these graph algorithms and the types of problems that you can use them for in your applications.
Despite the “Graph” in the name, GraphQL is mostly used to query relational databases, object models or APIs. But it is really easy to support GraphQL endpoints from graph databases too. In this talk, I’ll demonstrate how we implemented a GraphQL extension for the Neo4j graph database. It uses the GraphQL schema definition map arbitrary GraphQL queries into single graph queries and runs them against the data in the Graph database. Using directives in the schema, we added some cool features that are transparent to the end user like computed fields and auto-generated mutations and query types. That allows you to create GraphQL APIs of some complexity without writing a single line of code.
I will show how to use the Neo4j-GraphQL extension, by creating an endpoint for the Game of Thrones dataset, and how we then can use our well-known tools (GraphiQL, apollo-client, graphql-cli, voyager) to interact with it.
Despite the “Graph” in the name, GraphQL is mostly used to query relational databases or object models. But it is really well suited to querying graph databases too. In this talk, I’ll demonstrate how I implemented a GraphQL endpoint for the Neo4j graph database and how you would use it in your app.
The world around us is full of connected information. Neo4j was originally developed to solve two complex "network" problems in a document management system, as it was too hard to manage rich connection information efficiently in traditional and new "NOSQL" databases.During this meetup, we will talk about the technology, and about the journey that a couple of technologists from Malmö took. You will learn* how Neo Technology grew from just the three founders in to a global database company with use-cases in every domain imaginable.* how focusing on customer and community feedback allows us to provide a solution for managing connected data to everyone, not just the large internet companies.
Of course we will also introduce the graph model, it's whiteboard friendlyness and how you get started with Neo4j and it's easy and powerful query language Cypher. We'll also compare the graph and relational data model to see how they differ in shape and capabilities. Finally we discuss the foundations that enable Graph databases to provide higher join performance, faster development processes and more inclusive software for all stakeholders. With use-cases from Gaming, Dating and Finance we'll see how to apply the graph capabilities to these domains to realize new functionality or opportunities that were not possible before.
Finally, if there's a question you've always wanted to ask/discuss, we'll have plenty of time for that at the end of Michael's presentation.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
8. The Evolution of Web Search
Pre-1999 1999 - 2012
WWW Indexing Google Invents
PageRank
4
9. The Evolution of Web Search
Pre-1999 1999 - 2012 2012-?
WWW Indexing Google Invents Google Launches the
PageRank Knowledge Graph
4
10. The Evolution of Web Search
Pre-1999 1999 - 2012 2012-?
WWW Indexing Google Invents Google Launches the
PageRank Knowledge Graph
Atomic Data
4
11. The Evolution of Web Search
Pre-1999 1999 - 2012 2012-?
WWW Indexing Google Invents Google Launches the
PageRank Knowledge Graph
Simple
Atomic Data
Connected Data
4
12. The Evolution of Web Search
Pre-1999 1999 - 2012 2012-?
WWW Indexing Google Invents Google Launches the
PageRank Knowledge Graph
Simple Rich
Atomic Data
Connected Data Connected Data
4
39. The Property Graph model
Em Joh
il a n
knows knows
Alli Tob Lar
son ias knows s
knows
And And knows
knows rea rés
s
knows knows knows
Pet Miic
Mc knows Ian
er knows a
a
knows knows
De Mic
lia h ael
11
40. The Property Graph model
Em Joh
il a n
knows knows
Alli Tob Lar
son ias knows s
Nodes And
knows
And knows
knows rea rés
s
knows knows knows
Pet Miic
Mc knows Ian
er knows a
a
knows knows
De Mic
lia h ael
11
41. The Property Graph model
Em Joh
il a n
knows knows
Alli Tob Lar
son ias knows s
Nodes And
knows
And knows
knows rea rés
s
knows knows knows
Pet Miic
Mc knows Ian
er knows a
a
knows knows
De Mic
lia h ael
Relationships
11
42. The Property Graph model
E Joh
Em mil Joh
a a n
il n
knows knows
knows
knows
AllAlliso
iso n Tob Tobia knows Lar Lar
s
Nodes n ias s knows s
knows
knows
An And And And knows knows
knows
knows dre re rés rés
as as
knows
knows knows
knows knowsknows
Pet e
Pe t Miic M
M c Mi knows Ian Ian
r er knows
knows a ica
a ca knows
knows
knows knows
knows
De D Mi c M
lia el hae ich
ia l ae
Relationships l
Properties (each a key+value)
+ Indexes (for easy look-ups)
11
49. Great! But what about performance?
• a sample social graph
13
50. Great! But what about performance?
• a sample social graph
–with ~1,000 persons
13
51. Great! But what about performance?
• a sample social graph
–with ~1,000 persons
• average 50 friends per person
13
52. Great! But what about performance?
• a sample social graph
–with ~1,000 persons
• average 50 friends per person
• pathExists(a,b) limited to depth 4
13
53. Great! But what about performance?
• a sample social graph
–with ~1,000 persons
• average 50 friends per person
• pathExists(a,b) limited to depth 4
• caches warmed up to eliminate disk I/O
13
54. Great! But what about performance?
• a sample social graph
–with ~1,000 persons
• average 50 friends per person
• pathExists(a,b) limited to depth 4
• caches warmed up to eliminate disk I/O
# persons query time
Relational database 1,000 2000ms
Neo4j 1,000 2ms
Neo4j 1,000,000
13
55. Great! But what about performance?
• a sample social graph
–with ~1,000 persons
• average 50 friends per person
• pathExists(a,b) limited to depth 4
• caches warmed up to eliminate disk I/O
# persons query time
Relational database 1,000 2000ms
Neo4j 1,000 2ms
Neo4j 1,000,000
13
56. Great! But what about performance?
• a sample social graph
–with ~1,000 persons
• average 50 friends per person
• pathExists(a,b) limited to depth 4
• caches warmed up to eliminate disk I/O
# persons query time
Relational database 1,000 2000ms
Neo4j 1,000 2ms
Neo4j 1,000,000
13
57. Great! But what about performance?
• a sample social graph
–with ~1,000 persons
• average 50 friends per person
• pathExists(a,b) limited to depth 4
• caches warmed up to eliminate disk I/O
# persons query time
Relational database 1,000 2000ms
Neo4j 1,000 2ms
Neo4j 1,000,000 2ms
14
58. How do I query this graph?
// lookup starting point in an index
START user=node:User(name
start n=node:People(name ==‘Andreas’)
‘Andreas’)
MATCH (user)-[:HAS_SENT]->(tweet)-[:TAGGED_BY]->(tag)
RETURN tag
And
rea
s
59. How do I query this graph?
// lookup starting point in an index
START user=node:User(name
start n=node:People(name ==‘Andreas’)
‘Andreas’)
MATCH (user)-[:HAS_SENT]->(tweet)-[:TAGGED_BY]->(tag)
RETURN tag
And
rea
s
64. (Neo4j) -[:IS_A]-> (Graph Database)
- A Graph Database:
- a schema-free Property Graph
- perfect for complex, highly connected data
4
65. (Neo4j) -[:IS_A]-> (Graph Database)
- A Graph Database:
- a schema-free Property Graph
- perfect for complex, highly connected data
- A Graph Database:
4
66. (Neo4j) -[:IS_A]-> (Graph Database)
- A Graph Database:
- a schema-free Property Graph
- perfect for complex, highly connected data
- A Graph Database:
- reliable with real ACID Transactions
4
67. (Neo4j) -[:IS_A]-> (Graph Database)
- A Graph Database:
- a schema-free Property Graph
- perfect for complex, highly connected data
- A Graph Database:
- reliable with real ACID Transactions
- scalable: 34 billions nodes and relationships
4
68. (Neo4j) -[:IS_A]-> (Graph Database)
- A Graph Database:
- a schema-free Property Graph
- perfect for complex, highly connected data
- A Graph Database:
- reliable with real ACID Transactions
- scalable: 34 billions nodes and relationships
- fast with millons traversals / second
4
69. (Neo4j) -[:IS_A]-> (Graph Database)
- A Graph Database:
- a schema-free Property Graph
- perfect for complex, highly connected data
- A Graph Database:
- reliable with real ACID Transactions
- scalable: 34 billions nodes and relationships
- fast with millons traversals / second
- Server with REST API, or Embeddable on the JVM
4
70. (Neo4j) -[:IS_A]-> (Graph Database)
- A Graph Database:
- a schema-free Property Graph
- perfect for complex, highly connected data
- A Graph Database:
- reliable with real ACID Transactions
- scalable: 34 billions nodes and relationships
- fast with millons traversals / second
- Server with REST API, or Embeddable on the JVM
- higher-performance with High-Availability (read scaling)
4
71. (Cypher) -[:IS_A]-> (Graph Query Language)
๏ Declarative query language
• Describe what you want, not how
• Based on pattern matching
๏ Example:
START tag=node:Tag(tag=”s12gx”), # index lookup
MATCH sender-[:SENDER]->tweet-[:TAG]->tag
WHERE new_friends.age > 18
RETURN sender.name, count(*)
ORDER BY count(*) DESC
LIMIT 10
4
75. Spring Data Neo4j
๏ Spring Data: VMWare/SpringSource initiative to give Spring
developers easy access to the emerging world of NOSQL
๏ Spring Data Neo4j is the integration library for Neo4j
๏ Simple programming model:
annotation-based programming for applications with rich domains
๏ Always possible to drop down to core Neo4j-API
๏ simple and powerful repository abstraction
๏ two mapping modes
๏ Neo4j-Server support
76. Spring Data Neo4j features
• Annotation-based programming model
• Spring Data Commons Repository support
• Neo4j Query and Traversal support
– on dynamic fields and via repository methods
• Neo4j indexing support (includes fulltext and numeric range queries)
• Entity types stored in the graph database as well
• Dynamic type projection (duck typing)
• Cross-store support for partial JPA / graph entities
• Support for JSR-303 (bean validation)
• Support for the Neo4j Server (remote server and in server extension)
• Neo4jTemplate with exception translation, optional transaction management
and more
22
77. Classic Neo4j domain class
public class Tag {
private final Node underlyingNode;
Tag( final Node node ) {
underlyingNode = node;
}
public Node getUnderlyingNode() {
return underlyingNode;
}
public final String getName() {
return (String) underlyingNode.getProperty( “name” );
}
public void setName( final String name ) {
underlyingNode.setProperty( “name”, name );
}
}
78. Spring Data Neo4j domain class
@NodeEntity
public class Tag {
@GraphId private Long id;
private String name;
}
79. Spring Data Neo4j domain class
@NodeEntity
public class Tag {
@GraphId private Long id;
@Indexed(unique = true)
private String name;
}
81. Defining entity classes
• @NodeEntity
• Represents a node in the graph
• Fields saved as properties on node
• References stored as relationships between nodes
• Instantiated using Java ‘new’ keyword, like any POJO
• Also returned by lookup mechanisms
• Type information stored in the graph
83. Defining entity classes
• @RelationshipEntity
• Represents a relationship in the graph
• Fields saved as properties on relationship
• Special fields for start- and end-nodes
• Only returned by lookup methods
84. Tweet domain class
@NodeEntity
public class Tweet {
@GraphId private Long id;
@Indexed(unique=true) Long tweetId;
String text;
@Fetch User sender; // eager loading
@RelatedTo(type="TAGGED") Collection<Tag> tags;
@RelatedTo(type="MENTIONS") Set<User> mentions;
@RelatedTo(type="SOURCE") Tweet source;
}
85. Interface based Repositories
• based on Repository infrastructure in Spring Data Commons
• just define the interface and the namespace configuration
• provide out-of-the-box support for
–CRUD-Operations
–Index-Lookups
–Traversal-Execution
–Annotated Graph-Queries (Cypher, Gremlin)
–Derived Queries
–Spatial Queries
• extensible via custom methods with provided implementations
28
87. Neo4j-Template (I)
• well known Spring Template Pattern
• Resource / Transaction Management
• Convenience Methods
• Nodes and Entities handling & conversion
• Fluent Query Result Handling
• Works also via REST with Neo4j-Server
• Exception Translation
30
88. Neo4j-Server-Support
<bean id="restGraphDatabaseService"
class="org.sf.data.neo4j.rest.SpringRestGraphDatabase">
<constructor-arg value="http://localhost:7473/db/data" />
</bean>
<neo4j:config graphDatabaseService="restGraphDatabaseService"/>
• drop-in replacement for the embedded GraphDatabase
• works transparently with POJO-Entity-Mapping and
Neo4j-Template
31
89. Sample App
-uses Spring Social (minimally)
-Simple Domain: Tweets, Users, Tags
-connected Entities
-Repositories, Service
-standalone App with
-embedded Neo4j-Database
-Neo4j-Server
92. Whiteboard friendly - Abstract
:User
PO
ST
ED
:Tweet
S
ION
NT
ME
:User :Tweet
POSTED
93. Whiteboard friendly - Abstract
:User
PO
ST
ED
TAGGED
:Tag
:Tweet TAGG
ED
:Tag
S
ION ED
NT G
ME G
:User :Tweet TA
POSTED
94. Whiteboard friendly - Example
Attending the
#S2GX #SDN
session by
@mesirii
Looking forward to
my #SDN session
95. Whiteboard friendly - Example
@peterneubauer
PO
ST
ED
Attending the
#S2GX #SDN
session by
@mesirii
Looking forward to
@mesirii POSTED
my #SDN session
96. Whiteboard friendly - Example
@peterneubauer
PO
ST
ED
Attending the
#S2GX #SDN
session by
@mesirii
S
ION
NT
ME Looking forward to
@mesirii POSTED
my #SDN session
97. Whiteboard friendly - Example
@peterneubauer
PO
ST
ED
Attending the
TAGGED
#S2GX
#S2GX #SDN TAGG
session by ED
@mesirii
#SDN
S
ION ED
NT G
ME Looking forward to TA
G
@mesirii POSTED
my #SDN session
102. Hubway Data Challenge - Import
• Boston Bike Sharing Network
• Import using Spring Data Neo4j
• Visualization with Cypher & d3.js (Chord)
http://bit.ly/neo_hubway
39
103. Cineasts.net - a social movie database
Check Out: http://spring.neo4j.org/tutorial
104. Spring Data Neo4j Guidebook
“Good Relationships”
“I’m excited about Spring Data Neo4j.... makes working with Neo4j
amazingly easy, and therefore has the potential to make you more successful
as a developer.”
Rod Johnson, founder of Spring
- Spring Data Neo4j comes with a great Guide Book, featuring:
- Forewords by Rod Johnson and Emil Eifrem
- An easy to read, narrative tutorial walkthrough for cineasts.net
- A comprehensive reference for all the details
- Check it out: http://bit.ly/sd-book
- Free e-book and printed
105. Spring Data Neo4j Guidebook
“Good Relationships”
“I’m excited about Spring Data Neo4j.... makes working with Neo4j
amazingly easy, and therefore has the potential to make you more successful
as a developer.”
Rod Johnson, founder of Spring
- Spring Data Neo4j comes with a great Guide Book, featuring:
- Forewords by Rod Johnson and Emil Eifrem
- An easy to read, narrative tutorial walkthrough for cineasts.net
- A comprehensive reference for all the details
- Check it out: http://bit.ly/sd-book
- Free e-book and printed
106. O‘Reilly Spring Data Book
„Modern Data Access for Enterprise Java“
• book by the Spring Data project leads
• introduction to Spring Data & SD-repositories
• covers all subprojects
• available in O‘Reilly OFPS and O‘Reilly store (e-book)
• http://bit.ly/sd-book
109. How do I get started?
๏ Documentation
• http://spring.neo4j.org
4
110. How do I get started?
๏ Documentation
• http://spring.neo4j.org
• Dev-Notes
4
111. How do I get started?
๏ Documentation
• http://spring.neo4j.org
• Dev-Notes
• Spring Data Book
4
112. How do I get started?
๏ Documentation
• http://spring.neo4j.org
• Dev-Notes
• Spring Data Book
• Good Relationships
4
113. How do I get started?
๏ Documentation
• http://spring.neo4j.org
• Dev-Notes
• Spring Data Book
• Good Relationships
๏ Get Neo4j
4
114. How do I get started?
๏ Documentation
• http://spring.neo4j.org
• Dev-Notes
• Spring Data Book
• Good Relationships
๏ Get Neo4j
• http://neo4j.org/download
4
115. How do I get started?
๏ Documentation
• http://spring.neo4j.org
• Dev-Notes
• Spring Data Book
• Good Relationships
๏ Get Neo4j
• http://neo4j.org/download
๏ Participate
• http://neo4j.org/forums
• http://spring.neo4j.org/discussions
4
116. How do I get started?
๏ Documentation
• http://spring.neo4j.org
• Dev-Notes
• Spring Data Book
• Good Relationships
๏ Get Neo4j
• http://neo4j.org/download
๏ Participate
• http://neo4j.org/forums
• http://spring.neo4j.org/discussions
• http://neo4j.meetup.com
4
117. How do I get started?
๏ Documentation
• http://spring.neo4j.org
• Dev-Notes
• Spring Data Book
• Good Relationships
๏ Get Neo4j
• http://neo4j.org/download
๏ Participate
• http://neo4j.org/forums
• http://spring.neo4j.org/discussions
• http://neo4j.meetup.com
• a session like this one ;)
4
118. GraphConnect Nov 6th 2012 San Francisco
50%
dis
CONNECT ABOUT | UPCOMING EVENTS | cou
REGISTRATION | CONTACT
nt a
t our
boo
th
WORLD’S LEADING GRAPH CONFERENCE
SAN FRANCISCO 2012
4
Neo4j Query and Traversal support on dynamic fields and via repository methods\nNeo4j indexing support (includes unique indexes, fulltext and numeric range queries)\nEntity types stored in the graph (index or category-nodes)\nDynamic type projection (duck typing)\nCross-store support for partial JPA / graph entities\nSupport for JSR-303 (bean validation)\nSupport for the Neo4j Server (remote server and in server extension)\nNeo4jTemplate with exception translation, optional transaction management and more\n