舉報

會員
Learning Neo4j 3.x(Second Edition)
最新章節(jié):
More proverbs
Thisbookisfordeveloperswhowantanalternativewaytostoreandprocessdatawithintheirapplications.Nopreviousgraphdatabaseexperienceisrequired;however,somebasicdatabaseknowledgewillhelpyouunderstandtheconceptsmoreeasily.
目錄(308章)
倒序
- coverpage
- Title Page
- Second Edition
- Copyright
- Learning Neo4j 3.x
- Second Edition
- Credits
- About the Authors
- Acknowledgement
- About the Reviewers
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Errata
- Piracy
- Questions
- Graph Theory and Databases
- Introducing Neo4j 3.x and a history of graphs
- Definition and usage of the graph theory
- Social studies
- Biological studies
- Computer science
- Flow problems
- Route problems
- Web search
- Background
- Navigational databases
- Relational databases
- NoSQL databases
- Key-value stores
- Column-family stores
- Document stores
- Graph databases
- The Property Graph model of graph databases
- Node labels
- Relationship types
- Why use graph databases or not
- Why use a graph database?
- Complex queries
- In-the-clickstream queries on live data
- Pathfinding queries
- When not to use a graph database and what to use instead
- Large set-oriented queries
- Graph global operations
- Simple aggregate-oriented queries
- Test questions
- Summary
- Getting Started with Neo4j
- Key concepts and characteristics of Neo4j
- Built for graphs from the ground up
- Transactional ACID-compliant database
- Made for online transaction processing
- Designed for scalability
- A declarative query language - Cypher
- Sweet spot use cases of Neo4j
- Complex join-intensive queries
- Pathfinding queries
- Committed to open source
- The features
- The support
- The license conditions
- Installing Neo4j
- Installing Neo4j on Windows
- Installing Neo4j on Mac or Linux
- Using Neo4j in a cloud environment
- Sandbox
- Using Neo4j in a Docker container
- Installing Docker
- Preparing the filesystem
- Running Neo4j in a Docker container
- Test questions
- Summary
- Modeling Data for Neo4j
- The four fundamental data constructs
- How to start modeling for graph databases
- What we know – ER diagrams and relational schemas
- Introducing complexity through join tables
- A graph model – a simple high-fidelity model of reality
- Graph modeling – best practices and pitfalls
- Graph modeling best practices
- Designing for query-ability
- Aligning relationships with use cases
- Looking for n-ary relationships
- Granulate nodes
- Using in-graph indexes when appropriate
- Graph database modeling pitfalls
- Using rich properties
- Node representing multiple concepts
- Unconnected graphs
- The dense node pattern
- Test questions
- Summary
- Getting Started with Cypher
- Writing the Cypher syntax
- Key attributes of Cypher
- Being crude with the data
- Create data
- Read data
- Update data
- Delete data
- Key operative words in Cypher
- Syntax norms
- More that you need to know
- With a little help from my friends
- The Cypher refcard
- The openCypher project
- Summary
- Awesome Procedures on Cypher - APOC
- Installing APOC
- On a hardware server
- On a Docker container
- Verifying APOC installation
- Functions and procedures
- My preferred usages
- A little help from a friend
- Graph overview
- Several key usages
- Setup
- Random graph generators
- PageRank
- Timeboxed execution of Cypher statements
- Linking of a collection of nodes
- There's more in APOC
- Test questions
- Summary
- Extending Cypher
- Building an extension project
- Creating a function
- Creating a procedure
- Custom aggregators
- Unmanaged extensions
- HTTP and JAX-RS refreshers
- Registering
- Accessing
- Streaming JSON responses
- Summary
- Query Performance Tuning
- Explain and profile instructions
- A query plan
- Operators
- Indexes
- Force index usage
- Force label usage
- Rules of thumb
- Explain all the queries
- Rows
- Do not overconsume
- Cartesian or not?
- Simplicity
- Summary
- Importing Data into Neo4j
- LOAD CSV
- Scaling the import
- Importing from a JSON source
- Importing from a JDBC source
- Test setup
- Importing all the systems
- Importing from an XML source
- Summary
- Going Spatial
- What is spatial?
- Refresher
- Not faulty towers
- What is so spatial then?
- Neo4j's spatial features
- APOC spatial features
- Geocoding
- Setting up OSM as provider
- Setting up Google as provider
- Neo4j spatial
- Online demo
- Features
- Importing OpenStreetMap data
- Large OSM Imports
- Easy way
- The tougher way to import data
- Restroom please
- Understanding WKT and BBOX
- Removing all the geo data
- Summary
- Security
- Authentication and authorization
- Roles
- Other roles
- Users management
- Linking Neo4j to an LDAP directory
- Starting the directory
- Configuring Neo4j to use LDAP
- Test questions
- Summary
- Visualizations for Neo4j
- The power of graph visualizations
- Why graph visualizations matter!
- Interacting with data visually
- Looking for patterns
- Spot what's important
- The basic principles of graph visualization
- Open source visualization libraries
- D3.js
- GraphViz
- Sigma.js
- Vivagraph.js
- yWorks
- Integrating visualization libraries in your application
- Visualization solutions
- Gephi
- Keylines
- Keylines graph visualization
- Linkurio.us
- Neo4j Browser
- Tom Sawyer Software for graph visualization
- Closing remarks on visualizations - pitfalls and issues
- The fireworks effect
- The loading effect
- Cytoscape example
- Source code
- Questions and answers
- Summary
- Data Refactoring with Neo4j
- Preliminary step
- Simple changes
- Renaming
- Adding data
- Adding data with a default value
- Adding data with specific values
- Checking our values
- Removing data
- Great changes
- Know your model
- Refactoring tools
- Property to label
- Property to node
- Related node to label
- Merging nodes
- Relations
- Consequences
- Summary
- Clustering
- Why set up a cluster?
- Concepts
- Core servers
- Read replica servers
- High throughput
- Data redundancy
- High availability
- Bolt
- Building a cluster
- The core servers
- The read replicas
- The bolt+routing protocol
- Disaster recovery
- Summary
- Use Case Example - Recommendations
- Recommender systems dissected
- Using a graph model for recommendations
- Specific query examples for recommendations
- Recommendations based on product purchases
- Recommendations based on brand loyalty
- Recommendations based on social ties
- Bringing it all together - compound recommendations
- Business variations on recommendations
- Fraud detection systems
- Access control systems
- Social networking systems
- Questions and answers
- Summary
- Use Case Example - Impact Analysis and Simulation
- Impact analysis systems dissected
- Impact analysis in business process management
- Modeling your business as a graph
- Which applications are used in which buildings?
- Which buildings are affected if something happens to Appl_9?
- What business processes with an RTO of 0-2 hours would be affected by a fire at location Loc_100?
- Impact simulation in a cost calculation environment
- Modeling your product hierarchy as a graph
- Working with a product hierarchy graph
- Calculating the price based on a full sweep of the tree
- Calculating the price based on intermediate pricing
- Impact simulation on product hierarchy
- Questions and answers
- Summary
- Tips and Tricks
- Reset password
- Check for other hosts
- Getting the first line of a CSV file
- Enabling SSH on a Raspberry Pi
- Creating guides for the Neo4j browser
- Data backup and restore
- Community version
- Enterprise version
- Tools
- Cypher-shell
- Data integration tools
- Modeling tools
- Arrows
- OmniGraffle
- Community projects
- Online documentation
- Community
- More proverbs 更新時間:2021-07-08 09:38:31
推薦閱讀
- JavaScript:Functional Programming for JavaScript Developers
- MongoDB for Java Developers
- Data Analysis with Stata
- Interactive Applications Using Matplotlib
- PHP+MySQL+Dreamweaver動態(tài)網(wǎng)站開發(fā)實(shí)例教程
- Learning Selenium Testing Tools(Third Edition)
- Statistical Application Development with R and Python(Second Edition)
- Red Hat Enterprise Linux Troubleshooting Guide
- Building Dynamics CRM 2015 Dashboards with Power BI
- 一步一步跟我學(xué)Scratch3.0案例
- Android Sensor Programming By Example
- Flink入門與實(shí)戰(zhàn)
- 分布式系統(tǒng)架構(gòu)與開發(fā):技術(shù)原理與面試題解析
- MySQL從入門到精通
- Learning Gerrit Code Review
- Visual Basic 開發(fā)從入門到精通
- 軟件測試項目實(shí)戰(zhàn)之功能測試篇
- Elasticsearch實(shí)戰(zhàn)(第2版)
- Learning RxJava
- 羅布樂思開發(fā)官方指南:Lua 語言編程
- R語言編程:基于tidyverse
- iOS Application Development with OpenCV 3
- Getting Started with SpriteKit
- OpenCV By Example
- 零基礎(chǔ)玩轉(zhuǎn)Python
- LibGDX Cross:Platform Development Blueprints
- Microsoft Power BI Cookbook
- 面向?qū)ο蟮乃伎歼^程(原書第5版)
- Apache Maven Dependency Management
- Effective Debugging:軟件和系統(tǒng)調(diào)試的66個有效方法