正如在任何Web应用程序,你将不得不为三层或多层架构做出的决定。
存储层
大多数的工具本体操作(耶拿,炫技,芝麻,门生)提供了多种方式来存储你的数据:在进程(内存)模式,RDB模型(在您选择的RDBMS中),本机格式存储。选择取决于您的环境限制和性能/可伸缩性要求。
操纵层
在此处选择的解决方案总是带来的抽象和表现的水平之间存在一些权衡。这是因为很难将所有本体构造映射到面向对象的构造。
既然你可以选择之间:生成与你的本体类的Java POJO类
Jastor包装耶拿OntModel
或Model
但是从你隐藏耶拿内部,所以如果你发现它的限制,你可以随时进行扩展。请注意,Jastor似乎不再被维护。
表示层
操纵层技术,让您隐藏的代表性观点本体内部,所以您可以使用传统的技术,如JSP生成HTML输出。尽管如此,一些问题也可能是方便您在发出RDF/XML格式的模型并应用XSL(T)样改造它。我发现了一个基于Python的工具rx4RDF,可用于支持这种转换。
免责声明:我6年前用上述技术工作。事情可能在此期间发生变化。因此:
- 我鼓励您查看不同现有语义Web应用程序的体系结构,并找到适合您问题的体系结构。例如here。
- 虽然很多工作都是在语义Web工具领域完成的,但这仍然是nichè技术。为了更好地解决您的问题,您可以尝试在产品邮件列表和研究论坛上提出您的问题。
- 另外,W3C为RDF处理保留了相当长的list of tools。