Search code examples
rdfsemantic-webowldescription-logic

Nomenclature: parametrized classes in RDF graphs


I have a doubt regarding terminology. I found that some classes can be parameterized in the sense that they represent classes that have meaning when they are applied to some parameter.

For example, the classes "village of China" and "Village of Netherlands" can be both found in Wikidata knowledge graph. They are obvius real classes in the sense that they are instanceable concepts. However, it looks like they can fit in a template "Village of X" and they could be subclasses of "village".

Is there a correct terminology to refer to all these kind of parameterized classes?

In functional programming languages there is a notion of higher kinded types, which are types that can have parameters [1].

For example, "List[_]" is a type that depends on another type to be a plain type, there are "List[Int]" (list of ints) or List[String] (list of strings). But I don't know if that notion has been studied in the field of description logics or knowledge graphs.

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


Solution

  • There is no specific notion of "parametrized types" in OWL, but what you're looking for would typically be modeled using a property restriction: you define a subclass by specifying a restriction on its individual's property values. For example, the class "villages of China" would be something like this (using OWL Manchester syntax):

    Class: VillageInChina
       EquivalentTo: Village and hasCountry value China
    

    Which reads as: "The class VillageInChina is equivalent to the class of all things that are a Village and which have a hasCountry property with value China".