2016-10-25 8 views
3

У меня есть сомнения относительно терминологии. Я обнаружил, что некоторые классы могут быть параметризованы в том смысле, что они представляют классы, имеющие значение, когда они применяются к некоторому параметру.Номенклатура: параметризованные классы в графиках RDF

Например, классы «деревня Китая» и «Деревня Нидерландов» могут быть найдены в графе знаний Wikidata. Они являются реальными классами obvius в том смысле, что они являются типичными понятиями. Однако похоже, что они могут вписываться в шаблон «Деревня X», и они могут быть подклассами «деревни».

Есть ли правильная терминология для ссылки на все эти типы параметризованных классов?

В языках функционального программирования существует понятие более высоких типов типов, которые являются типами, которые могут иметь параметры [1].

Например, «Список [_]» - это тип, который зависит от другого типа, который является простым типом, есть «Список [Int]» (список целых чисел) или List [String] (список строк) , Но я не знаю, изучалось ли это понятие в области логики описания или графов знаний.

[1] https://en.wikipedia.org/wiki/Kind_(type_theory)

ответ

1

Там нет конкретного понятия «параметризованных типов» в OWL, но то, что вы ищете, как правило, моделируются с использованием ограничения на свойства: вы определяете подкласс, задав ограничение его ценностей собственности. Например, класс «деревня Китай» была бы что-то вроде этого (используя синтаксис OWL Manchester):

Class: VillageInChina 
    EquivalentTo: Village and hasCountry value China 

который гласит: «Класс VillageInChina эквивалентен классу всех вещей, которые являются Villageи, которые имеют имущество hasCountry со значением China ".