【发布时间】:2015-05-29 14:02:36
【问题描述】:
我是 OWL/RDF 本体概念的新手,我认为能够将它们转换为 UML 会很有用,这样我就可以使用我的 IDE 生成类骨架。假设这是一个合理的做法,您能否推荐一种方法?
我知道有 OWL/RDF 解析器 like this one,但我找不到任何可以转换为 UML 的解析器。
编辑:
基于 cmets 让我修改问题:
在基于现有本体开始一个新项目时,有没有一种方法可以轻松地创建骨架类作为起点?我不需要同步本体和类之间的更改 - 这是一次性设置,我预计将需要大量的复制和粘贴,这让我觉得这是错误的方法。
如果我没有正确使用本体,您能否解释一下它们在设计类层次结构时的目的(如果有的话)是什么?
这是我想要实现的示例(除了这只有 1 个传感器,我需要实现几个):
http://www.w3.org/2005/Incubator/ssn/XGR-ssn-20110628/#Smart_product_example
【问题讨论】:
-
RDF通常用作triples的动态束,并且Wikidata 使用非常动态的结构。它用于描述不经常变化的物理事物,但计算机使用的软件模型(UML类)可以非常频繁地变化。如果您的软件将与当前的动态实现接口,您还必须经常转换和重新生成代码(在运行时?)。您对转换有什么期望(除了代码生成器可以节省开发人员的时间)?你能提供一些用例或用户故事吗? -
OWL 可以表示一堆东西,如果可能的话,用 UML 表示这些东西并不容易。不过,有很多工具可以可视化 OWL 本体。 Protege是一个非常受欢迎的。也就是说,这个问题可能与 Stack Overflow 无关,因为(引用密切的原因),“要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于Stack Overflow,因为它们往往会吸引固执己见的答案和垃圾邮件。”
-
“当基于现有本体开始一个新项目时,有没有一种方法可以轻松地创建骨架类作为起点?”这确实是一个与可视化问题不同的问题。 1. 有一些工具可以做到这一点,但它们通常只能遵守本体的一部分。不过,它们确实存在。 2. 对于可视化,我认为您链接到的文档中的图表看起来像是使用CMapTools 创建的。
-
如果您要概括地解释存在哪些工具、它们是如何工作的,以及最重要的是为什么/何时使用它们会回答我的问题(我不关心可视化部分)。跨度>