zhengj2007 / bfo-export

Automatically exported from code.google.com/p/bfo
0 stars 0 forks source link

BFO DL-Query Oddities noticed by Amanda Hicks #153

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Amanda Hicks, UAMS, aellenhicks@gmail.com

I have noticed that there are some unsound results for DL queries in BFO.  In 
short, some of the queries of the form R only x produce strange subclasses.  I 
first noticed this when a query on one of our ontologies (Apollo-sv) produced 
Acquired Immunodeficiency Syndrome as a descendent of simulates only continuant 
AND simulates only occurrent.  I think I have traced this oddity back to BFO.

Below is a set of notes I took on the queries that I made in case they're 
helpful.  I'm not sure where the problem lies though, but if you have any 
questions about these queries, let me know.  And if you make any headway 
figuring out where the problem is, I would be really interested in hearing 
about it!

---

In each of the ontologies below I created a dummy relation R and restricted the 
domains or ranges in various ways.  There are some unsound subclass relations 
that result in some queires of the form R only x.  They do not result when some 
is used.

BFO 1.1
http://bfo.googlecode.com/svn/releases/1.1/bfo.owl

and 

BFO 1.1.1
http://bfo.googlecode.com/svn/releases/1.1.1/bfo.owl

Relations with a domain on the branch of continuants generate odd DL query 
results when the query is of the form R only x. 

The general pattern appears to be that R only x subsumes the compliment class 
of the domain of R for all x. However, I have not tried all combinations.

Here are some sample queries:

Domain: continuant
Query: R only continuant
Subclass: occurrent

Query: R only dependent_continuant
Subclass: occurrent

Query: R only occurrent
Subclass: occurrent

Based on similar queries it is probably the case that when the domain of R is a 
continuant, R only x always yields occurrent as a subclass.

Domain: dependent_continuant
Query: R only continuant
Subclass: independent_continuant, occurrent, spatial_region

Based on similar queries it is probably the case that when the domain of R is a 
dependent_continuant, R only x always yields these subclasses.

Domain: generically_dependent_continuant
Query: R only continuant
Subclass: independent_continuant, occurrent, spatial_region, 
specifically_dependent_continuant

Based on similar queries it is probably the case that when the domain of R is a 
generically_dependent_continuant, R only x always yields these subclasses.

Domain: specifically_dependent_continuant
Query: R only continuant
Subclass: independent_continuant, occurrent, spatial_region, 
generically_dependent_continuant

Based on similar queries it is probably the case that when the domain of R is a 
specificially_dependent_continuant, R only x always yields these subclasses.

Domain: independent_continuant
Query: R only continuant
Subclass: dependent_continuant, occurrent, spatial_region

Based on similar queries it is probably the case that when the domain of R is a 
specificially_dependent_continuant, R only x always yields these subclasses.

 

Ruttenberg BFO 2
http://bfo.googlecode.com/svn/releases/owl-ruttenberg-2010-05-25/ruttenberg-bfo2
.owl

Here are some sample queries:

Domain: continuant
Query: R only continuant
Subclass: none

Query: R only dependent_continuant
Subclass: none

Query: R only occurrent
Subclass: none

Based on similar queries it is probably the case that when the domain of R is a 
continuant, there is no problem.

Domain: dependent_continuant
Query: R only continuant
Subclass: none

Based on similar queries it is probably the case that when the domain of R is a 
dependent_continuant, there is no problem.

Domain: generically_dependent_continuant
Query: R only continuant
Subclass: none

Domain: generically_dependent_continuant
Range: independent continuant
Query: R only continuant
Subclass: entity

Domain: n/a
Range: independent continuant
Query: R only continuant
Subclass: entity

Domain: n/a
Range: occurrent
Query: R only continuant
Subclass: none

Domain: n/a
Range: dependent continuant
Query: R only continuant
Subclass: none

Domain: n/a
Range: material entity
Query: R only continuant
Subclass: none

Query: ‘g depends on’ only continuant
Subclass: entity

Query: ‘is concretization of’ only continuant
Subclass: entity

Query: concretizes only continuant
Subclass: entity

Based on similar queries it is probably the case that something funny is 
happening on the continuant branch.
 

BFO 2
2012-11-15-bugfix
http://bfo.googlecode.com/svn/releases/2012-11-15-bugfix/owl-group/bfo.owl

There are a multitude of classes that are subclasses nothing.  In addition, it 
seems that BFO 2 has the same problem as BFO 1.1 and BFO 1.1.1

The general pattern appears to be that R only x subsumes the compliment class 
of the domain of R for all x. However, I have not tried all combinations.

Here are some sample queries:

Domain: continuant
Query: R only continuant
Subclass: occurrent

Query: R only generically-dependent_continuant
Subclass: occurrent

Query: R only occurrent
Subclass: occurrent

Based on similar queries it is probably the case that when the domain of R is a 
continuant, R only x always yields occurrent as a subclass.

Domain: generically_dependent_continuant
Query: R only continuant
Subclass: independent_continuant, occurrent, specifically_dependent_continuant

Based on similar queries it is probably the case that when the domain of R is a 
generically_dependent_continuant, R only x always yields these subclasses.

Domain: specifically_dependent_continuant
Query: R only continuant
Subclass: independent_continuant, occurrent, generically_dependent_continuant

Based on similar queries it is probably the case that when the domain of R is a 
specificially_dependent_continuant, R only x always yields these subclasses.

Domain: independent_continuant
Query: R only continuant
Subclass: dependent_continuant, occurrent, generically dependent continuant

Based on similar queries it is probably the case that when the domain of R is a 
specificially_dependent_continuant, R only x always yields these subclasses.

Original issue reported on code.google.com by alanruttenberg@gmail.com on 1 Mar 2013 at 9:17

GoogleCodeExporter commented 9 years ago
We shouldn't bother with the ruttenberg-bfo2 ones, since that isn't in the line 
of development. So priority: BFO2, BFO1 as time permits

Original comment by alanruttenberg@gmail.com on 1 Mar 2013 at 9:18

GoogleCodeExporter commented 9 years ago
The expression 

simulates only continuant AND simulates only occurrent   (1)

prevents that anything is in the range of simulates, because continunant and 
occurrent are disjoint

This expression is equal to 

simulates only (continuant and occurrent)   (2)

and because the intersection (continuant and occurrent) is equal to nothing

simulates only (Nothing)   (3)

which can be syntactically be transformed into

not (simulates some Thing)   (4)

Does this explain the inference? 

To your more basic example:

Domain: continuant             (5)
Query: R only continuant   (6)
Subclass: occurrent            (7)

This can be explained as following:

R: domain continuant          (5)

is in DL by definition equivalent to the axiom

R some Thing subclassOf Continuant     (8)

R only Continuant    (6)

can be transformed into 

Not (R some (Not Continuant))  (9)

 which implies 

Not (R some Thing)  (10)

because every satisfiable expression implies Thing

As R some Thing is a subclass of continuant (8) then (10) cannot be a subclass 
of continuant 

It is eqivalent to 

Entity and (not continuant) (11)

which subsumes occurrent (7)

q.e.d.

Original comment by steschu@gmail.com on 1 Mar 2013 at 9:45

GoogleCodeExporter commented 9 years ago
I suggest closing this item. There is no bug here in any version of BFO. This 
is how we expect "only" restrictions in OWL to work. 

Original comment by cmung...@gmail.com on 9 Mar 2013 at 10:22