是否可以通过webform从用户生成的输入中动态更新rdf文件?确切的场景是通过用户输入到html表单来创建和更新beskos概念定义。
我正在考虑使用xpath但是有没有更好的/普遍接受的/最佳实践方式来做这种事情?
答案 0 :(得分:1)
对于这类事物,IMO有两种方法:
1 - 在三重存储中使用命名图
您可以使用Graph作为命名图存储在支持三级更新的三重存储中(即您可以更改图中的单个三元组),而不是编辑实际的固定文件。例如,您可以使用像Virtuoso或基于Jena的商店(Jena SDB / TDB)这样的商店来执行此操作,基本上任何支持SPARUL语言的商店或拥有它自己的等价物。
2 - 使用固定的RDF文件并对其进行修改
从提到XPath开始,我假设您打算将文件存储为RDF / XML。虽然XPath可能会为此工作,但它将依赖于文件的确切序列化,并且可能变得非常复杂。如果您的应用程序允许用户提交和编辑自己的文件,那么他们将无法保证RDF如何被序列化为RDF / XML,因此您的XPath表达式可能无法正常工作。如果您控制RDF / XML的所有序列化和处理,那么您可以将其保存为XPath可以使用的格式。
从我的观点来看,执行此方法的最简单方法是使用适当的RDF库将文件加载到内存中,在内存中操作它,然后在用户完成时将整个内容保留回磁盘(或定期间隔或任何适合您的申请的内容)