我是语义网的新手。我收集了来自dbpedia.org
和schema.org
的某人的RDF个人资料;我的意思是来自两个不同的本体。保存在单个文件中。现在我必须查询它们以显示该人的主页(HTML)。我对如何查询两个不同的本体或者如何将它们合并在一起有疑问;请给我一个如何开始的想法。我正在使用Apache Jena。
答案 0 :(得分:0)
在您的情况下,困难的任务是合并包含RDF本体的两个文件。合并后,您可以使用查询单个文件的相同方式查询它们。
如果您有两个类似Turtle格式的RDF数据文件(即Turtle,TriG,N-Quads或N-Triples),并且其中至少有一个不包含空白节点,然后你可以简单地将这两个文件连接成一个新的N-Quads或N-Triples文件。
如果两个文件都包含空白节点,那么您首先需要按照RDF 1.1 semantics 将它们标准化。例如,如果您有两个N-Triple文件,则两个文件中都可能出现空白节点名_:1
,表示不同的空白节点。
如果其中一个文件是以基于树的格式(即RDF / XML,TriX,RDFa或JSON-LD)序列化的,那么您不能简单地连接文件并期望结果符合要求。具体而言,类似XML的格式要求您将所有数据括在代表单根节点的开始和结束标记内。类似地,类似JSON的格式要求您将所有数据括在开始和结束括号内(括号或方括号)。在这些情况下,您必须将两个数据文件完全解析为RDF图,然后将图完全序列化为单个文件。在一般情况下,解析和序列化的任务非常困难,因此您很可能希望让现有的库处理此问题。你提到Jena肯定能做到这一点。请注意,如果至少有一个文件包含命名图,则需要加载+保存RDF 数据集而不是RDF图。耶拿也可能支持后者。