- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很难理解 expand 何时会在 OrientDB 中起作用。我对应用于 RID 的扩展的理解是它返回文档(及其所有字段)http://orientdb.com/docs/2.1/SQL-Functions.html#expand
我有时无法将扩展应用于 RID。
我将在此处创建一些示例数据并提供我的问题示例。示例数据是由“NEXT”边连接起来的 Person 节点。
create database plocal:people
create class Person extends V
create property Person.name string
create property Person.age float
create property Person.ident integer
insert into Person(name,age,ident) VALUES ("Bob", 30.5, 1)
insert into Person(name,age,ident) VALUES ("Bob", 30.5, 2)
insert into Person(name,age,ident) VALUES ("Carol", 20.3, 3)
insert into Person(name,age,ident) VALUES ("Carol", 19, 4)
insert into Person(name,age,ident) VALUES ("Laura", 75, 5)
insert into Person(name,age,ident) VALUES ("Laura", 60.5, 6)
insert into Person(name,age,ident) VALUES ("Laura", 46, 7)
insert into Person(name,age,ident) VALUES ("Mike", 16.3, 8)
insert into Person(name,age,ident) VALUES ("David", 86, 9)
insert into Person(name,age,ident) VALUES ("Alice", 5, 10)
insert into Person(name,age,ident) VALUES ("Nigel", 69, 11)
insert into Person(name,age,ident) VALUES ("Carol", 60, 12)
insert into Person(name,age,ident) VALUES ("Mike", 16.3, 13)
insert into Person(name,age,ident) VALUES ("Alice", 5, 14)
insert into Person(name,age,ident) VALUES ("Mike", 16.3, 15)
create class NEXT extends E
create edge NEXT from (select from Person where ident = 1) to (select from Person where ident = 3)
create edge NEXT from (select from Person where ident = 2) to (select from Person where ident = 4)
create edge NEXT from (select from Person where ident = 8) to (select from Person where ident = 12)
create edge NEXT from (select from Person where ident = 5) to (select from Person where ident = 15)
create edge NEXT from (select from Person where ident = 15) to (select from Person where ident = 14)
create edge NEXT from (select from Person where ident = 7) to (select from Person where ident = 13)
create edge NEXT from (select from Person where ident = 13) to (select from Person where ident = 10)
此代码片段查找从标识为 5 的节点开始的遍历,直到遇到 Alice。它返回包含两个 RID 集合的一行:Laura 的 RID(身份 5)和 Mike 的 RID(身份 15),因为 Mike 后面跟着一个 Alice。
select $a
let $a = (traverse out('NEXT') from (select from Person where ident = 5) while name <> 'Alice')
如果我对 $a
应用扩展,我会得到一个包含两行的结果表,其中包含这两条记录的详细信息。我不知道这是由于集合上的 expand
(即将被弃用,取而代之的是 unwind
?),还是 RID 上的 expand
或两者兼而有之。
select expand($a)
let $a = (traverse out('NEXT') from (select from Person where ident = 5) while name <> 'Alice')
如果我展开 $a
,我会得到一个包含两行的结果表,其中包含这两条记录的 RID。 (这对我来说很有意义)
select $a
let $a = (traverse out('NEXT') from (select from Person where ident = 5) while name <> 'Alice')
unwind $a
如果我从 3 展开
unwind
,我得到与 2 相同的结果,这确实表明 2 展开并展开了 People 节点
select expand($a)
let $a = (traverse out('NEXT') from (select from Person where ident = 5) while name <> 'Alice')
unwind $a
我可以在 1 返回的 RID 集合中选择最后一个 RID。这会给我一个包含 1 行的表,其中包含在 Alice 之前的最后一个 Person 的 RID。
select last($a)
let $a = (traverse out('NEXT') from (select from Person where ident = 5) while name <> 'Alice')
如果我展开该结果,我得到 0 行。这真的不是我所期望的——我希望得到一行,其中包含第 5 部分中返回的记录详细信息的扩展记录详细信息
select expand(last($a))
let $a = (traverse out('NEXT') from (select from Person where ident = 5) while name <> 'Alice')
谁能解释为什么第 6 部分中的扩展没有扩展 last($a)
返回的 RID?
此外,如果有人确切地知道第 2 部分中发生了什么——是否同时应用了两个扩展定义——那将会有所帮助。
编辑
奇怪的是,这个代码片段似乎做了我想让第 6 点做的事情,但我不知道为什么。认为它可能会触发某人对正在发生的事情的内存(我的问题的重点是理解为什么有些事情有效而有些事情无效,而不是获得在这种特殊情况下有效的任何查询,所以不幸的是找到了这个工作片段不要关闭这个问题。)
select expand(last($a))
from (select from Person where ident = 5)
let $a = (traverse out('NEXT') from $current while name <> 'Alice')
最佳答案
1) Traverse 返回它访问的所有符合 while 子句的记录。在本例中,只有 2 条记录。
2) Expand 获取“集合”中的所有 rids 并返回这些记录,实际上处理包含该集合的查询。实际上,我只是刚刚发现他们不赞成使用 expand for unwind,我不确定为什么,因为它们似乎有两种不同的用途。 Unwind 更像是 RDBMS 中的 JOIN。
3) 您已经将结果展开为空,所以看起来您每行只得到 $a“单元格”,但实际上您什么也得不到,$a。也许这将使放松的目的更加明确,select *, $a from (select from Person limit 1) let $a = (traverse out('NEXT') from (select from Person where ident = 5) while name <> 'Alice') unwind $a
4) 扩展时,您替换了原始查询,因此您最终得到的只是扩展字段中的记录。
5) 是的。
6) 我认为您发现了一个错误。 first()
和 last()
必须返回文本或其他内容,而不是指针。以下复制 expand(first($a))
并且有效,因此我认为是一个错误; select expand($a[0]) let $a = (traverse out('NEXT') from (select from Person where ident = 5) while name <> 'Alice')
关于orientdb - 在 orientdb 中对 RID 和集合使用 expand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33364697/
我有一个简单的 Card 组件,是从material-ui 的网站复制的。 我正在尝试在我的代码中实现它。当我单击 CardHeader 时,它不会展开。 这是我的组件: import React,
我已经使用延迟加载实现了一棵树。第一级节点是在树创建时创建的,其中只有当用户展开任何特定节点时才会创建子节点。 数据来自数据库,我们向数据库发出查询以填充子节点。实现了 TreeExpansionLi
假设我有 3 个向量(仅作为示例)。现在我想获取这 3 个所有可能组合的随机样本。通常,我会这样做: x <- 1:3 y <- 10:12 z <- 15:18 N <- length(x) * l
如果我使用 dabbrev-expand为了扩展,Emacs 搜索当前缓冲区,然后搜索其他具有相同模式的缓冲区。这是由 dabbrev-friend-buffer-function 处理的默认设置为
我想像这样切片主窗口 我的布局代码如下: QGridLayout *gLayout = new QGridLayout (); viewWidget->setStyleSheet("backgroun
我在 Android Studio Canary 1 上尝试 Jetpack Compose 并添加了 Column可组合到 ui。 Column有一个名为 modifier 的属性我们可以在其中传递
我正在努力让我们的 Accordion 可以使用 aria-expanded 等 aria 标签来访问。当单击 Accordion 触发器标题或按下键盘上的“返回”按钮时,我正确地更改了 aria-e
根据 http://doc.qt.io/qt-5/qsizepolicy.html#Policy-enum ,设置小部件的大小策略具有以下效果: The sizeHint() is a sensibl
我将使用Live Actitions显示实时数据,并在一个应用程序中添加对Dynamic Island的支持,该应用程序具有现有的小部件扩展。然而,我也不能把它造出来。当我收到错误信息时。和。即使我提
我有一个设置,如下所示: //With dynamic content here. 我正在运行一个脚本,该脚本将 #nav 的大小调整为浏览器窗口的高度大小。但有时我的
我正在使用jquery checkboxtree plugin它效果很好,并且上面的链接中有很好的文档和示例。我现在遇到一种情况,我想以编程方式检查节点。使用以下语法支持此操作: $('#tabs-
我正在尝试以下实验: 我有两个QpushButtons,比如PushA 和PushB。现在 PushA 在 QHBoxLayout 中,PushB 也在它自己的 QHBoxLayout 中。这两个水平
我目前有一个 OData V4 服务,它具有以下模型。 “类别”——“代码” 对于每个类别,可以有许多代码。 我需要 $expand the Codes, $filter where Active =
我的目的是创建一个带有 QVBoxLayout 的可滚动控件,上面有各种控件(比如按钮)。该控件放在 *.ui 窗体上。在该控件的构造函数中,我编写了以下代码: MyScrollArea::M
你们如何解决以下 Flutter 布局? 我有一个屏幕,我必须在其中显示,如图所示:一个 Logo + 3 个 TextFormFields + 2 个按钮 + 一个容器。 问题: 我需要将所有小部件
我使用最新版本的 mvvm light 工具包,但是我不清楚如何将 EventToCommand 用于事件 TreeViewItem.Expanded。 这很有效......我做错了什么?
我是 LINQ 的新手。 我有以下查询,我不知道它代表什么。 var query = (from p in data.First
这里有一个小问题。我有一个表,当我想单击运行时,该表应该展开,而且同一行中有一个展开按钮,它也应该展开一个 div。 问题:当我单击该行时,一切正常,div 将滑入。当我单击按钮(位于表行中)时,会产
图片:
我的应用程序中有 Expander 设置 FlowDirection 正常工作,但标题文本显示在水平方向。我想显示标题文本垂直绘制。 最佳答案 使用 sl 工具包中的 LayoutTransforme
我是一名优秀的程序员,十分优秀!