rdf - 确保多个主题指向相同的空白节点列表

标签 rdf turtle-rdf n3 blank-nodes

考虑以下 SomeClass 的实例:

 instances:some_thing1
                a semapi:SomeClass ;
                semapi:hasChainTo (
                      [ ... ] [ ... ] [ ... ]
                ) .

我需要每个实例( some_thing2some_thing3 等)都有它的 hasChainTo属性指向相同的空白节点列表(因为它只有一个副本)。我需要维护空白节点语法列表,因为链变得非常深,并且这种语法对于写出每个链非常流畅(对于 SomeClass2SomeClass3 等)。

如果我只是从中创建一个基类和 subClassOf,hasChainTo属性继承但不是它指向的对象。这在直觉上是有道理的,但我需要其他行为。

如何做到这一点?

最佳答案

如果你想从图中的多个节点引用同一个东西,你应该给它一个 URI。它不必是完整的 http: URI - 您可以使用 UUID:

instances:some_thing_1
  semapi:hasChainTo <urn:uuid:12345>.
instances:some_thing_2
  semapi:hasChainTo <urn:uuid:12345>.
instances:some_thing_3
  semapi:hasChainTo <urn:uuid:12345>.

<urn:uuid:12345>
  semapi:chain (
    [ .. ] [ .. ] [ .. ]
  ).

不要将 RDFS/OWL 子类与面向对象语言中的状态和行为的继承相混淆。 RDFS 中的类层次结构用于对节点进行分类——即将它们分配给一个类,其中一个类是一些资源集。在 Java 等语言中,从继承中获得的代码重用没有直接等价物。

关于rdf - 确保多个主题指向相同的空白节点列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17337354/

相关文章:

rdf - 如何指定关系链暗示另一个关系链

sparql - 通过 sparql-update 查询将 TTL 上传到 GraphDB 在变音符号上失败

java - 文件/本体(turtle、N3、JSON、RDF-XML)等到 java 中的 .ttl 文件转换

java - 使用RML-Mapper库将xml文件转换为RDF的最佳mapping.ttl文件是什么?

rdf - 隐式具体化的简单格式

python - 如何在 RDFlib 中解析 N3

rdf - 在加载到 apache-jena TDB Triplestore 之前清理 YAGO 文件

rdf - rdf 图上的数据记录规则改变事实的( bool )值

rdf - N3/Turtle本体语言创建类有没有捷径

group-by - SPARQL 仅按一个变量分组