Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpath 动态更新RDF文件_Xpath_Rdf - Fatal编程技术网

Xpath 动态更新RDF文件

Xpath 动态更新RDF文件,xpath,rdf,Xpath,Rdf,是否可以通过webform从用户生成的输入动态更新rdf文件?确切的场景是通过用户输入html表单来创建和更新KOS概念定义 我在考虑xpath,但是有没有更好的/普遍接受的/最佳实践的方法来做这类事情?对于这类事情,我有两种方法: 1-在三重存储中使用命名图 与其编辑实际的固定文件,不如使用一个图形,该图形作为命名图形存储在支持三级更新的三级存储中(即,您可以更改图形中的单个三级)。例如,您可以使用类似于存储或基于存储(Jena SDB/TDB)的存储来实现这一点,基本上任何支持该语言或具有其

是否可以通过webform从用户生成的输入动态更新rdf文件?确切的场景是通过用户输入html表单来创建和更新KOS概念定义


我在考虑xpath,但是有没有更好的/普遍接受的/最佳实践的方法来做这类事情?

对于这类事情,我有两种方法:

1-在三重存储中使用命名图

与其编辑实际的固定文件,不如使用一个图形,该图形作为命名图形存储在支持三级更新的三级存储中(即,您可以更改图形中的单个三级)。例如,您可以使用类似于存储或基于存储(Jena SDB/TDB)的存储来实现这一点,基本上任何支持该语言或具有其自身等价物的存储都可以

2-使用固定的RDF文件并对其进行更改

从您提到的XPath来看,我假设您打算将文件存储为RDF/XML。虽然XPath可能会为此工作,但它将取决于文件的确切序列化,并且可能会变得非常复杂。如果你的应用程序允许用户提交和编辑他们自己的文件,那么他们将无法保证RDF是如何序列化为RDF/XML的,因此你的XPath表达式可能无法工作。如果您控制RDF/XML的所有序列化和处理,那么您可以将其保持为XPath将使用的格式


在我看来,实现这种方法的最简单方法是使用适当的RDF库将文件加载到内存中,在内存中对其进行操作,然后在用户完成后(或以固定的时间间隔或任何适合您的应用程序的方式)将整件事情保存回磁盘

对于这类事情,IMO有两种方法:

1-在三重存储中使用命名图

与其编辑实际的固定文件,不如使用一个图形,该图形作为命名图形存储在支持三级更新的三级存储中(即,您可以更改图形中的单个三级)。例如,您可以使用类似于存储或基于存储(Jena SDB/TDB)的存储来实现这一点,基本上任何支持该语言或具有其自身等价物的存储都可以

2-使用固定的RDF文件并对其进行更改

从您提到的XPath来看,我假设您打算将文件存储为RDF/XML。虽然XPath可能会为此工作,但它将取决于文件的确切序列化,并且可能会变得非常复杂。如果你的应用程序允许用户提交和编辑他们自己的文件,那么他们将无法保证RDF是如何序列化为RDF/XML的,因此你的XPath表达式可能无法工作。如果您控制RDF/XML的所有序列化和处理,那么您可以将其保持为XPath将使用的格式


在我看来,实现这种方法的最简单方法是使用适当的RDF库将文件加载到内存中,在内存中对其进行操作,然后在用户完成后(或以固定的时间间隔或适合您的应用程序的任何方式)将整件事情保留到磁盘上。

如果PHP是您的语言(假设这是你的问题)那么你应该先看看ARC框架Hi谢谢你的回答。我现在有点困惑-这对我来说是全新的,如果我在这里没有意义,我很抱歉。我的理解是,我会创建uri来保存skos概念(在rdf/xml中是的)格式。你是说我不需要这样做,只需要使用我用tripe store打开的模板-arc-并用sparql编辑添加我需要的节点等?如果PHP是你的语言(假设这是你的问题)然后你应该先看看ARC框架Hi谢谢你的回复。我现在有点困惑-这对我来说是全新的,如果我在这里没有意义,我很抱歉。我的理解是,我会创建uri来保存skos概念(在rdf/xml中是的)你是说我不需要这样做,只需要使用我用tripe store打开的模板-arc-并用sparql编辑添加我需要的节点等?