我是HTML/CSS开发人员,研究了用于构建"家庭树"的JavaScript解决方案, 需要以有意义的方式展示婚姻(当然来自家庭之外). 本质上,我正在根据D3.js(例如 http://bl.ocks.org/4063570 ,但是我很难找到任何东西表达"婚姻". 以下是我将基于数据的图像: 任何帮助/建议/链接将不胜感激!我只是不知道这是否有可能,但是很想使用D3.j,因为它看起来很精确,而且显然是多才多艺的. 解决方案 有一些选择,但我相信每个选项都需要一些工作.如果在JSON中代表一棵家谱的单一标准,这将有所帮助.我最近注意到Geni.com对此具有非常深入的API.也许对其API进行编码是可重复使用的好主意... - 谱系树 - 谱系树可能足以满足您的需求.您将建立岳母的链接,如果您单击他们的名字,则图将重新绘制,以便您可以看到他们的谱系. - 支架布局树 - 类似于谱系树,但是双向,此括号布局树让您处理"这是我的父母,祖父母,孩子
以下是关于 genealogy 的编程技术问答
我是这个领域的新手,喜欢编写一个管理族谱数据的应用程序.我主要关注的是如何从MySQL中存储和重新删除这些数据.我知道像Oracle一样的DB已针对递归查询进行了优化,但是也许我可以找到一种使用MySQL的替代解决方案,而我不支持"连接". PS.我知道有成千上万的现有开源解决方案,但是请考虑这些数据将是功能的有限部分,我需要保持对完整代码的控制. 我在网络上快速查看并找到了一些有趣的方法,例如基于间隔的算法,非常适合查询,但对更新/删除却不令人满意. 我将了解基于前缀的方法(DEWEY)方法,但是人们可能知道一种有效且经过验证的分享方法? 谢谢 吉尔斯 解决方案 第一个问题,设计数据模式:我将层次保留在父行中.简直就是. 第二个问题,检索上升/后代:正如您所解释的那样,选择的问题随附:选择某些人和所有后代OS上升.要解决这个问题,您应该创建一个新的树表.该表包含对:与所有祖先(和本身)的人组合: people( id, name, id_pa
我的数据库中有一个持有许多家谱树的表. ----------------------------- - id name parent_id ----------------------------- - 1 grandfather NULL - 2 father 1 - 3 uncle 1 - 4 son 2 - 5 brother 2 - 6 cousin's dauther 7 - 7 cousin 8 - 8 auntie 1 问题是,由于边缘情况,我无法显示所有名称: - 当我有一个parent_id的人比父母的parent_id大 (请参阅表弟的讲话) 我使用此查询获取表: $sql = "SELECT p1.id, p1.name,
有哪些标准和策略来处理旧日历形式描述的历史日期? 当代 iso8601 =" https://www.rfc-editor.org/rfc/rfc/rfc33339" rel =" nofollow noreferrer"> rfc3339 和rdf's owl time 本体论.早期的表示,例如 Julian 日历,宗教日历, regnal年(例如,6月13日第三章Charles II )及其量. 我对在不同日历中与当代数据一起在不同日历中解析和存储的解析和存储特别感兴趣.是否有不同日历中涵盖日期的RDF本体论?猫头鹰时间似乎没有覆盖日历. 解决方案 您需要的东西将在某种程度上取决于您所追求的目标.我认为您会以简单的统一格式将日期存储得很好,例如R.D.(Rata Die或Rd)格式在"日历计算,第三届EDN"(由Starblue引用)中.但是,我还认为您应该将原始文本保留为起点是什么的记录,以便可以根据要求验证转换为RD. 例如,如果您回到过去的时间里足够远
我想尝试gem $ gem install closure_tree Fetching: with_advisory_lock-3.0.0.gem (100%) Successfully installed with_advisory_lock-3.0.0 Fetching: closure_tree-6.2.0.gem (100%) Successfully installed closure_tree-6.2.0 2 gems installed 当我尝试最简约的代码失败时,我想是因为我不使用导轨,也不要做迁移,我又假定会创建表tag_hierachies 我的问题是:我可以在没有铁轨的情况下使用这个宝石吗? require 'active_record' require 'closure_tree' ActiveRecord::Base.establish_connection( :adapter => "sqlite3", :database
有哪些标准和策略来处理旧日历形式描述的历史日期? 当代 owl time 本体论.较早的表示,例如 julian 日历,宗教历字,我对在不同日历中与当代数据一起在不同日历中解析和存储的解析和存储特别感兴趣.是否有不同日历中涵盖日期的RDF本体论?猫头鹰时间似乎没有覆盖日历. 解决方案 您需要的东西将在某种程度上取决于您所追求的目标.我认为您会以简单的统一格式将日期存储得很好,例如R.D.(Rata Die或Rd)格式在"日历计算,第三届EDN"(由Starblue引用)中.但是,我还认为您应该将原始文本保留为起点是什么的记录,以便可以根据要求验证转换为RD. 例如,如果您回到过去的时间里足够远,那么在英格兰的新年(至少出于某些目的)不是1月1日,而是3月25日(女士日).例如,在中世纪的早期,您可能会发现,我们目前将计算为1167年2月14日的情况将被当时录制日期的人视为1166年2月14日. 1752年9月(在英国及其殖民地)之间的变化的一个有趣的副作用是,这一年缩
在遗传家谱中,X染色体数据是有用的,与某些祖先相连.这在以下网址很好地说明了: x-dna sastaritance图表 我的neo4j数据库都有每个人的节点,以及与父母联系的关系.每个节点都有财产性别(对于人的性别; m或f).女性有两个X染色体,一个来自父母.男性有一个X染色体,总是来自母亲. 您可以使用Reled来查看祖先继承所涉及的性别: match p=(n:Person{RN:1})-[:father|mother*..20]->m return m.fullname as FullName ,reduce(status ='', q IN nodes(p)| status + q.sex) AS c order by length(p), c 所以,从男性开始(RN:1),C的结果是他的父亲和母亲的MF,MMM为祖父和MFM的外祖父等.这种模式表明,当C包含MM(顺序两个MS),这些MM并不促进起始人的X-chromosom. 我想删除具有M
我正在创建一个交互式家谱创建者,与更简单的版本不同,它是简单的谱系图表/树. 我的要求(基于familyecho.com)为: 多个合作伙伴与您通常看到的1个孩子的简单2个父母. 多个兄弟姐妹 合作伙伴不一定需要孩子 不一定总是有父母的"对",只有一个父亲/母亲 问题我正在遇到的问题是:我正在基于"当前"节点/家庭成员生成偏移,当我与2个父母一起经过第一代时,它重叠了. 重叠的示例以及伴侣不在相同的x轴上绘制: 这是简化的JSFIDDLE 我创建了我的创建,尽管我确实必须解决parent/offset问题除了确保合作伙伴与其他合作伙伴相同的X轴上绘制外,总的来说,此一般重叠. 我该如何解决这一问题和可能的未来重叠冲突?我是否需要某种redraw函数来检测 collisions 并在检测到每个块时调整每个块的偏移?我正在尝试使其无缝,因此进行了有限的重绘. 相对于"上下文"或当前节点计算偏移的示例: var offset = getCu
我目前正在研究一个小型家谱实验,并希望像下面的图片一样实现一个简单的家谱. 到目前为止,最佳的搜索结果仅产生孩子只能具有父节点的示例.但是我需要的是能够在实体(从父亲到母亲)之间建立链接以及节点与其他链接(从孩子到父母的链接)之间的联系. 目前,我没有固定的数据模式. 我已经选择 d3.js 为此,因为它看起来能够完成工作.我只是不知道如何或从哪里开始.关于D3.js的教程仅涵盖标准图表,例如条形图. 我希望有人可以帮助我. 解决方案 我的方法如下: 以您在附件的图中说明的示例: Oldstones的Jenny 也是 aegon V 的孩子它之间的链接. 这是通过将节点设置为 no_parent:true 在节点JSON中完成的 示例: //Here Q will not have a parent { name: "Q", id: 16, no_parent: tr
我正在递归加载马谱数据. 对于一些错误的数据集,我的递归永远不会停止......这是因为数据中存在周期. 如何检测到这些周期以停止重复? 我想在重复期间与所有"访问"马匹保持哈希表. 但这会发现一些误报,因为马可以在树中两次. 不可能发生的是,马出现为父亲或祖父或伟大的祖父. 解决方案 伪代码: void ProcessTree(GenTreeNode currentNode, Stack seen) { if(seen.Contains(currentNode)) return; // Or, do whatever needs to be done when a cycle is detected ProcessHorse(currentNode.Horse); // Or whatever processing you need seen.Push(currentNode); foreac
我想生成这个: 使用此数据结构(ID是随机的,顺便说一句): var tree = [ { "id": 1, "name": "Me", "dob": "1988", "children": [4], "partners" : [2,3], root:true, level: 0, "parents": [5,6] }, { "id": 2, "name": "Mistress 1", "dob": "1987", "children": [4], "partners" : [1], level: 0, "parents": [] }, { "id": 3, "name": "Wife 1", "dob": "1988", "children": [5], "partners" : [1], level: 0, "parents": [] }, { "id": 4, "name": "son 1", "dob": "", "children":
我试图用dot和graphviz绘制一棵家谱. 这就是我目前拥有的: # just graph set-up digraph simpsons { ratio = "auto" mincross = 2.0 # draw some nodes "Abraham" [shape=box, regular=1, color="blue"] ; "Mona" [shape=box, regular=1, color="pink"] ; "Clancy" [shape=box, regular=1, color="blue"] ; "Jackeline" [shape=box, regular=1, color="pink"] ; "Herb" [shape=box, regular=1, color="blue"] ; "Homer" [shape=box, regular=1, color="blue"] ; "Marge" [sh
我希望能够计算出家谱中的两个人之间的家庭关系,鉴于以下数据模式(从我的实际数据模式中简化了,只显示直接适用于此问题的列): individual ---------- id gender child ---------- child_id father_id mother_id 使用这种结构,一个人如何计算两个单独的ID之间的关系(即表弟,大叔叔等). 同样,由于实际上存在两个关系(即A-B可能是侄子,而B-A是叔叔),一个人如何为另一个人(给定的叔叔,并假设我们知道性别,我们如何生成侄子?).这更像是一个琐碎的问题,前者是我真正感兴趣的. 谢谢大家! 解决方案 以下是我的PHP实现,以计算关系.这是基于我在原始问题中概述的数据模式.这仅找到"最接近"的,即两个人之间的最短路径关系,它不能解决复合关系,例如半兄弟姐妹或双堂兄弟. 请注意,诸如get_father和get_gender之类的数据访问功能是用我一直使用的数据库抽象层的样式编写的.理解正在
有谁知道在 .ged 文件中读取的好类 Gedcom 是一种用于存储家谱信息的文件格式. 我的目标是写一些东西,让我可以导入一个 ged 文件并为 graphviz 导出一个 .dot 文件,这样我就可以对家谱进行可视化表示 谢谢你的帮助 解决方案 这是我迄今为止最好的尝试. 它似乎可以满足我的需要,尽管它不能完全证明(我的家谱又相当大,这增加了一些复杂性) 如果您认为我可以做出更优雅的东西,请告诉我 struct INDI { public string ID; public string Name; public string Sex; public string BirthDay; public bool Dead; } struct FAM {
有任何一个人知道任何将像 http://www.genoom.com 家谱一样工作还 或者你们可以给我一些关于他们用来制作这样的树的数据库表结构的想法吗? 以及它们如何显示家庭成员盒和线条? 请尽快让我知道. [编辑] 我已经尝试过这样的表结构: ----------------------------------------------- TREE ----------------------------------------------- ID | PARENTID | PARENT_RELATION | NAME ----------------------------------------------- 1 | 0 | | My Father 2 | 1 | Father | It is me *树(ID int自动增量,parentId int,par
我目前正在做一个小型家谱实验,并想实现一个简单的家谱,如下图所示. 到目前为止,最好的搜索结果只产生了一个子节点只能有一个父节点的例子.但我需要的是能够在实体之间创建链接(从父亲到母亲)以及在节点和其他链接之间创建链接(从孩子到父亲-母亲链接).目前我没有固定的数据架构. 我为此 因为它看起来能够胜任这项工作.我只是不知道如何开始,甚至不知道从哪里开始.关于 d3.js 的教程仅涵盖条形图等标准图表. 我希望有人可以帮助我. 解决方案 我的做法如下: 让我们以您在附图中说明的示例: Jenny Of Oldstones 也是 Aegon V 的孩子,但这个孩子与 Aegon V 的其他孩子之间的区别在于,在这种情况下,我没有画之间的联系. 这是通过在节点 JSON 中将节点设置为 no_parent: true 来完成的示例: //Here Q will not have a parent { name: "Q",