dbo:abstract
|
- Dans le Web sémantique, une métaclasse est une classe dont les instances sont elles-mêmes des classes. Elles font partie des fonctionnalités de langages de représentation et de modélisation des connaissances du web sémantique comme OWL et RDF. De manière similaire, à leur rôle dans les langages de programmation, les métaclasses du web sémantiques permettent à leurs classes-instances avoir des propriétés qui ne sont dans le cas contraire qu'applicables à des instances propres (des instances de simple classes), tout en conservant la possibilité d'être classées dans une hiérarchie de concepts. Cela permet à des moteurs d'inférence de déduire des informations sur les instances de ces métaclasses à partir de leur métaclasse. Les métaclasses augmentent le pouvoir d'expression du langage tout en conservant une forme habituelle pour les utilisateurs qui ont l'habitude d'utiliser les classes. Les simples classes sont principalement utiles pour classer les populations d'individus, et les métaclasses permettent d'exprimer la dimension conceptuelle d'une ontologie. Les métaclasses peuvent être représentées, dans les langages qui le permettent, en les utilisant en objet des déclarations du langage de modélisation, dans le cas du langage du RDF du W3C des déclarations construites avec les propriétés rdf:type et rdfs:subClassOf -- des propriétés intégrées au langages qui sont souvent appelées instance de et sous-classe de. Dans une déclaration construite avec Instance de, on peut déduire que le sujet d'une affirmation est l'instance d'une classe, une entité ou un individu. Respectivement dans une déclaration construite avec Sous classe de on peut déduire que le sujet est une classe. Dans ce contexte, une différence clé entre une classe et une métaclasse est que, alors que les classes ordinaires ne sont utilisées qu'en objet des déclarations avec instance de, les méta classes peuvent aussi être utilisées en objet. On déclare ainsi qu'une classe est une instance d'une métaclasse. Le langage OWL 2, construit autour de RDF mais bien plus expressif, supporte, dans sa variante DL, les métaclasses à l'aide d'une fonctionnalité appelée « punning », du mot anglais pun, calembour). OWL 1 DL, la version précédente, exigeait que chaque élément soit ou une classe, ou une instance, mais pas les deux à la fois. Avec le punning, cette restriction est obsolète, et une entité peut être interprétée soit comme une classe soit comme un individu en fonction du contexte (syntaxique). Par exemple, une ontologie peut avoir une hiérarchie de concepts telle que « Harry l'aigle instance de aigle royal », « aigle royal sous classe de oiseau », et « aigle royal instance de espèces ». Dans cet exemple, l'entité « aigle royal » bénéficie du punning, étant à la fois une classe d'oiseau et une instance d'espèce ; et la métaclasse serait l'entité espèce, parce qu'elle a pour instance une classe. Le punning permet aussi d'appliquer a des classes des propriétés qui, sans punning, seraient applicables seulement a des instances propres (des instances qui ne sont pas aussi des classes), par exemple « golden eagle statut de conservation de l'espèce espèce bien conservée. » Les langages du web sémantiques, nés des domaines comme la représentation des connaissance, les logiques de description, l'ontologie formelle, ont un lien proche de l'ontologie philosophique plus que les langages de programmation comme Java ou Python. En conséquence, la nature des métaclasses est définie également à l'aide de notions philosophiques comme les objets abstraits, et la dichotomie type-jeton. Les métaclasses permettent à des concepts d'être construits comme des tokens (instances) tout en conservant leur statut ontologique de type. Cela permet d'énumérer des types, tout en préservant la possibilité pour ces types d'hériter des caractéristiques d'autres types. Par exemple, les métaclasses peuvent permettre à un moteur d'inférence d'inférer à partir d'une ontologie compréhensible "combien d'éléments chimiques sont présents dans la table périodique des éléments", ou, "étant donné que nombre de protons est une propriété d'un élément chimique et que les isotopes sont des sous-classes des éléments, combien de protons il y a dans le deutérium". (fr)
- In the Semantic Web and in knowledge representation, a metaclass is a class whose instances are themselves classes. Similar to their role in programming languages, metaclasses in Semantic Web languages can have properties otherwise applicable only to individuals, while retaining the same class's ability to be classified in a concept hierarchy. This enables knowledge about instances of those metaclasses to be inferred by using statements made in the metaclass. Metaclasses thus enhance the expressivity of knowledge representations in a way that can be intuitive for users. While classes are suitable to represent a population of individuals, metaclasses can, as one of their feature, be used to represent the conceptual dimension of an ontology. Metaclasses are supported in the ontology language OWL and the data-modeling vocabulary RDFS. Metaclasses are often modeled by setting them as the object of claims involving rdf:type and rdfs:subClassOf—built-in properties commonly referred to as instance of and subclass of. Instance of entails that the subject of the claim is an instance, i.e. an individual that is a member of a class. Subclass of entails that the subject is a class. In the context of instance of and subclass of, the key difference between metaclasses and ordinary classes is that metaclasses are the object of instance of claims used on a class, while ordinary classes are not objects of such claims. (e.g. in a claim Bob <i>instance of</i> Human, Bob is the subject and an Instance, while the object, Human, is an ordinary class; but a further claim that Human <i>instance of</i> Animal species makes "Animal species" a metaclass because it has a member, "Human", that is also a Class). OWL 2 DL supports metaclasses by a feature called , in which one entity is interpreted as two different types of thing—a class and an individual—depending on its syntactic context. For example, through punning, an ontology could have a concept hierarchy such as Harry the eagle <i>instance of</i> <a href="/wiki/Golden_eagle" title="Golden eagle">golden eagle</a>, golden eagle <i>subclass of</i> <a href="/wiki/Bird" title="Bird">bird</a>, and golden eagle <i>instance of</i> <a href="/wiki/Species" title="Species">species</a>. In this case, the punned entity would be golden eagle, because it is represented as a class (second claim) and an instance (third claim); whereas the metaclass would be species, as it has an instance that is a class. Punning also enables other properties that would otherwise be applicable only to ordinary instances to be used directly on classes, for example "golden eagle conservation status least concern." Having arisen from the fields of knowledge representation, description logic and formal ontology, Semantic Web languages have a closer relationship to philosophical ontology than do conventional programming languages such as Java or Python. Accordingly, the nature of metaclasses is informed by philosophical notions such as abstract objects, the abstract and concrete, and type-token distinction. Metaclasses permit concepts to be construed as tokens of other concepts while retaining their ontological status as types. This enables types to be enumerated over, while preserving the ability to inherit from types. For example, metaclasses could allow a machine reasoner to infer from a human-friendly ontology how many elements are in the periodic table, or, given that number of protons is a property of chemical element and isotopes are a subclass of elements, how many protons exist in the isotope hydrogen-2. Metaclasses are sometime organized by levels, in a similar way to the simple Theory of types where classes that are not metaclasses are assigned the first level, classes of classes in the first level are in the second level, classes of classes in the second level on the next and so on. (en)
|