图形比较和版本控制工具

发布于 2024-08-25 09:03:14 字数 398 浏览 3 评论 0原文

我正在与一个团队合作,该团队编辑表示为单个文件的大型 DAG。目前我们无法让多个用户同时修改 DAG。

是否有一个工具(有点像 Eclipse SVN 插件)可以对文件进行修订控制(管理时间戳/修订戳)来识别传入/传出/冲突的更改(节点/链接插入/删除/修改)并合并更改就像程序员处理源代码文件一样?

系统还应该能够进行依赖管理。例如,当两个节点之一不存在时,不得接受传入链路。也就是说,它不应该通过允许部分更新来“破坏”现有的 DAG。

是否有一个框架可以使用通用的“Node”和“Link”接口来执行此操作?

注意:我知道 Protege 及其插件。他们目前不能满足我的要求。

I am working with a team that edits large DAGs represented as single files. Currently we are unable to work with multiple users concurrently modifying the DAG.

Is there a tool (somewhat like the Eclipse SVN plugin) that can do do revision control on the file (manage timestamps/revision stamps) to identify incoming/outgoing/conflicting changes (Node/Link insertion/deletion/modification) and merge changes just like programmers do with source code files?

The system should be able to do dependency management also. E.g. an incoming Link must not be accepted when one of the two Nodes is absent. That is, it should not "break" the existing DAG by allowing partial updates.

If there is a framework to do this using generic "Node" and "Link" interfaces?

Note: I am aware of Protege and its plugins. They currently do not satisfy my requirements.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

表情可笑 2024-09-01 09:03:19

难道仅仅一个简单的版本树就不能帮助您完成可视化部分吗?依赖关系则是另一回事。

Wouldn't just a simple version tree help you with the visualization part? Dependencies are a different story.

亚希 2024-09-01 09:03:18

您可以使用 Graphviz

您可以简单地将源文件置于版本控制之下,然后使用 Makefile 来构建和更新图表。通过这种方式,您可以使用 SVN、Mercurial、Git 或任何您喜欢的版本控制工具。

源文件的扩展名为 .gv,看起来像这个

检查 Graphviz 补充,看看某些内容是否适合您的需求。他们有很多图形界面,可以完全满足您的需求。

You could use Graphviz.

You could simply put under version control just the source files and then use a Makefile to build and update your graphs. In this way, you could use SVN, Mercurial, Git or anything else you prefer for version control.

The source files have a .gv extension and they look like this.

Check the Graphviz complements to see if something might fit to your needs. They have a lot of graphical interfaces that might do exactly what you want.

浅忆流年 2024-09-01 09:03:18

我不知道有任何插件。如果我必须编写自定义代码,我会将 DAG 存储在邻接矩阵中。所有其他操作现在都变得简单。

I am not aware of any plugins. If I have to write custom code, I will store the DAG in a adjacency matrix. All the other operations now become simple.

独夜无伴 2024-09-01 09:03:18

如果你找不到这样的工具,传统的 VCS 似乎可以解决除了依赖管理之外的所有问题。依赖管理也是程序员要处理的事情(哎呀,我删除了你的新代码所依赖的那个函数)。将依赖项检查视为“构建”并寻找在接受签入之前强制构建代码的 VCS 可能会有所帮助。

If you can't find such a tool, a conventional VCS seems to hit everything except dependency management. Dependency management is something that programmers deal with too (oops I deleted that function that your new code depended on). It might be helpful to think of your dependency checks as a "build" and look for VCSes that enforce code that builds before accepting a checkin.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文