INCATools / INCATools/boomer

fail fast if there are no satisfiable solutions

Open
#369 0 comments 0 reactions 0 assignees View on GitHub

@cmungall is already working on this.

Since Jul 11, 2023.

  • #370 by @cmungall — open
Dominant language
Scala
Stars
37
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Assume we start with:

```
A:1 A:2 0.1 0.0 0.0 0.0
B:2 B:1 0.1 0.0 0.0 0.0
A:1 B:1 0.0 0.0 1.0 0.0
A:2 B:2 0.0 0.0 1.0 0.0
```

this is the same as:

```owl
A:1 sub A:2
B:2 sub B:1
A:1 = B:1
A:2 = B:2
```

i.e. the relationship between 1 and 2 are flipped between A and B, yet they are equivalent. This is unsat if we add the

yields:

---

## SINGLETONS
Method: singletons
Score: 0.0
Estimated probability: 1.0
Confidence: 1.0
Subsequent scores (max 10):

- [A:2](http://example.org/A/2) EquivalentTo [B:2](http://example.org/B/2) (most probable) 1.0

---

Which is odd. It looks like it's rejecting p=1.0 axioms, but in fact it's accepting them:

```owl
Prefix(:=)
Prefix(owl:=)
Prefix(rdf:=)
Prefix(xml:=)
Prefix(xsd:=)
Prefix(rdfs:=)

Ontology(

Declaration(Class())
Declaration(Class())
Declaration(Class())
Declaration(Class())
Declaration(Class())
Declaration(Class())
############################
# Classes
############################

# Class: ()

SubClassOf( )
DisjointClasses( )

# Class: ()

SubClassOf( )
DisjointClasses( )

# Class: ()

EquivalentClasses( )
SubClassOf( )

# Class: ()

EquivalentClasses( )

# Class: ()

SubClassOf( )

)
```

which is unsat:

image

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the minimal ontology and singleton output described in the issue, then inspect the implementation associated with open pull request #370. Done means the unsatisfiable case is detected and fails fast instead of accepting the probability-1 axiom.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.