云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站空间_服务器开放端口_优惠

小七 141 0

市场上有许多数据库,但大多数都分为三种数据模型:关系型、文档型和图形型。数据模型和用于存储和检索数据的应用程序的特性是选择数据库的因素,我们不比较哪一个更好。很明显,文档模型最适合于数据是自包含文档且文档之间没有多对一或多对多关系的用例。图形模型正好相反,它针对的是数据关系比较复杂的用例,

Neo4j是目前最流行的图形数据库。在这个博客里,我们用它来实现两个功能,如下图所示。

寻找相关产品:像大多数电子商务网站一样,每当用户浏览一个产品时,他都会看到一个相关产品的列表,吸引他购买更多的产品。查找相关产品的逻辑与每个网站不同,在这里我们将查找在任何客户购买的订单中与此产品一起销售的产品。创建销售订单:当用户下订单时,电子商务网站将其发送到后台进行处理,然后销售订单可能会转发到另一个应用程序进行处理。在这种情况下,物联网水表,我们会将销售订单发送到Neo4j数据库进行存储,并执行可预测的任务,如"查找相关产品"。

我们使用Advantco Neo4j适配器连接Neo4j数据库。它支持原生Cypher语句,云的服务器,大数据啥意思,可以直接从数据库中存储和检索数据,还使用neo4japi之上的所有者模式来存储和检索数据。我们将在整个实现过程中探索这两个特性。

我们会找到过去订单中与此产品一起订购的产品,以便向客户推荐。

该接口为电子商务网站提供了一个REST API端点,以便根据查看的产品查找相关产品。这里我们不详细介绍REST通道配置,但稍后将表示请求主体。

此接口使用Advantco Neo4j适配器的本机Cypher语句特性,因此不需要任何消息映射。我们只需要一个Cypher查询语句来获取所需的数据。REST API的使用者将发出Cypher查询作为请求负载,适配器将其发送到Neo4j数据库并将结果回复给使用者。

使用Neoj4数据库的简单通道配置

通道配置中没有存储或检索等具体操作,只有连接信息。注意,我们使用的是"Native Neo4j Cypher Statement"消息协议,因此从使用者发送的Cypher查询将被包装到相应的Neo4j API,适配器负责这一步。

基本的认证方法还有其他的认证方法,如Kerberos、LDAP、,和自定义。

我们可以使用任何REST适配器或HTTP适配器,使用下面的HTTP POST方法公开端点API。

使用Cypher查询获取相关产品。我们可以使用任意函数,只要它返回基于数据模型的预期结果。在本例中,我们在应用程序上查看一个ID为4的产品,应用程序将查找与ID为4的产品相关的产品。

使用CURL的公开API的示例。它模拟的消费者是电子商务网站。我们刚刚通过Cypher查询作为请求主体。

红色是下订单的客户,橙色是订单,蓝色是客户订购的产品。

我们不关注电子商务网站如何将订单发送到后台,大数据入门,但是我们将经历后台将销售订单发送到Neo4j数据库的实现

以前的查找相关产品的接口我们没有使用原生Cypher查询的消息映射,我们可以看到用这种方式实现接口的速度有多快。但是在这个接口中,我们从一个IDOC创建了一个销售订单,所以我们需要将一个IDOC结构转换成一个Neo4j数据库可以接受的结构,这就是我们在Neo4j API之上使用Advantco模式的地方。我们将使用Advantco工作台生成映射所需的模式。

客户、订单、产品是节点。采购订单是边,表示谁下的订单以及订单中产品的详细信息

基于数据模型,我们将创建一个新的订单节点和采购订单的两个边(数据关系)

Advantco Workbench

IDOC到模式的样本映射

映射后的负载看起来像

通道除了Neo4j的消息协议之外,配置与之前没有太大的不同。负载本身告诉我们在哪些节点和边上做什么(创建/更新/删除/查询),智能物联网,不需要在通道配置上指定其他内容,除非我们想自定义不同的设置。

请注意,我们在这里使用的是XML负载,但是适配器还支持其他负载类型,如CSV和JSON。

通过Advantco适配器,可以快速轻松地满足SAP平台上与Neo4j数据库集成的要求。

从集成角度来看,知道Cypher语句是很好的选择,可以使用本机Cypher,也可以使用Advantco模式通过适配器操作数据。

Cypher语句https://neo4j.com/docs/cypher-manual/current/introduction/

免费在线Neo4j沙盒玩图形数据库https://neo4j.com/sandbox/

Advantco Neo4j适配器https://advantco.com/product/adapter/neo4j