Integration of dialogflow with personal knowledge graph using neo4j - 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

Related

How would I know which one to use Gremlin and Tinkerpop

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.

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.

Neo4j with Ruby On Rails

I created a ruby on rails web app which I deployed on heroku, by following this guide
http://ruby.railstutorial.org/ruby-on-rails-tutorial-book
The app is very similar to this tutorial in that a user can create an account, log in, create an object with some information which is belongs to that user. These objects I created are meant to represent nodes which I would like to be able to create relationships between.
I have been reading up on Neo4j and it seems like the best fit for ruby but then I read that it only really works with JRuby. Could anyone tell me would it work with my implementation and if so , how? or if it dosent, what should I use instead?
JRuby allows Ruby to access Neo4j directly through the Java API. It is the fastest implementation possible. However, Neo4j also provides a REST API that allows any language to access it over HTTP.
I seems like your answer may be here: Which Ruby REST API client for neo4j?
This is again using the Neography gem, but this blog maxdemarzi has got some really nice posts on integrating ruby with neo4j.
Here's a link: http://maxdemarzi.com/2012/01/04/getting-started-with-ruby-and-neo4j/
But as mentioned by others, I don't think you'd get anything that can talk directly to the Java API other than JRuby.

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