我是Semantic Web的新手,并且不太清楚具有相同概念或相同继承概念的实例的术语是什么?如果它们属于相同的概念或子概念,我们可以调用实例吗?
答案 0 :(得分:1)
同一概念的两个实例属于同一类。你不能真正说出比这更多的东西。假设您有一个概念Colour
,以及两个实例red
和green
。它们(可能)不相等,但它们都是Color类的成员,也可以共同成为其他类的成员(例如PrimaryColours
,TrafficLightColours
)。
请注意,我说red
和green
可能不相等。在语义网中,我们通常制定开放世界假设,即我们不假设我们已经拥有所有相关信息,并且我们没有做出唯一名称假设 - 所以具有不同名称的东西可能表示相同的事情。因此,除非red
和green
被明确声明为不同(owl:differentFrom
),否则在开放世界假设下,新信息可能会显示出来,或推断,实际上表示相同的资源(owl:sameAs
)
答案 1 :(得分:0)
Jena Resource上的equals方法确定一个资源是否与另一个资源相同,而不是另一个资源。要解决这个问题就足够了:
if (resource1.hasProperty(model.createProperty("http://www.w3.org/1999/02/22-rdf-syntax-ns#", "type"), model.createResource("http://typeUri")) && resource2.hasProperty(model.createProperty("http://www.w3.org/1999/02/22-rdf-syntax-ns#", "type"), model.createResource("http://typeUri"))) {
// both resources are the same type
}