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