logic 2. complex classes and roles owl dl (language to build ontologies) uses description logic...

37
Logic 2

Upload: eustace-jones

Post on 02-Jan-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Logic 2

Page 2: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Complex classes and rolesOWL DL (language to build ontologies) uses Description

Logic (DL), which is a family of knowledge representation formalisms based on the syntax, semantics, and proof theory of the first-order predicate logicProtégé (Editor to build ontologies) supports DL

The inference rules in OWL and related languages (RDF, RDFS) enable reasoners to infer new implicit facts from explicit knowledge (i.e., reasoning)

Page 3: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Atomic classes and propertiesOWL DL supports the notion of atomic classes or concepts (e.g., denoted

by C, D), atomic properties or roles (e.g., denoted by p), and constants (e.g., denoted by a, b)

Fault (class or type for faults), River, Rock, and Batholith are examples of atomic classes or concepts

The hasAttitude, trend, and locatedIn are examples of atomic properties or roles representing the binary relations between individuals.

It should be noted that a property such as hasLinearAttitude, despite its name, does not necessarily relate a linear structure to its type of attitude (orientation, trend)!

It only relates individuals to other individuals, which may not be members of the linear structure or attitude sets unless explicitly asserted

The following are examples of constants: “Nevada”, “San Andreas Fault”, and “Mississippi River”

Page 4: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Complex classesDescription logic includes constructors to define complex

classes and roles from atomic concepts and roles, and allows defining axioms and assertions

Atomic (i.e., named) classes are types of individuals or instances, such as Fault, Rock, Lake, and Aquifer

Atomic classes can be aggregated to form complex classes such as the set of all individuals (T, Thing) and the empty set (, Nothing)

For example, we can construct the AlteredRock class out of the Rock atomic class by restricting one or more of its properties to represent what it means for a rock to be altered (i.e., specializing it!)

Page 5: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Atomic PropertiesAtomic properties or atomic roles are binary, non-taxonomic relations

between individuals, and can be of the following types:

Object property type (relating individuals to other individuals) a p btraceElementComposition (Mineral, TraceElement) or p (a, b)

Datatype property type (relating an individual to numeric or alphanumeric expressions): phone (“111223333”) a p “c”

Annotation: The annotation property includes label, comment, and version information; are added to data for human consumption

Classes that have a fixed set of individuals (i.e., nominals) are denoted by i1, …, in, such as the Solar System which has a fixed (exact) number of planets. This closed class type is equivalent to the owl : oneOf

Mineral TraceElementtraceElementComposition

Investigator “111223333”phone

Page 6: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Intersection of classesSome of the most interesting complex classes

are constructed applying the logical intersection, union, and complement to domain classes

The class defined as the intersection of two other classes (A and B) is denoted as A B, and represents individuals that are instances of both A and BDisjoint sets are those with empty intersections (i.e., A B )

e.g., liquid and solid are disjoint; Line and plane are disjoint

That is, a class defined by the intersection of two other classes contains exactly those individuals that are instances of both of these classes:

Pyroclastic rocks can be the intersection of volcanic and depositional (clastic) rocks:

PyroclasticRock DepositionalRock VolcanicRock

Page 7: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Example for intersectionWe can define mylonite to be an intersection of both foliated

metamorphic rock (FMR) and ductile fault rock (DFR) as: Mylonite DuctileFaultRock FoliatedMetamorphicRock

To construct the set of igneous rocks which are located in Nevada, and the set of igneous rocks which are sampled by Babaie, we use the intersection of these two setsIgneousRocksInNevada IgneousRocksSampledByBabaie

If we really want to make a statement for the set of individuals that are rocks but are not igneous, we do it by asserting: Rock IgneousRock (shown in the green area)

To define the non-metamorphic rocks as equivalent to rocks that are not metamorphic, we assert: nonMetamorphicRock Rock MetamorphicRock

DFR FMR

Mylonite

Rock

Igneous

Igneous

Page 8: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Union of classesThe class defined as the union of two classes A and B,

is denoted as A B, and represents individuals that are instances of at least one class A or B, or both

In other words, the union of set A and B (A B) contains elements that are contained only in A, only in B, or in both A and B

Define the Semibrittle class as a union of Brittle and Ductile classes Instances of this class have properties that are either brittle, ductile, or

both brittle and ductile

NOTE: To define the Semibrittle class to always have features of both brittle and ductile deformation, we must use the intersection constructor instead of union

When translating the natural language ‘and’, and ‘or’, we need to be careful not to translate them without testing what we actually intend to say. The word ‘and’ can be translated either into a union () or an intersection (), with different logical consequences

A B

A B

Page 9: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Complement of a class denoted with (not)The complement of class A (i.e., A) is the

set of individuals that provably are not instances of class A

This implies that an instance of A is satisfiably an instance of all the other classes that are provably not equivalent to class A

A fact is provably true if it is true in all cases given what is currently known and considering all cases (i.e., what is asserted in the knowledge base)

A fact is satisfiably true if, given what is currently known and considering all cases, it is true in at least one caseThis means that anything that is provably true or provably false, is also

satisfiably true or satisfiably false, respectively!Because provable condition covers satisfiable condition!

On the other hand, anything which is not satisfiably false, or satisfiably true, must be provably true or provably false, respectively

A A

Page 10: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Complement combined with and The complex concept IgneousRock is the group of individuals, not

necessarily rocks, which are not igneous (could be river or lion)

To assert that IgneousRock is a Rock, not an orange or river, we have to use an intersection, i.e., Rock IgneousRock

We can define the class UnweatheredMineral to be thecomplement of the WeatheredMineral (WM) class, i.e.: UnweatheredMineral WeatheredMineral This can include a soccer ball ! or cheese cake!

If we do not use intersection, the instances of the UnweatheredMineral class can be instances of any class which are provably not equivalent to the WeatheredMineral Class Better is to construct a restricted UnweatherMineral by intersecting the

WeatheredMineral class with the Mineral class

UnweatheredMineral Mineral WeatheredMineral

WM

WM

Min

Page 11: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

TBox vs. ABoxThere are three kinds of axioms that make statements

about the relationships between classes, properties, and individuals

The set of the first two types of axioms (classes and properties) constitutes what is called a TBox (T) or terminology, which expresses the intensional knowledge

The assertional axioms (facts) define the Abox (A) about individuals (instances) which captures the extensional knowledge; the part of knowledge that changes as the world changes

Page 12: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Abox Contains Assertions

Abox (A) consists of statement such as C (a), and P (a, b), for example:

Mineral (quartz), i.e., quartz is of the Mineral typecomposition (calcite, carbonate); i.e., composition of calcite is carbonate

River (Amazon) Amazon is of the River type

The ABox constitutes what is called the knowledge base, which is a set of logical sentences like those given above

Page 13: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

General Class inclusion

Class (terminological) axioms include the general class inclusion (GCI) axiom: C D, which states thatC is a subclass of D, i.e., C is subsumed by D

This means that all individuals of the set (class, type) C are also individuals (members, instances, individuals) of the set D

C and D classes can be atomic or complex, e.g.:NormalFault DipSlipFault Shark Fish

D

C

Page 14: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Class EquivalenceTwo classes C and D (e.g., defined in the same or

different namespaces) can be set to be equal (i.e., being the same set) by making them subsume each other (i.e., subclass each other), denoted as C D

min: XRayDiffraction min: XRDAssume ‘min’ is the prefix for the Mineralogy domain

struc: ScanningElectronMicroscope struc: SEMAssume ‘struc’ is the prefix for the Structural geology domain

Page 15: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Disjoint ClassesTwo classes C and D can be declared to be disjoint

(owl : disjointWith) either as C D (C is not a D), or alternatively by setting their intersection to be a subset of the empty set () as: C D

BrittleRock DuctileRockMyloniticRock CataclasticRock Silicate CarbonateSatelliteImage AerialPhotograph

Notice that the names of classes are in the singular form because each represents a type! Given in UpperCamelCase

C D

Page 16: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Empty set (Nothing)The empty set (owl : Nothing) is

denoted as the intersection of a class C with its disjoint complement : C C

On the other hand, the class Τ (owl : Thing), is expressed by the union of a class and its complement (i.e., everything else)Τ C C i.e., C and everything else that is not C!

Notice that Τ , meaning that Thing is the complement of Nothing, or that the Thing class is the complement of the empty set

Line Plane

Empty set

C C

Page 17: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

SubpropertyA property P can be declared to be a subproperty of another

property S with the property (or role inclusion) axiom as:

P S If P is a subproperty of S, then x P y implies x S yWhere x and y are instances of A and B, respectively

For example, shearStrain strainstates that the property shearStrain is a subproperty of the strain property, i.e.:

x shearStrain y implies x strain yx transports y implies x moves y x fizzes y implies x reactsWith y

S

A Bx yP

strain

A Bx yshearStrain

reacts

A Bx yfizzes

Page 18: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Intersection of Properties

We can declare a property P to be the intersection of two other properties: R and S, i.e., P R SIf x and y are related by P (i.e., i.e., x P y) and P R SThen x R y and x S y

We use this construct when a property at the bottom implies the two above it in the hierarchy. They imply each other, but with different meanings

For example, when a seismic fault ruptures it implies that it shears and slides

If x ruptures y, then x slides y and x shears y

A BPx y

R S

Deformation Rockrupturesx y

slides shears

Page 19: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Union of Properties

Assume that properties P and Q are used similarly in two different namespaces (domains, fields), and we want to combine them into a single super-property R

If property R represents the union of P and Q, i.e., P Q R, then:

If x P y or x Q y, we can infer x R y

For example, if we have two properties: strains and distorts that mean the same thing, and we want to combine them into one property called deforms, then:

If x strains y or x distorts y, we can infer x deforms y

A BP

R

Qx y

Page 20: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Union of Properties …

Property union is used when each of two or more properties (e.g., oxidize, hydrate) that mean the same thing imply a super-property that has a similar meaning (e.g., weather, the verb for weathering)

If x oxidizes y or x hydrates y, we can infer that x weathers y

Shortens can be thought of as the union of the folds and thrusts properties

If x folds y or x thrusts y, then x shortens y

A BP

R

Qx y

A Bfolds

shortens

thrustsx y

Page 21: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Equivalence of PropertiesWe can also declare two properties, perhaps declared in

two different domains, to be equivalent

R S Any triple, that uses R as a predicate, can use S as a

predicate, i.e., x R y implies x S y

This means the two have the same meaning, and are used similarly with similar domain and rangeslips displacesi.e., x slips y implies x displaces y and vice versadilate changeVolumedecay decompose

Page 22: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Inverse PropertyThe direction of property is from its domain to its rangeA property (p) is inverse of another property p-, if when p holds

in one direction, it implies that p- holds in the opposite direction (note: p p-, i.e., properties are not the same word!)

In other words, the subjects of (i.e., classes using) p are the objects (i.e., target classes) for p-, i.e., x p y implies y p- x if p and p- are inverse of each otherA partOf B implies B hasPart A

Examples of Inverse property pairs: samples and sampledBy, owns and ownedBy, and identifies and identifiedBy

Because in OWL, datatypes (e.g., string, date) cannot be the subject of a triple statement (subject-predicate-object), the inverse property needs to be used with caution!

A Bp

p-x y

Domain = subject Range = object

Page 23: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Symmetric Property

If p is a symmetric property relating instances of A to instances of B (i.e., x p y), then the same property (with same name) relates instances of B to instances of A (i.e., y p x), i.e., it is bidirectional, in the sense that the subjects and objects can switch. Note: here p p-, i.e., both properties have the same name (word)!

The adjacentTo property is bidirectional:

PacificPlate adjacentTo NorthAmericanPlateNorthAmericanPlate adjacentTo PacificPlate

More examples: ‘equals’ and ‘attached’, ‘connectedTo” A symmetric property is inverse of itself: p p-

A Bp

pyx

Plate Plate

adjacentToNorthAmericanPlatePacificPlate

adjacentTo

Page 24: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Asymmetric Property

Asymmetric properties are not bidirectionali.e., if x p y, then not y p x (i.e.., it is a contradiction)

The properties ‘above’, ‘less-than’, and ‘contains’ are all asymmetric properties

For example, ‘intrusion contains xenolith’ does not imply ‘xenolith contains intrusion’, or ‘Cretaceous system above Jurassic system’ does not (normally) imply ‘Jurassic system above Cretaceous system’ (unless thrusting brings old rocks above younger rocks)

A B

p

px y

Page 25: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Reflexive and Irreflexive Properties

A property p is reflexive if x p x for all x, i.e., p relates all individuals to themselvese.g., recrystallizes, alters, fragments, breaks

For example, shrinks is a reflexive property because rock shrinks to a smaller rock

This is in contrast to an irreflexive property which cannot relate an individual to itself, i.e., x p x does not apply for all A, e.g.:

greaterThan, sourceOf, brotherOf

pA x

Page 26: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Transitive PropertyA property p is transitive

if x p y and y p z implies x p z

e.g., contains, subRegionOf, partOf and locatedIn

IdahoBatholith locatedIn IdahoIdaho locatedIn U.S.AIdaho Batholith locatedIn U.S.A

A Bp

Cpx y z

Page 27: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Functional Property

If x p y, the functional property p can only have one unique value y for a particular individual x (i.e., a single value of y for a given x), e.g., hasMother: (A given individual can have at most one value for it)

∀ x, y, z ( [p(x,y) p(x,z)] → y = z )∧ :Ted :hasMother :Jane:Ted :hasMother :Maryif hasMother is functional (owl:functionalProperty) Jane sameAs Mary

It cannot be true that :Ted :hasMother :Meg unless Meg sameAs Jane

an x (child) has one mother (y), but y can have many x’s (children) Foaf:primaryTopic (relates a document to its main topic)

Bobject

Asubject

px y

hasMother

Page 28: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

…Function y=x2 has a square (y) which is unique for each xDeclaring a property to be functional, puts a global

cardinality constraints on the property

The husband in the Woman hasHusband Man, can be a functional property, because a woman x may only have at most one husband y

‘sampler’ in ‘Sample sampler Person’ can be functional, because for an individual sample x, there is a unique person y who took it

Both object and datatype properties can be functional

Page 29: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Functional Property infers object sameness

A property p is functional, if x p y1 and x p y2 imply that y1 = y2 i.e., the two object individuals are the same (owl: sameAs)i.e., if I have a mother called y1, and another mother called y2, the

two are the same womanNotice that the subjects are not asserted to be the same (me or my

brother); only the objects (mothers) are the same

If p is functional, then if A and B are related via p, and A and C are related via p, then C and B are identical (owl: SameAs)

US fortyFourthPresident “Barack Obama”US fortyFourthPresident “Barry Obama” // his nickname

Bobject

Asubject

px y1=y2

Page 30: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Functional property …Every subject individual (e.g., x) that engages a functional

property p, can have only one object individual y

If there are two object individuals, then the two must be the same, y1 = y2, for example:

sample13KT id B10xyzRsample13KT id B10xyz

B10xyzR and B10xyz must be the same if id is functional!

Bobject

Asubject

idB10xyzR =B10xyzsample13KT

Page 31: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Functional Property

Assuming that each sample has a unique location (coordinates) where it was taken, then sampleSite can be a functional property for subjects that are of type Sample, and its objects are strings of location (long., lat., elev.)Sample sampleSite Location

If two samples have exactly the same location, then they must be the same sample Note: Two samples taken at exactly the same location may not be the same!

More commonly we use inverse-functional to prove sameness!

Locationobject

Samplesubject

sampleSitex y

Page 32: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Inverse Functional property infers subject samenessInverse functional property is like functional property in reverse

direction! Note: only object properties (not data properties) can be inverse functional in OWL DL.

If x p y, and p is inverse functional, then there can be only a single (i.e., at most one) value of x for a given y, such that p(x, y).

If the predicate has the "InverseFunctionalProperty", then that means that wherever you see the (subject) linked to an (object) by this particular (predicate), then the (subject) is the one and only (subject) with that (object) connected by the (predicate.) If you ever saw some other subject linked to the object by the predicate, you'd know that the "other" subject was actually the same subject http://www.w3.org/wiki/InverseFunctionalProperty)

Bobject

Ax1=x2

subject

p y

Page 33: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Names of people are NOT inverse functional because name is not unique. Serial number of a U.S. dollar is unique.

Example: For each object of biologicalMotherOf predicate (some human) we can uniquely identify a subject (some woman).

The object individual y (e.g, SSN value or PIN) of an inverse-functional property p (SSN; PIN) uniquely determines a single subject individual x (a person; a car)

In this case, if x1 p y and x2 p y, then x1 and x2 are the same!

hasSingleAuthorArticle: a person may have many published papers (objects), but all are authored by one author (subject)

Page 34: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Declaring a property to be inverse functional, puts a global cardinality constraints on the property for the subject; i.e., it holds for all objects (not local)

Datatype properties (as opposed to object properties) cannot be declared inverse-functional in OWL DL

The primary key of relational database is inverse functional because it uniquely identifies a record (row)

Page 35: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

Every instance y of the person class of the bioMother property, in Woman bioMother Person, determines a unique woman (subject) xFor example, Mother Teresa only has one biological mother even if her mother’s name was misspelled:

Dranafile Bojaxhiu bioMotherOf Mother TeresaDranafile Bojaxhu bioMotherOf Mother Teresa

Then, Dranafile Bojaxhiu must be same as Dranafile Bojaxhu (despite misspelling of the names in Web documents)

Personobject

Womansubject

bioMotherDranafile Bojaxhiu = Dranafile Bojaxhu Mother Teresa

Page 36: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

earthquakeA occurrenceTime time123(works if time is object)earthquakeB occurrenceTime time123

Then, for a given fault, earthquakeA and earthquakeB are the same earthquake (despite perhaps having been given a different names)

NOTE: We are assuming that these are along the same fault, and that only one earthquake occurs at a specific time along this fault, which is not necessarily correct!

XSD:Timeobject

Earthquakesubject

occurrenceTimetime123earthquakeA = earthquakeB

Page 37: Logic 2. Complex classes and roles OWL DL (language to build ontologies) uses Description Logic (DL), which is a family of knowledge representation formalisms

outcropA location coordinates1outcropB location coordinates1

Then, outcropA and outcropB must be the same outcrop

researcherA PIfor Projectxyz PI: principal InvestigatorresearcherB PIfor Projectxyz

Then, researcherA and researcherB are the same principal investigator

Projectobject

Researchersubject

PIforresearcherA = researcherB projectxyz

Locationobject

Outcropsubject

locationoutcropA = ourcropB coordinates1