简体   繁体   中英

Semantic Web - Ontology OWL class vs OOPS class

OWL类和OOPS语言类(例如Java)之间有什么区别?

Here is a list of 10 main differences, some of them applicable only for OWL-DL:

  1. OWL classes are like sets, OOPS classes are like templates
  2. OWL classes follow Description Logics, OOPS don't (or any other formal logic; they are based on heuristics)
  3. OOPS classes have relations, while the only relation between OWL classes is rdfs:subClassOf (when OWL classes are treated only as classes, see point 10 for an exeption). What looks a bit like indirect description of relations, are the necessary and sufficient conditions of sublcasses and individuals, using owl:Restriction
  4. OWL classes are not disjoint by default
  5. OWL classes don't have attributes, apart from the annotation properties, providing meta-description, not affecting the members of a class
  6. Although sometimes the concept of "instance" is used, strictly speaking in OWL there is no such thing as instance of a class, as the existence of individuals is not dependant on classes being defined beforehand.
  7. OWL classes can be anonymous, defined through the conditions of classification.
  8. Inference rules can be applied to OWL classes based on DL axioms
  9. OWL classes follow the Open World Assumption
  10. OWL classes can be treated as individuals in OWL2 (aka punning)

Disclaimer: the list is made just on top of my head. It doesn't claim rigour or completeness.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM