How would I know which one to use Gremlin and Tinkerpop - neo4j

I would like to implement a graph database in our company and wanted your expert help on this. I have a data model. and want to put it into AWS Neptune, but I don't know if I want Tinkerpop or a property graph. I am a newbie. How do I go about getting this data into neptune? Can someone tell me how to start or basics of getting data loaded?

I'm not quite sure I understand the question. Apache TinkerPop is a graph computing framework that includes the Gremlin query language. It is designed for use with property graphs.
Amazon Neptune supports Apache TinkerPop/Gremlin. Loading data into Amazon Neptune can be done via the supported query languages or via the Neptune bulk load API.

Related

Integration of dialogflow with personal knowledge graph using neo4j

I want to integrate Google DialogFlow chatbot with a personal knowledge graph, that may be stored as a neo4j graph or may be stored in other forms like RDF triplet or maybe using some other databases.
How to do that?
If anyone has any leads regarding this please let me know.
I have not tried it, but I would implement an agent with serverless functions that could call a Neo4j Database. Also, if you want to work with RDF and Neo4j, there is the Neosemantics plugin;
https://neo4j.com/labs/neosemantics/
https://www.youtube.com/playlist?list=PL9Hl4pk2FsvX-5QPvwChB-ni_mFF97rCE

What is the APIs differences in Solr and Aws CloudSearch?

I'm looking into the migration of Solr to AWS CloudSearch before start investigate myself, thought of asking a question to the community.
My current application is in ASP.NET MVC C# and using the SolrNet.dll for Solr Service.
If anybody did the migration then please share your experiences, Is there any changes in the return JSON results, or query parameters or APIs.
Appreciate your helps on this.
Amazon cloudsearch is based on solr, so conceptually they work same way, but amazon has written its own wrapper on top of solr api.
Amazon cloud search has two endpoints, one for search and other for
indexing documents.
Amazon cloudsearch has four different query parsers, if you place
queries using Lucence as query parser, query syntax and
functionality is same.
The only difference I observed functionally is cloudsearch doesn't
support hierarchy in fields data, it only provides with text and
literal datatypes and their arrays for multiple values.

Neo4j Multi-tenancy

What is the best way to achieve multi-tenancy in neo4j?
I have seen Tinkerpop and Spring Data.
I'm have multiple clients and I would like to store client info in its own database to ensure security.
I do not want to use labels or indexes to solve this problem.
You mention that you've "seen TinkerPop" but I couldn't tell if that meant you've seen it, considered it and dismissed it as a solution here, so apologies if that is the case and I'm not answering your question.
I've successfully used PartitionStrategy (formerly PartitionGraph) from TinkerPop to achieve multi-tenancy in Neo4j (and other graph databases).
You can read more about the approach here in this blog post on the subject.
Neo4j does not support multi-tenant deployments at this time. You can run multiple instances on the same server, each one on a different port.
Alternatively, you can use a managed hosting service like GrapheneDB, which provides secure independent instances. Disclaimer: I work at GrapheneDB.

Writing to 2 or more different data layers

looking for a way in rails to allow me to write into 2 different data layers (databases) at the same time. first layer being the most important and should hold the request until finished, others can be processed in the background.
for example if i have a Person model and i create a new one, i want the entry to be save in MongoDB for example but later saves to MySQL, cassandra and so on.
any ideas and links are welcome.
I am not sure about any rails solution but there is one java based ORM that can help you in achieving exactly this.
You can try exploring https://github.com/impetus-opensource/Kundera. You would love it.
Kundera is a JPA 2.0 compliant Object-Datastore Mapping Library for NoSQL Datastores and currently supports Cassandra, HBase, MongoDB and all relational datastores (Kundera internally uses Hibernate for all relational datastores).
In your case you can use your existing objects along with JPA annotations to store them in Cassandra,MongoDB, MySQL etc.
Since this is in java you can build a java based service that you call from your rails app.

Graph Database in ruby?

Are there any graph database in ruby . i have heard of neo4j in Jruby , Are there any pure implementation of graph database in ruby ?
I have been researching this myself. There are a number of interesting graph databases; however, Neo4j and OrientDB are the only ones for which I found any sort of Ruby API.
While not a true Graph Database, FlockDB uses a MySQL backend to mimic graph database constructs.
InfoGrid and HyperGraphDB looked interesting, but sadly, no Ruby API.
I really like OrientDB and you can use it through REST although it would be somewhat minimal.

Resources