问题标签 [family-tree]

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 回答
57 浏览

neo4j - Neo4j 中节点之间的关系未正确应用

我正在尝试在此 GraphGist上运行代码以使用 Neo4j 中的 Buendia 家谱。

当我创建两个节点并尝试将它们与关系连接时,如下所示:

然后

然后

我明白了:

在此处输入图像描述

为什么这段代码不正确?语法看起来不错,似乎适用于 Gist 的作者。我做错了什么吗?

0 投票
2 回答
562 浏览

neo4j - 在 Neo4j 中,如何减轻家谱中的双向关系?

关于双向关系,我遇到了这堵墙。

假设我正在尝试创建一个代表家谱的图表。这里的问题是:
* Timmy 可以是 Suzie 的兄弟,但
* Suzie 不能是 Timmy 的兄弟。

因此,有必要在两个方向上对此进行建模:

在此处输入图像描述

(当然,从技术上讲,我可以说 SIBLING_TO 并且只留下一个优势......当我试图将祖母与孙子联系起来时,我不确定词汇是什么。)

当一切都说完了,我很确定在这个例子中方向很重要这一事实是没有办法的。

我正在阅读这篇关于 Neo4j 常见错误的博文。作者指出,这种双向性并不是在 Neo4j 中建模数据的最有效方式,应该避免。

我开始同意了。我建立了一个由 2 个系列组成的模拟集:
在此处输入图像描述 我发现我尝试运行的很多查询都非常非常慢。这是因为图表的“所有连接到所有”的性质,至少在每个相应的系列中。

我的问题是:
1)我是否正确地说双向性并不理想?

2)如果是这样,我的家谱示例是否可以以任何其他方式表示......在我的问题可能出现的许多情况下,“最佳实践”是什么?

3) 如果无法以另一种方式表示家谱,在技术上是否仍然可以以某种方式编写查询来解决 1) 的问题?

感谢您阅读本文和您的想法。

0 投票
2 回答
64 浏览

neo4j - 以程序方式开发密码查询

我一直在使用家谱图。

我想回答一个简单的问题:

返回任何家庭

  • 有 3 个或更多阿尔茨海默氏症识别成员
  • 谁死了
  • 他们来自一个左撇子家庭(至少 50%)。

我模拟了两个家庭,一个满足标准,一个不满足(问题末尾的代码)。

较大的家庭满足标准。较小的家庭没有。(旁注:我将定义节点放在每个家庭上,以便于区分它们并在匹配时只返回一个家庭)。

在此处输入图像描述

我想我已经找到了解决方案的某些部分,但我不知道如何以一种有凝聚力的方式将它们粘合在一起。

例如(感谢@Tim Kuehn herehere),我可以找到满足条件的树,即有 3 人患有阿尔茨海默氏症:

我可以算出总共有多少个节点:

我还可以算出有多少人是左撇子:

但到目前为止,我以某种程序方式开发此查询的尝试没有奏效。

我尝试了一些类似的东西:

但这基本上是胡言乱语。我得到一个语法错误,所有的事情。

在其他查询语言中,通常建议逐步进行,可能通过一系列临时表传递结果,直到数据处于正确的形式。我似乎无法弄清楚如何在 CQL 中做类似的事情。也许我不知道如何将结果通过管道传输到集合中?我不知道到底该去哪里。

我创建数据库的代码:

0 投票
2 回答
373 浏览

csv - 在 Neo4j 中读取 csv 时基于 ID 创建和推断关系

我有一个简单的 csv,有 4 行,如下所示:

我正在尝试制作一个家谱,如下所示:

在此处输入图像描述

这里的诀窍是我必须仅基于两件事来创建这些关系:theFatherIDMotherID. 这是可行的。但它需要以某种有条件的方式应用关系。

这是我尝试过的,但没有奏效:

但后来我意识到,即使这确实有效,又有什么意义呢?我必须手动输入每个家庭成员的名字,这会否定加载 csv 的全部意义。如果是这样的话,我还不如在 Sublime 中手动输入所有内容而跳过阅读 csv。

我的一个想法是让任何拥有 NULLFatherID并且MotherID有亲属关系的人成为 SPOUSE,但如果家谱有祖父母,那就行不通了。

一个解决方案似乎真的很棘手——也许首先创建所有节点并创建SIBLING关系。然后遍历 csv 并产生CHILD关系?

有什么方法可以让我通常吞下一个 csv 并创建这个简单的图表?

感谢您阅读本文。

0 投票
1 回答
541 浏览

css - 动态家谱

我想使用从文件中收到的数据生成家谱。我想知道我应该如何开始。我见过各种使用无序列表的人的例子,但问题是婚姻关系没有正确显示。我指的是本教程:http ://thecodeplayer.com/walkthrough/css3-family-tree 。如果可能的话,我想自己做,不使用任何第三方库。

你们有什么想法吗?

0 投票
3 回答
232 浏览

c++ - 为什么将我的打印方法与 std::cout 一起使用会导致错误?

我想用人的名字,母亲的名字,父亲的名字打印家谱,但是当我编译它时,出现以下错误:

basic_ostream<char, std::char_traits<char> >二进制表达式 ( and void)的无效操作数

0 投票
1 回答
260 浏览

javascript - 计算到每个树节点的水平距离

我正在为繁殖老鼠创建谱系树图,但由于后代的数量不同或是动态的,因此无法计算每个树节点所需的水平距离。

我找到了一个用来绘制树的脚本,但它看起来没有任何文档。

我在这部分需要帮助

如果您想弄乱它,这是一个Fiddle ,下面提供了完整的代码。

HTML

CSS

脚本

0 投票
2 回答
2673 浏览

css - 家谱 CSS

有没有办法让子元素跟随其父元素?

问题是如果只有一个孩子并且父母有一个巨大的文本,那么连接器的位置就会变得非常糟糕。我该如何解决?

小提琴演示

0 投票
3 回答
1234 浏览

android - 多个矩形不在画布上绘制

我正在尝试在android中创建一个类似家谱的结构。我正在使用画布为家庭成员的姓名和连接线绘制矩形和线条。

我在链接的帮助下通过以下方法绘制矩形和线条

绘图视图.java

现在我正在尝试在 LinearLayout 中添加多个视图,其方向为水平方向,如下所示:

但是当我这样做时,只有一个视图被添加到画布中,其他视图不可见。我没有在 android 中使用 canvas 的经验,如果有人能指导我解决这个问题,我会很高兴。

0 投票
1 回答
325 浏览

java - 预购遍历树

我似乎在将右节点添加到左节点时遇到问题。我有一个预购中列出的输入文件 (.txt)

这是我的节点类:

假设我的节点已成功创建,我似乎在创建实际树时遇到了问题。

结果将显示一棵树,如下所示: 在此处输入图像描述

这是我的主要方法:

任何帮助将不胜感激。