工作流图作为 RDF?
Posted
技术标签:
【中文标题】工作流图作为 RDF?【英文标题】:Workflow graph as RDF? 【发布时间】:2012-03-10 20:28:06 【问题描述】:我是 RDF 的新手,也许我的问题太傻了,不能问。
我有以下工作流程,我试图将其表示为 RDF。我了解 RDF 背后的理论及其用途,但我对如何开始为该图创建 RDF 感到困惑。我将不胜感激。
提前致谢。
~Codera
【问题讨论】:
【参考方案1】:首先,您希望对边建模是 RDF 属性,例如:
:propose rdf:type rdf:Property;
rdfs:label "propose".
:accept rdf:type rdf:Property;
rdfs:label "accept".
然后你可以用它们来关联 M(1..N):
:M1 :propose :M2.
:M2 :propose :M3.
这将大致形成一个 RDF 图,代表您上面的图表。您可以根据应用程序的需要为每个 M(1..N) 附加额外的属性,或者您可以将它们建模为 rdfs:Class 对象并让您的属性与这些类的实例相关联。
如果您还没有阅读primer,这是一个不错的起点,它提供了一些看起来与您尝试建模的示例非常接近的示例。对于模式或本体创作,在文本编辑器中手动创建和维护一个简单的并不算太糟糕,但随着复杂性的增加,您可能希望使用Protege,特别是如果您想开始使用OWL。
就构建应用程序的工具而言,最好的选择是Sesame 或Jena API。它们提供了读取、写入和使用 RDF 所需的所有位。我推荐 Sesame,我认为它更易于使用,并且有更多可用的数据库选项。如果您不是 Java 程序员,也有一些选择,python 的 rdflib 和 .Net 的 dotNetRdf 就是几个例子。
【讨论】:
感谢您的精心回复。我选择将问题建模为一组rdfs:class
。我有两个班Node
和Arc
;关系:hasIncomingArc
、hasOutgoingArc
、hasSourceNode
、hasDestinationNode
。我计划在我的应用程序中使用 Jena 和 SPARQL,因为我已经使用了一些示例,感觉很舒服。以上是关于工作流图作为 RDF?的主要内容,如果未能解决你的问题,请参考以下文章