Сравнивая примеры концептов в семантической сети? - PullRequest
0 голосов
/ 25 января 2012

Я новичок в семантической паутине и не совсем знаю, какова терминология для обозначения экземпляров одних и тех же понятий или одних и тех же унаследованных понятий? Можем ли мы назвать экземпляры равными, если они принадлежат одному и тому же понятию или подконцепту?

Ответы [ 2 ]

1 голос
/ 27 января 2012

Два экземпляра одного и того же понятия находятся в одном классе. Вы не можете сказать больше, чем это. Предположим, у вас есть понятие Colour и два экземпляра red и green. Они (предположительно) не равны, но оба они являются членами класса Color и могут совместно являться членами других классов (например, PrimaryColours, TrafficLightColours).

Обратите внимание, что я говорю, что red и green могут не быть равными. В семантической сети мы обычно делаем допущение открытого мира , т.е. мы не предполагаем, что у нас есть вся соответствующая информация, и не делаем допущение уникального имени - поэтому вещи с разными именами могут обозначать одно и то же. Таким образом, если red и green явно не указаны как разные (owl:differentFrom), возможно, что в предположении открытого мира новая информация может появиться, чтобы сказать или сделать вывод, фактически обозначает один и тот же ресурс (owl:sameAs)

0 голосов
/ 30 января 2012

Метод equals в ресурсах Jena определяет, является ли один ресурс тем же, что и другой, а не того же типа, что и другой.Для этого достаточно примерно такого:

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
}
...