TypedTree提供了一个树结构,允许分别向节点和关系添加类型信息。

typed-tree的Python项目详细描述


Contextualise,我目前正在开发的一个知识管理应用程序,允许用户可视化 感兴趣的主题(即nodes)以及这些主题之间的关系(即对其他节点的引用) 网络图可视化。为此,TypedTree不仅使可视化变得简单 实际的(网络)图形本身,也增强了与每个类型相关的信息的可视化 节点和对其他节点的引用。在

TypedTree基于mine的早期实现:Python tree implementation。在

安装

TypedTree正式支持Python3.6–3.7。要安装TypedTree,只需:

$ pip install typed-tree

安装开发版本

如果系统上安装了Git,则可以安装开发版本 属于TypedTree。在

在安装开发版本之前,您可能需要使用卸载TypedTree的标准版本 pip

^{pr2}$

然后做:

$ git clone https://github.com/brettkromkamp/typed-tree
$ cd typed-tree
$ pip install -e .

pip install -e .命令允许您通过在 正确放置并将命令行脚本安装到适当的位置。在

然后,如果要随时更新TypedTree,请在同一目录中执行以下操作:

$ git pull

示例

fromtypedtree.traversalconstantimportTraversalConstantfromtypedtree.treeimportTreetree=Tree()# A node without a parent pointer is by definition the root nodetree.add_node('Elon Musk',node_type='person')tree.add_node('Lyndon Rive',parent_pointer='Elon Musk',node_type='person',edge_type='family')tree.add_node('SpaceX',parent_pointer='Elon Musk',node_type='company',edge_type='founder')tree.add_node('Tesla',parent_pointer='Elon Musk',node_type='company',edge_type='founder')tree.add_node('Solar City',parent_pointer='Lyndon Rive',node_type='company',edge_type='co-founder')tree.add_node('Solar Energy Services',parent_pointer='Solar City',node_type='product',edge_type='service')tree.add_node('Falcon 9',parent_pointer='SpaceX',node_type='rocket',edge_type='technology')tree.add_node('Falcon Heavy',parent_pointer='SpaceX',node_type='rocket',edge_type='technology')tree.add_node('Dragon',parent_pointer='SpaceX',node_type='space-ship',edge_type='technology')tree.add_node('Model S',parent_pointer='Tesla',node_type='car',edge_type='product')tree.add_node('Model X',parent_pointer='Tesla',node_type='car',edge_type='product')tree.add_node('Model Y',parent_pointer='Tesla',node_type='car',edge_type='product')tree.add_node('Roadster',parent_pointer='Tesla',node_type='car',edge_type='product')print('\n***** TREE STRUCTURE *****')tree.display('Elon Musk')print('\n***** DEPTH-FIRST ITERATION *****')foridentifierintree.traverse('Elon Musk'):node=tree[identifier]print(f"{node.identifier} [{node.typeor'*Undefined*'}]")print('\n***** BREADTH-FIRST ITERATION *****')foridentifierintree.traverse('Elon Musk',mode=TraversalConstant.BREADTH):node=tree[identifier]print(f"{node.identifier} [{node.typeor'*Undefined*'}]")

Output

***** TREE STRUCTURE *****
Elon Musk [person] - (*Undefined*)
     Lyndon Rive [person] - (family)
         Solar City [company] - (co-founder)
             Solar Energy Services [product] - (service)
     SpaceX [company] - (founder)
         Falcon 9 [rocket] - (technology)
         Falcon Heavy [rocket] - (technology)
         Dragon [space-ship] - (technology)
     Tesla [company] - (founder)
         Model S [car] - (product)
         Model X [car] - (product)
         Model Y [car] - (product)
         Roadster [car] - (product)

***** DEPTH-FIRST ITERATION *****
Elon Musk [person]
Lyndon Rive [person]
Solar City [company]
Solar Energy Services [product]
SpaceX [company]
Falcon 9 [rocket]
Falcon Heavy [rocket]
Dragon [space-ship]
Tesla [company]
Model S [car]
Model X [car]
Model Y [car]
Roadster [car]

***** BREADTH-FIRST ITERATION *****
Elon Musk [person]
Lyndon Rive [person]
SpaceX [company]
Tesla [company]
Solar City [company]
Falcon 9 [rocket]
Falcon Heavy [rocket]
Dragon [space-ship]
Model S [car]
Model X [car]
Model Y [car]
Roadster [car]
Solar Energy Services [product]

文件

待定。在

如何作出贡献

  1. 检查是否有未解决的问题,或者打开一个新的问题,围绕某个特性想法或bug展开讨论。在
  2. 在GitHub上分叉the repository,开始对master分支(或其分支)进行更改。在
  3. 编写一个测试,测试该错误是否已修复,或者该功能是否按预期工作。在
  4. 发送一个pull请求并对维护者进行bug,直到它被合并和发布。:)确保将自己添加到AUTHORS。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java不兼容类型:MainActivity无法转换为LifecycleOwner   java安卓是一种更有效的读取大文本文件的方法   java导出LWJGL本地人与项目?(IntelliJ IDEA)   JDK更新后,JavaJShell不再在下一行打印输出   父类对象上的继承Java比较子属性   Java:有没有一个容器可以有效地结合HashMap和ArrayList?   安卓 Java对象指针   java在annotationdriven Spring MVC应用程序中实现大气   java 安卓源代码构建应用找不到安卓supportv4。罐子   文件系统上的抽象层和Java中的jar/zip   java在水平滚动视图中添加多个图像?   java如何从firebase实时数据库中获取字符串数组   WIndows 10工作站上的java未满足链接错误   java命令在终端中工作,但在使用过程中出现“无结束引号”错误。执行官