问题标签 [sql-graph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1820 浏览

sql-server - 如何防止在 SQL 中插入循环引用

我有下表:

此表中的行表示节点之间的链接。

我想防止对该表的插入或更新在节点之间创建循环关系。

因此,如果表包含:

它不应包含以下任何内容:

如果它使解决方案更简单,我很乐意单独处理 (1,1)(例如使用 CHECK CONSTRAINT)。

我正在考虑使用递归 CTE 创建一个 AFTER INSERT 触发器(尽管可能有更简单的方法)。

假设这是要走的路,触发器定义是什么?如果有更优雅的方式,它是什么?

0 投票
2 回答
4011 浏览

c# - 实体框架查询到 SQL Server 2017 图形数据库的语法

假设我正在使用此示例中的图形数据库(SQL Server 2017):

https://docs.microsoft.com/en-us/sql/relational-databases/graphs/sql-graph-sample

我有以下 SQL 查询:

我使用 EF 6.1.3 在 C# 中创建了一个模型,它自动生成数据库中的所有类和所有内容(数据库中的 EF 设计器)。这一切都很好。我什至可以使用以下简单方法查询所有人:

现在,如果我们回到最初的查询,我想在哪里找到 John 喜欢的餐馆……我将如何在 Entity Framework 中执行此操作?我需要使用 LINQ 查询还是可以只调用实体?(大概我不能,因为表格之间似乎没有任何物理关系,只能通过在边缘找到它们)

我在想类似的东西

但是这个语法不正确......我该如何做这个查询?

0 投票
0 回答
177 浏览

sql-server - SQL Server GRAPH:匹配查询 - 未声明所有类型 [不可能]

我正在为我的实习研究 SQL Server Graph vs Neo4J。

  • 在 Neo4J 中,我不必在 ( Cypher) MATCH 查询中声明所有类型
  • 在 SQL Server 中,似乎我必须这样做

例子:

SQL 服务器:

我想将 Person / Likes / Restaurant 更改为未预定义的类型

就像在 Neo4J 中一样:

我知道这两个查询没有可比性,但我想指出我想在 SQL Server中使用“ r(elation) ”和“ m ”。

它看起来很接近这个 SO:Syntax to query for optional relationships in Microsoft SQL Server 2017 Graph Database? 但我希望我可以在没有加入的情况下做到这一点。

编辑:已关闭:Microsoft 不支持此功能

0 投票
2 回答
3983 浏览

azure - Cosmos db 图与 Azure Sql Server - 性能和成本

想象一个社交网络应用程序。用户关注其他用户,用户拍照。照片有其他用户的标签。

我正在尝试为该应用程序获取图形的有效 Cosmos db 实现。我提供了一个 SQL Server 版本以及一个基准。

这是图表: 在此处输入图像描述

这是它的表格版本:

在此处输入图像描述

这是 Gremlin 查询:

这是等效的 SQL 查询(实际上是 linq):

该用户关注了 136 个用户,他们总共拍摄了 257 张照片。

SQL Server 和 Cosmos db 都位于西欧 Azure 位置。我在法国。我在 Linpad 上做了一些测试。

  • Gremlin Query 运行时间超过 1.20 秒,消耗大约 330 RU。仅供参考,400RU/s 的费用为 20 美元/月。
  • SQL 查询在 70 毫秒内运行。db 为 10 DTU(S0 的 1 个实例)。所以它的成本是 12.65eur / 月

如何使用 cosmos db 更快、更便宜地获取 feed?

注意:为了收取 RU 费用,我使用的是Microsoft.Azure.Graph. 但我也可以使用Gremlin.Net并获得类似的结果。

0 投票
0 回答
436 浏览

sql-server - 在 Sql-server 2017 中创建节点表时出错

我刚刚安装了 Sql Server 2017,它是用于练习图形数据库的管理工作室,但我在创建节点表时遇到问题。创建节点表时出现错误,我看不到与图表相关的任何内容:

错误 :

0 投票
1 回答
387 浏览

sql - 当 Where 子句不匹配时如何从 SQL Server 图表中进行选择

我在 SQL Server 中使用 Graph Table 。

这是我的桌子:

如何选择 User2 的所有 User1 朋友,而 User2 是 User3 的朋友,而 User1 和 User3 之间没有直接Edge关系。

我可以这样写这个查询:

但我想以其他方式理解?

我想使用这样的代码:

请帮我解决这个问题。

0 投票
1 回答
601 浏览

sql-server - 从 EF 查询 SQL Server 2017 图形表

我想使用 EF 6 中的图形数据表功能,但经过大量研究,似乎还不支持。存储过程是目前使用 EF 图表的唯一方法吗?

0 投票
1 回答
171 浏览

sql-server - 分区图表 - 分区切换失败

我正在尝试分区到现有的 SQL Server Graph 表(节点)。该表非常大,删除等需要很长时间,因此希望使用分区来提高性能。

但是,当我添加分区并尝试切换数据时。它失败并出现以下错误:

消息 7733,级别 16,状态 4,第 1 行“ALTER TABLE SWITCH”语句失败。表 tempdatabase.dbo.graphtable 已分区,而索引“GRAPH_UNIQUE_INDEX_xxxxxxxxx”未分区。

由于索引 GRAPH_UNIQUE_INDEX_xxxxxxxxx 是自动创建的,所以无法添加分区键。

0 投票
1 回答
107 浏览

c# - 使用 SQL Server Graph 2017 获取两个节点之间的所有路径

我发现了许多在 neo4j 和 gremlin 中的 2 个节点之间获取路径的示例,但在 SQL Server Graph 2017 上找不到任何示例。虽然它使用 Cypher 的 Match,但我在想是否可以仅使用 Match 找到路径?

提前致谢!

0 投票
0 回答
146 浏览

sql-server - 使用 SQL Server 2017 在图形中存储路线和位置

我是 Graph 数据库的新手,所以请忽略我的错误。我的场景如下图所示:

在此处输入图像描述

我有不同的位置相互连接,它们之间有一条路线。然后我有许多与路线相关的网点。

我创建了一个这样的 RDBMS 模式:

在此处输入图像描述

我的数据如下所示:

城市 联系城市 路线 奥特莱斯

我的目标是在两个查询的位置之间提供可能的路线和出口。

最近听说 SQL Server 2017 支持 Graph 数据库,看了这篇文章,但是连接不上我目前的问题。

请帮我在 SQL Server 2017 中创建图形和节点表。

谢谢!

更新

现在我创建一个数据模型:

数据模型

以及一些节点和边缘表如下:

现在我被困在BetweenEdge Table 上,其中包含两个城市之间的路线。