Does Memgraph have a Neo4j-compatible HTTP API? - bolt

A friend of mine has recommended me to write my program using Neo4j HTTP API to connect to Memgraph graphdatabase. I didn't manage to do that. Is this even possible or am I trying to do something that can not be done?

No, Memgraph doesn't support Neo4j HTTP API. You can use the Bolt protocol. I know that it might sound strange, but Memgraph supports versions 1 and 4 of the protocol. Memgraph supports Bolt protocol drivers for following languages:
Python
C/C++
Rust
Node.js
C#
Go
Haskell
Java
JavaScript
PHP
Ruby

Related

Unity doesn't work with neo4j bolt protocol

Now that neo4j has dropped http:// support in favor of bolt://, my Unity projects can’t execute. The message is
Curl error 1: Protocol "bolt" not supported or disabled in libcurl
The question is: how to get Unity to support bolt:// This means it would have to be a C# solution. If it won’t, how to revert to an earlier version of neo4j that still has http:// support.
There’s nothing in the neo4j or Unity developer forums about this.
Either you connect with the Bolt protocol (URI schemes are bolt:// or neo4j:// or variants thereof), in which case you need the official .NET driver for Neo4j, or you connect to the HTTP API in which case libcurl works fine.
But you cannot use libcurl to communicate to a Neo4j instance with the Bolt protocol.

Is there a PipelineDB package for Laravel or Native PHP?

I was asking for PipelineDB if there is a package for laravel or Native PHP, so I can use it in my current project?
PipelineDB actually does not have its own special client libraries but instead maintains compatibility with all PostgreSQL clients. Any client that works with PostgreSQL will seamlessly work with PipelineDB, so you're free to use the PHP/PostgreSQL client of your choice.
Please see the clients section of the PipelineDB docs for more information.

How to send HTTP 2.0 request in play framework(scala)

Backend running under play framework(v. 2.6.5 scala) must communicate with Apple Push Notificaton Service (APNs) . APNs requires using HTTP/2, and so i tried to find any way to implement such communication, but to my surprise i didn`t find any http scala clients, supporting http v 2.0.
Is there any way to realize such communication without going out of the framework?
Thanks!
Play Framework with a version prior to 2.6 does not support HTTP 2.0, but, Play Framework 2.6 is based on Akka-Http and has experimental support for HTTP 2.0. This feature is labeled "experimental" because the API may change in the future, and it has not been thoroughly tested in the wild.
To add support for HTTP/2, add the PlayAkkaHttp2Support plugin. You can do this in an enablePlugins:
lazy val root = (project in file("."))
.enablePlugins(PlayScala, PlayAkkaHttp2Support)
If you consider alternatives take a look at:
Jetty has a capability to use HTTP 2.0
Netty also supports HTTP 2.0
Check this list of known implementations of HTTP 2.0.
In Akka HTTP, which underlies Play! Framework, HTTP/2 support is experimental on the server side and not yet available on the client side, as far as I can tell. Work is in progress and is tracked on Github. Unless you're inclined to write HTTP/2 client support yourself and optionally donate it to the project (which would probably be a very satisfying experience), going outside of the framework is probably going to be a necessity for now, I'm afraid.
If you're in a position to use Java 9 (hey, it's been gold for two days!), you might consider its HTTP/2 client.
Vert.x is originally a Java framework inspired by NodeJS, but in its current incarnation it includes an HTTP/2 client with a Scala API: http://vertx.io/docs/vertx-web-client/scala/ - I've never used it in production so YMMV...
Edit: you might also consider sttp with the OkHttp backend, which supports HTTP/2.

Alternative ways to access Keycloak REST API

We are trying to configure keycloak with the REST API (e.g. adding users, roles etc). We would like to use the REST API but it seems only Java and Javascript is officially supported which I find strange for a REST API. Isn't it possible to use say a Python REST client to access Keycloak ?
Keycloak provides a RESTful API, which pretty much means that you can use it with any programming language you want, not just Java or JavaScript.
And you are correct, the official Keycloak admin is provided in Java. But nothing can stop you from looking at the docs and writing yours.
There are a few open source Python Keycloak clients available:
https://github.com/Peter-Slump/python-keycloak-client
https://bitbucket.org/agriness/python-keycloak

Are there any websocket plugins for nodejs

Are there any websocket plugins for nodejs; I would like to develop some application that uses websockets.
Checkout Socket.IO - it's a widely used and powerful Node module for socket connections.
WebSocket-Node is a pure WebSocket implementation in node.js that supports the latest version of the WebSocket spec (version 8), and is still being actively maintained.
Otherwise Socket.io has broader browser support because it can fall back to things such as Flash Sockets, long lived iframes etc.
Like cmpolis mentioned, Socket.IO is excellent. Just upgraded to 0.8 too.
nowjs also provides a higher-level api if you like more abstraction.
Similar to nowjs, dnode allows you to call remote functions between the client and server and vice versa.
Here is a great SO answer delineating the differences between them.