Top Neo4j Interview Questions & Answers
1) What is Neo4j?
It is one of the most popular open-source free NOSQL Graph DBMS (database management system) developed by Neo4j, Inc. It is written in Java and Scala. The development of Neo4j was started in 2003, it has been publicly available since 2007. The source code and issue tracking of Neo4j is available on GitHub, with support readily available on Stack Overflow and the Neo4j Google group.
2) In which language Neo4J is written?
Neo4J is written in Java and Scala.
3) What are the indexing capabilities of Neo4J?
Neo4j as a graph database features indexing as the preferred way to find start points for graph traversals. Over the years multiple different indexing approaches have been added. The goal of this article is to give an overview on this to avoid confusion esp. for those who just recently got started with Neo4j.
A graph database using a property graph model stores its data in nodes, relationships, and properties. In Neo4j 2.0 this model was amended with labels.
Neo4J supports no indexes in the beginning later it started support for manual, automatic, and schema indexes
4) List some popular Graph Databases?
Neo4j, AllegroGraph, Oracle Spatial and Graph, Teradata Aster, ArangoDB, Graphbase, ThingSpan, Bitsy, HyperGraphDB, DEX/Sparksee, Titan, VelocityGraph, InfoGrid, Oracle NoSQL Database, OrientDB, Blazegraph, Weaver, Stardog, Sqrrl Enterprise, GraphDB, MapGraph, IBM System G Native Store, VertexDB, Cayley, Graph Engine, FlockDB, Grapholytic, Dgraph, Apache Giraph, Graph Story and Horton are some popular Graph Databases.
5) Explain for what purpose you can use Neo4j Databases?
Following are some areas where you can use Neo4j Databases:
• For Social Networks where data is highly connected.
• For creating Recommendation system in shopping websites.
• Algorithms used in pathfinding
• Data First Schema
• Schema Evolution
Neo4j as a graph database features indexing as the preferred way to find start points for graph traversals. Over the years multiple different indexing approaches have been added. The goal of this article is to give an overview on this to avoid confusion esp. for those who just recently got started with Neo4j.
A graph database using a property graph model stores its data in nodes, relationships, and properties. In Neo4j 2.0 this model was amended with labels.
Neo4J supports no indexes in the beginning later it started support for manual, automatic, and schema indexes
4) List some popular Graph Databases?
Neo4j, AllegroGraph, Oracle Spatial and Graph, Teradata Aster, ArangoDB, Graphbase, ThingSpan, Bitsy, HyperGraphDB, DEX/Sparksee, Titan, VelocityGraph, InfoGrid, Oracle NoSQL Database, OrientDB, Blazegraph, Weaver, Stardog, Sqrrl Enterprise, GraphDB, MapGraph, IBM System G Native Store, VertexDB, Cayley, Graph Engine, FlockDB, Grapholytic, Dgraph, Apache Giraph, Graph Story and Horton are some popular Graph Databases.
5) Explain for what purpose you can use Neo4j Databases?
Following are some areas where you can use Neo4j Databases:
• For Social Networks where data is highly connected.
• For creating Recommendation system in shopping websites.
• Algorithms used in pathfinding
• Data First Schema
• Schema Evolution
6) List out some features of Neo4j Database?
Following are some features of Neo4j database:
Relationship Materializing is done at creation time, which results in no penalties for complex runtime queries.
Constant time traversals for relationships in the graph both in-depth and in breadth due to the efficient representation of nodes and relationships
Compact storage and memory cache support for graphs results in efficient scale-up and billions of nodes in one database on moderate hardware.
Written on top of the JVM
7) How files are stored in Neo4J?
Files in Neo4j are stored in a persist storage.From Neo4j v3.x+ version all data related files are stored in data/databases/graph.db.
8) List out the difference between Neo4J Graph Database and MySQL Database?
Neo4j is written using Java and Scala language and it is primarily a Graph DBMS and does not support SQL. Whereas MySQL is developed in C and C++ language and it is primarily a database model is Relational DBMS that supports SQL.
9) What is CQL? How can you run CQL commands in Neo4J?
CQL (Cypher Query Language) is a declarative, SQL-inspired language for describing patterns in graphs visually using an ASCII-art syntax. It allows us to state what we want to select, insert, update or delete from our graph data without requiring us to describe exactly how to do it. “$” prompt is used to run CQL commands in Neo4j.
10) Explain what is Object cache in Neo4j. How many types of them are?
Object Cache is used to cache individual nodes and relationships including their properties which is optimized for fast traversal of the graph. There are basically two types of Neo4j Object caches, they are:-
1)Reference Cache
2)HPC (High-performance Cache).
Some time object caches are also called high-level cache.
11) List some features of Neo4J databases?
Neo4J databases come with the below features
• Intuitive, using a graph model for Data representation.
• Reliable with full ACID transactions support.
• Durable and Fast.
• Highly available, when distributed across multiple machines.
• Expressive, powerful, readable using Cypher graph query language.
• Fast with a powerful traversal framework that supports high-speed query execution.
• Embeddable, with few small jar files.
• Simply accessible by convenient Rest interface or object-oriented Java API’s.
12) How can we access Neo4J interface?
You can access the Neo4J interface by clicking in the Desktop screen, then click Manage on your database.
13) How information is stored on Graph in Neo4J Database?
You can store information on Graph in Neo4J Database with the help of given attributes:
• nodestore* Stores node related data from your graph.
• relationship* Stores data related to the relationships created and defined in your graph.
• property* Stores the key/value properties from your database.
• label* Stores index related label data from your graph.
14) For what Neo4J is widely used for?
Neo4J is widely used for:
• Fraud detection
• Real-time recommendation engines
• Master data management (MDM)
• Network and IT operations
• Identity and access management (IAM)
15) Mention how indexing is done in Neo4j?
An index in Neo4j can be created over property on any node that has been given a label with the help of CREATE INDEX ON statement, such that once an index is created, Neo4j will manage it and keep it up to date whenever the database is changed.
16) Which Neo4J clause used for adding or updating properties to an existing relationship?
You can use SET clause to update or add a property to the existing Neo4J relationship.
No comments:
Post a Comment