590 likes | 930 Views
Ontology Engineering. Nguyen Trung Lap. Contents. What is an ontology? What is the usefulness of an ontology? Ontologies languages Ontologies development Tool introduction Labs – develop an ontology. What is an ontology? (1). Philosophy: Ontology Engineering : ontologies (count noun)
E N D
Ontology Engineering Nguyen Trung Lap
Contents • What is an ontology? • What is the usefulness of an ontology? • Ontologies languages • Ontologies development • Tool introduction • Labs – develop an ontology
What is an ontology? (1) • Philosophy: Ontology • Engineering: ontologies (count noun) • Investigating reality, representing it
What is an ontology? (2) • An ontology is an explicit description of a domain: • concepts • properties and attributes of concepts • constraints on properties and attributes • Individuals • An ontology defines • a common vocabulary • a shared understanding
What is an ontology? (3) • Ontology vs OOP • Ontology • Reflect the world • Structure • OOP • Reflect data and code • Behavior
Definitions • Definitions • Most quoted: “An ontology is a specification of a conceptualization” (by Tom Gruber, 1993) • “a formal specification of a shared conceptualization” (by Borst, 1997) • “An ontology is a formal, explicit specification of a shared conceptualization" (Studer et al., 1998) • An ontology is a hierarchically structured set of terms for describing a domain that can be used as a skeletal foundation for a knowledge base.(Swartout et al., 1997)
Definitions • “An ontology is a specification of a conceptualization” • Conceptualization: reality • Specification: language
What is the usefulness of an ontology? • Making, more or less precisely, the (dis-)agreement among people explicit • Enrich software applications with the additional semantics • Thus, practically, improving: computer-computer, computer-human, and human-human communication
Examples • Data(base) integration • Instance classification • Matching • Querying, information retrieval • Ontologies to improve NLP • Modeling • e-learning • Support for knowledge intensive applications. • Text extraction, decision support, resource planning, intelligent interfaces. • Knowledge repository structure.
Example: Job matching • Job seeker post: “.. work as programmer in HCMC” • Company offer: “.. software developer, Vietnam” • Keyword based: not matched
Example: Job matching • Job seeker post: “ work as programmer in HCMC” • Company offer: “ software developer, Vietnam” • Keyword based: not matched
Example: Job matching • Job seeker post: “ work as programmer in HCMC” • Company offer: “ software developer, Vietnam” • Simple knowledge base (an ontology): • Ontology-based matching: matched • Knowledge base • - Programmer is equal to software developer • - HCMC is located in Vietnam
Description logic - DL • DL is a family of formal knowledge representation languages • A Description Logic (DL) models concepts, roles and individuals, and their relationships.
DL • In DL, a distinction is drawn between the so-called TBox (terminological box) and the ABox (assertional box). • For example, the statement: • (1) Every employee is a person • belongs in the TBox, while the statement: • (2) Bob is an employee • belongs in the ABox.
DL model • Let C and D be concepts, a and b be individuals, and R be a role
Resource Description Framework (RDF) • The W3C recommendation for semantic annotations in the Semantic Web
RDF • An RDF statement (or RDF triple) is of the form: • subject property object. • To represent RDF statements in a machine-processable way, RDF defines a specific extensible markup language (XML) syntax
Web Ontology LanguageOWL Semantic web components
Stack of language • XML • Surface syntax, no semantics • XML Schema • Describes structure of XML documents • RDF • Data model for “relations” between “things” • RDF Schema • RDF Vocabulary Definition Language • OWL • A more expressive Vocabulary Definition Language
Design goal for OWL • Shareable • Changing over time • Interoperability • Inconsistency detection • Balancing expressivity and complexity • Ease of use • Compatible with existing standards • Internationalization
Requirement for OWL • Ontologies are object on the Web • with their own meta-data, versioning, etc... • Ontologies are extendable • They contain classes, properties, data-types, • range/domain, individuals • Equality (for classes, for individuals) • Classes as instances • Cardinality constraints • XML syntax
OWL Profiles • OWL Lite • Classification hierarchy • Simple constraints • OWL DL • Maximal expressiveness • While maintaining tractability • Standard formalization in a DL • OWL Full • Very high expressiveness • Losing tractability • All syntactic freedom of RDF (self-modifying)
OWL Profiles • OWL Lite • (sub)classes, individuals • (sub)properties, domain, • range • conjunction • (in)equality • (unqualied) cardinality 0/1 • datatypes • inverse, transitive, • symmetric properties • someValuesFrom • allValuesFrom • OWL DL • Negation • Disjunction • (unqualied) Full • cardinality • Enumerated classes • hasValue • OWL Full • Meta-classes • Modify language
OWL 2 structure http://www.w3.org/TR/owl2-overview/
OWL 2 • OWL 2 is a language for expressing ontologies. • OWL 2 is not a programming language: OWL 2 is declarative • OWL 2 is not a database framework • Database: close-world assumption • OWL : open-world assumption
Modeling Knowledge: Basic Notions • Axioms: the basic statements that an OWL ontology expresses • Entities: elements used to refer to real-world objects • Expressions: combinations of entities to form complex descriptions from basic ones
OWL syntax via example • Example, model by introducing a person • Class and instance
Need to remember the syntax? • NO • Tool will support you
SWRL (1) • SWRL – semantic web rule language • Rules are if-then clauses. • New knowledge is added only if a particular set of statements is true
SWRL(2) • Combine ontologies and rules • Ontologies: OWL-DL • Rules: RuleML
Why SWRL? • Improve the ontology’s expressivity • Cover some limitations of OWL • Although expressivity comes with a price • Decidability • Rule can be reused • It is easier to read and write rules with SWRL • Suitable for policy definition
SWRL syntax • Atom <- C(i)|D(v)|R(i; j)|U(i; v) |builtIn(p; v1,..., vn) |i = j | i # j • C = Class D = Data type • R = Object Property U = Data type Property • I, j = Object variable names or Object individual names • v1… vn = Data type variable names or Data type value names • p = Built-in names
SWRL Syntax (2) • a <- b1,…, bn where, • a : head (an atom) • bi: body (all atoms) • ‘,’ mean and • A SWRL knowledge base (k) is defined as follows: • k = (∑, P) where, • ∑ = Knowledge base of OWL • P = A finite set of rules
SWRL Example • Person(?x), hasChild(?x, ?y) -> hasSpouse(?x)
Ontology reasoning • Reasoning over a first-order logical theory • Main (`standard') reasoning tasks for the OWL ontologies: • consistency of the ontology • concept (and role) consistency • concept (and role) subsumption • instance checking • instance retrieval • query answering