Slides da palestra realizada pelo codigosimples.net sobre Neo4j
Size: 991.02 KB
Language: pt
Added: Apr 01, 2017
Slides: 22 pages
Slide Content
Introdução ao Neo4j – 3.x ( graphs )[:ARE]›( everywhere )
Jhonathan S. Soares MVP Microsoft – Visual Studio Neo4j Top 50 Certified Developer Criador do blog CodigoSimples.net
Introdução ao Neo4j Tipos de NOSQL Já somos 255 e crescendo \o/ Colunar | Wide Column | Column Families Hadoop – Hbase – Cassandra – BigTable Orientado à Documentos| Document Store ElasticSearch – OrientDB – MongoDB - DocumentDB Chave Valor | Tuple Store | Key Value DynamoDB – Azure Table – Redis - MemcacheDB Orientado à Grafos | Graph Databases Neo4j – ArangoDB – OrientDB - Titan
Introdução ao Neo4j Graph Databases Somos diferentes? Só você Just you Diferentão Vanguardista Pica das galáxias Está diretamente relacionado a um modelo de dados estabelecido, o modelo de grafos.
Introdução ao Neo4j Graph Databases Representar os dados e / ou o esquema dos dados como grafos dirigidos.
Introdução ao Neo4j Dijkstra Lei do menor caminho ou caminho com menor peso.
Introdução ao Neo4j Graph Databases Porém, por meio dos relacionamentos inerentes aos grafos, estas consultas tornam-se mais simples e diretas.
Introdução ao Neo4j Neo4j é feito do que? Nós, Labels , Relacionamentos e Propriedades Nós são os registros Labels são conjunto agrupado de nós Relacionamentos são as conexões entre os nós Propriedades são definições de um nós ( Direção, Agrupamento etc )
Instalação e Configuração Plataformas suportadas Windows Linux/Unix Mac OSX Versões Community Edition Enterprise Edition
Introdução à Cypher Query Conceitos Cypher é uma linguagem declarativa, de inspiração SQL para descrever padrões em gráficos utilizando uma sintaxe ascii -art. Ela nos permite selecionar, inserir, atualizar ou excluir dados do gráfico sem a necessidade de descrever exatamente como fazê-lo.
Introdução à Cypher Query Conceitos MATCH ( p:pessoa { idade : 25}) RETURN p MATCH é o nosso comando de seleção p:pessoa é o nosso conjunto de dados {idade:25} é o nosso where return p é quais registros eu quero que retorne
Introdução à Cypher Query Conceitos MATCH ( p:pessoa { idade : 25}) RETURN p SELECT * FROM Pessoa WHERE idade = 25 MATCH ( p:pessoa { name:’Anakin ’})-[: visitou ]->(p) RETURN p SELECT p.* FROM Planetas p INNER JOIN VisitouPlaneta v ON p.id = v.planeta_id INNER JOIN Pessoa pe ON v.pessoa_id = pe.id WHERE pe.nome = 'Anakin'
Linguagens de programação Neo4j se integra nativamente com: Java C# Python Ruby Javascript PHP Exemplo com c# : github.com/ Readify /Neo4jClient/ wiki / cypher-examples
Linguagens de programação Imagine a seguinte classe em c#: public class User { public long Id { get; set; } public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } }
Linguagens de programação Retornar todos usuários Cypher : MATCH ( user:User ) RETURN user C #: graphClient.Cypher .Match("( user:User )") . Return ( user => user.As < User >()) . Results
Linguagens de programação Retornar usuário específico Cypher : MATCH ( user:User ) WHERE user.Id = 1234 RETURN user C#: graphClient.Cypher .Match("( user:User )") . Where (( User user ) => user.Id == 1234) . Return ( user => user.As < User >()) . Results
Aplicações e Usos Fraud Detection Real-time recommendations Social network Identity and access management Network ant IT operations
Hora do Demo
Hora do Demo Match Limit Insert Shortestpath Execution Plan WebAdmin Features “Escondidas”