我正在搜索策略或其他起点,以便从存储在数据库中的结构化数据生成图表。制作一个与我的要求非常相似的简化示例:
Input: DDL SQL to create tables with attributes in a Database.
Desired output: ERD diagram of the tables with connections to each other as svg.
我想要构建的图表类型是ADAPT但是因为我确定没有直接生成ADAPT图的实现,所以我会对可以生成BPMN,EPK或类似模型的任何内容感到满意。 ERD的生成器可能是一个开始,但由于ADAPT比ERD更复杂,因此需要大量定制。
我目前使用Drupal创建一个原型,所以该区域的内容会很好但我很高兴有任何输入我可以学习解决核心问题:如何自动创建图形模型结构化数据(没有关于元素放置,元素大小等方面的数据或用户交互)?
图片的标题说明:
答案 0 :(得分:1)
有许多图表库可用,每个都有自己的优点和缺点。这很大程度上取决于您的确切要求。我建议你评估一些替代方案,看看最适合你的方法。
我的想法:在商业场景中,各种平台的yFiles库套件可能是一种选择。从我所看到的基于HTML / JavaScript的解决方案应该很好地满足您的要求:可以很容易地告诉它从各种输入源获取数据,自动创建结构,最重要的是计算图表的布局,以便它可以是立即观看,无需手动安排。您也可以在很高的程度上自定义库:您可以使项目看起来像“ADAPT”中的项目,自定义用户交互性,以便只允许有效的模型更改(如果您需要交互式编辑),当然也可以以编程方式使用灵活的Javascript API。
这里有一个很好的例子: Interactive Graph Source
完全披露:我为yWorks工作,但是在Stackoverflow上我不代表我的雇主。
答案 1 :(得分:0)
您可以生成Graphviz'DOT语言,然后通过命令行运行Graphviz'DOT.exe程序,该命令行输入DOT语言文件并输出.svg文件。这种方法非常简单,因为您不需要使用API的Graphviz,而只需从您的编程环境中生成文本文件。
不确定这对你有帮助吗?也许只是一般的想法可能有用。
更进一步,我已经在一个开源项目中完成了这项工作,与上面你具体描述的内容有明显不同,即我的项目采用表格(自描述,结构化)数据而不是SQL DDL它的用户输入。输出是概念和关系形式的信息,可以以多种方式使用(搜索,操纵,图示),其中之一是生成.svg输出,显示通过各种颜色和标记的箭头互连的各种颜色和形状的实体。 .svg输出是通过将概念和关系转换为适当的DOT文件,然后通过命令行运行Graphviz,然后在.svg输出上启动Firefox来完成的。仍然需要与你需要的很多不同,布局完全由Graphviz处理。