We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Neo4j: Graph DB and Neo4j introduction

00:00

Formal Metadata

Title
Neo4j: Graph DB and Neo4j introduction
Title of Series
Number of Parts
64
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Graph (mathematics)Time evolutionEmulationData modelCategory of beingAuthorizationMathematicsTheoryPhysical systemEvoluteGraph (mathematics)NeuroinformatikGraph (mathematics)Product (business)QuicksortView (database)InformationWorkstation <Musikinstrument>40 (number)Computer animationXMLLecture/Conference
Data modelCategory of beingGraph (mathematics)AbstractionGraph coloringTheory of relativityJava appletSynchronizationQuery languageComputer animationLecture/Conference
Letterpress printingTheoryComputer animation
Computational physicsQuery languageComponent-based software engineeringJava appletGraph (mathematics)DatabaseGraph (mathematics)Java appletSoftwareDatabaseInformationOcean currentTwitterSet (mathematics)Connectivity (graph theory)Multiplication signFacebookGastropod shellSoftware developerCore dumpIntegrated development environmentProteinAlgorithmSystem administratorDirection (geometry)Software frameworkFormal languageData storage deviceArithmetic meanObservational studyProjective planeExecution unitComputer configurationTheory of relativityPattern languageFunctional (mathematics)Query languageRoutingOrder (biology)Process (computing)MathematicsWordMoment (mathematics)Latent heatRootParameter (computer programming)BuildingDegree (graph theory)Form (programming)Greatest elementBinary fileFerry CorstenExpressionData mining
Plug-in (computing)Graph (mathematics)Data miningFreewareComputer animation
RoutingPoint (geometry)Set (mathematics)RootEngineering drawing
Visualization (computer graphics)Visualization (computer graphics)Office suiteTemplate (C++)CausalityMereologyComputer animation
Visualization (computer graphics)Graph (mathematics)Artificial neural networkJava appletExecution unitLibrary (computing)Dew pointGraph (mathematics)Visualization (computer graphics)Einbettung <Mathematik>Software frameworkEmailPresentation of a groupRevision controlSlide ruleAndroid (robot)WikiKeyboard shortcutSoftware testingElectronic mailing listSoftware developerComputer configurationData storage deviceDecision theoryData miningMetropolitan area networkBitThomas BayesLevel (video gaming)Sinc functionFamilyProcess (computing)Computer animation
Gamma functionXML
Transcript: English(auto-generated)
Well, let's start. I'm Jordi from Barcelona, and I will talk about Neo4j. Sorry for my English, I'm not used to talk a lot, but I will do my best.
I started working in Neo4j about six months ago. I was just doing an investigation for doing something new, because I'm not a developer. Excuse me, I'm a system administrator, and my work on computers is system administration,
so I can give you a lot of answers about the topic. So I will try to explain what I discovered about Neo4j and so on. Well, this is the manner of you can save documents.
It started with text documents in the 90s, before, and this is the evolution of how
the people stored its data for doing things, and it's an evolution that we had. After everything else, I discovered that everything was going to Neo4j, or GraphDB.
GraphDB uses the mathematical theory of graphs for storing the data.
Instead of doing the typical production database, using the schemas and columns and registers, it uses a graph to store all the information, and it works like this.
Everything is with nodes instead of typical columns, and every node has its own relationships within them, and the nodes work as the registers.
So they are all reactions, and every node has its own registers. You can sync all the registers to the nodes, and you can put relations between the registers.
And for this, you have very speed and performance, and everything works.
This is a typical query working with Java. It's very simple to call and to make a node, and to do a relationship between them.
It works like this. I can't explain anything else, because I'm not a developer. It's just a theory I see. This can be used for everything, almost.
You can save social data for everybody. And you can expand it to anything. You can put relationships between all the nodes, and you can query everything.
You can also add special data, so you can have the geological information about all the nodes.
In Neo4j, there is a function for doing special data. So you can mix it with Google Maps or another technology it can do.
And you can add social and special data in the same graph. So you can mix everything, and store everything in the same graph.
Another example is financial data. You can also have all the stuff in a person, and you can discover what he did with everything.
Or else. You can apply this tool to compute an ergonomics, maybe. I don't know. To have a relation between a protein or whatever.
Well, for creating Neo4j, there is a lot of options for doing it. You can use the framework or with Java directly.
You have a lot of language meanings, like Ruby, Python. I did myself an example with Ruby, the basic one. You have Gremlin, it's a very powerful tool for querying Neo4j, like Perl.
You can also have isomorphical. It's something that you can match a graph that you set, and you can search on this graph. On existing graph. But it's on development currently. And you can use this node to do a query like SQL for doing a search.
Or else. Neo4j has these components. It's quite simple. It's just a half megabyte jar. You can download it in no matter of time.
These are the components. You have the core of Neo4j. An indexing tool. A Neo4j shell, that is a command line shell that you can run commands online.
The Java API for interacting and doing more stuff. The component for backups, as always. And the set of algorithms and all the graph stuff. Or else.
These are the typical uses I found that are best for using the graph databases. That's the meaning for it. These are the projects I found out. Customers for doing projects. That's the meaning. You can make algorithms for searching and patterns.
And that's AI. High critical environments that already have RDBMS. And they need to be more fast and agile. Biochemical for doing the research with proteins or whatever.
This kind of simulation. You can apply a pattern and a behavior for seeing everything in a graph database and doing a study or more simple.
Sociograph, the typical unit. When you want to build a social community like Facebook or Twitter they are using their own sociograph. And they are using a graph database.
And I found that too with my work as a sysadmin that network detector like doing routing and Cisco and whatever or switching it's very useful to make the routes and everything about the network.
What else? This is so much simple. This is a graph I made with a friend of mine and analyzed the JIT eyes and seats.
It's a simple example for showing what is able to do in RDB or Neo4j. Whatever. With the relationships and everything. This is made with Neo Eclipse.
It's a plugin for Eclipse. And you can install it directly. And it represents the graph. Well, another example of routing. You have a set of routes and you can make a search
and do the best way for going to another point. This is another tool for visualization in Eclipse. I took this from one of the templates of the office.
I think this is a GitHub jumper with all the followers and so on. Another tool for visualization graphs.
No, why? Why Neo4j? It's one of the most used graphs in the world. It's persistent, embedded. You can install everywhere almost. We have tests with Android mobile phones.
Since it's a very small jar, you can install almost everywhere. It's been in development since 2003. It's very scalable. There are lots of tools and bindings and frameworks.
You can see further in the wiki or mailing lists. And it's a GPL version 3 and commercial. But for everything and all the uses, it's totally free.
These are more of GraphDB. The more typical, the more I meet more of the guys of this GraphDB. There are more options. You can look at the Wikipedia.
There are lots of GraphDBs and kinds of things. This is all. The mailing list is very active. There are lots of mails and questions always.
They are always answered directly from the developers. It's very fast to get help from them. You have the GitHub too. You can go there and clone Neo4j and use it at your laptop or whatever.
You also have the wiki. The wiki for start with Neo4j is very fast. I used that for learning a little about Neo4j. You have these two slides from two friends of mine, Pablo and Pera.
What else? I think it's over. I can explain anything else because I don't know. I have a partner of mine, Pera Orbon,
that will do more introduction to GraphDBs. This is just a presentation of Neo4j and GraphDB. If you have questions, I would like to... Will you be outside to take questions?
Pera will be outside to take any questions I'm just presenting this. I think it's on. Thank you very much.