102
C LASSIFYING C HEMICALS USING DESCRIPTION GRAPHS AND L OGIC P ROGRAMMING Despoina Magka , Boris Motik and Ian Horrocks Department of Computer Science, University of Oxford May 28, 2012

Classifying Chemicals with Description Graphs and Logic Programming

Embed Size (px)

DESCRIPTION

OWL 2 is widely used to describe complex objects such as chemical molecules; however, OWL 2 axioms cannot represent `structural' features of chemical entities such as having a ring. A combination of OWL 2, rules and \emph{description graphs} (DGs) has been suggested as a possible solution, but an attempt to apply this formalism in a chemical Semantic Web application has revealed several drawbacks. Based on this experience, we present a radically different approach to modelling complex objects via a novel formalism that we call Description Graph Logic Programs. At the syntactic level, our approach combines DGs, rules, and OWL 2 RL axioms, but we give semantics to our formalism via a translation into logic programs interpreted under stable model semantics. The result is an expressive formalism that is well suited for modelling objects with complex structure, that captures the OWL 2 RL profile, and that thus fits naturally into the Semantic Web landscape. Additionally, we test the practical feasibility of our approach by means of a prototypical implementation which provides encouraging results.

Citation preview

Page 1: Classifying Chemicals with Description Graphs and Logic Programming

CLASSIFYING CHEMICALS USING DESCRIPTION

GRAPHS AND LOGIC PROGRAMMING

Despoina Magka, Boris Motik and Ian Horrocks

Department of Computer Science, University of Oxford

May 28, 2012

Page 2: Classifying Chemicals with Description Graphs and Logic Programming

OUTLINE

1 MOTIVATION

2 DGLPS, IMPLEMENTATION AND OVERVIEW

1

Page 3: Classifying Chemicals with Description Graphs and Logic Programming

MODELLING CHEMICALS WITH OWL

OWL used for the representation of molecular structures

Classification of chemical compounds[Villanueva-Rosales & Dumontier, OWLED 2007]Chemical information integration[Konyk et al., DILS, 2008 ]Subsumptions between molecules and chemical classes[Hastings et al., OWLED, 2010]

2

Page 4: Classifying Chemicals with Description Graphs and Logic Programming

MODELLING CHEMICALS WITH OWL

OWL used for the representation of molecular structures

Classification of chemical compounds[Villanueva-Rosales & Dumontier, OWLED 2007]

Chemical information integration[Konyk et al., DILS, 2008 ]Subsumptions between molecules and chemical classes[Hastings et al., OWLED, 2010]

2

Page 5: Classifying Chemicals with Description Graphs and Logic Programming

MODELLING CHEMICALS WITH OWL

OWL used for the representation of molecular structures

Classification of chemical compounds[Villanueva-Rosales & Dumontier, OWLED 2007]Chemical information integration[Konyk et al., DILS, 2008 ]

Subsumptions between molecules and chemical classes[Hastings et al., OWLED, 2010]

2

Page 6: Classifying Chemicals with Description Graphs and Logic Programming

MODELLING CHEMICALS WITH OWL

OWL used for the representation of molecular structures

Classification of chemical compounds[Villanueva-Rosales & Dumontier, OWLED 2007]Chemical information integration[Konyk et al., DILS, 2008 ]Subsumptions between molecules and chemical classes[Hastings et al., OWLED, 2010]

2

Page 7: Classifying Chemicals with Description Graphs and Logic Programming

THE CHEBI ONTOLOGY

OWL ontology Chemical Entities of Biological Interest

Freely accessible dictionary of ‘small’ molecular entities

High quality annotation and taxonomy of chemicals

Interoperability between researchers

Drug discovery and elucidation of metabolic pathways

3

Page 8: Classifying Chemicals with Description Graphs and Logic Programming

THE CHEBI ONTOLOGY

OWL ontology Chemical Entities of Biological Interest

Freely accessible dictionary of ‘small’ molecular entities

High quality annotation and taxonomy of chemicals

Interoperability between researchers

Drug discovery and elucidation of metabolic pathways

3

Page 9: Classifying Chemicals with Description Graphs and Logic Programming

THE CHEBI ONTOLOGY

OWL ontology Chemical Entities of Biological Interest

Freely accessible dictionary of ‘small’ molecular entities

High quality annotation and taxonomy of chemicals

Interoperability between researchers

Drug discovery and elucidation of metabolic pathways

3

Page 10: Classifying Chemicals with Description Graphs and Logic Programming

THE CHEBI ONTOLOGY

OWL ontology Chemical Entities of Biological Interest

Freely accessible dictionary of ‘small’ molecular entities

High quality annotation and taxonomy of chemicals

Interoperability between researchers

Drug discovery and elucidation of metabolic pathways

3

Page 11: Classifying Chemicals with Description Graphs and Logic Programming

THE CHEBI ONTOLOGY

OWL ontology Chemical Entities of Biological Interest

Freely accessible dictionary of ‘small’ molecular entities

High quality annotation and taxonomy of chemicals

Interoperability between researchers

Drug discovery and elucidation of metabolic pathways

3

Page 12: Classifying Chemicals with Description Graphs and Logic Programming

AUTOMATE CHEMICAL CLASSIFICATION

ChEBI is manually incremented

Currently contains approx. 28,000 fully annotated entities

Grows at a rate of ~1,500 entities per curator per year

Biologically interesting entities possibly > 1,000,000

Each new molecule is subsumed by several chemicalclasses

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Speed up curating tasks with automated reasoning tools

4

Page 13: Classifying Chemicals with Description Graphs and Logic Programming

AUTOMATE CHEMICAL CLASSIFICATION

ChEBI is manually incremented

Currently contains approx. 28,000 fully annotated entities

Grows at a rate of ~1,500 entities per curator per year

Biologically interesting entities possibly > 1,000,000

Each new molecule is subsumed by several chemicalclasses

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Speed up curating tasks with automated reasoning tools

4

Page 14: Classifying Chemicals with Description Graphs and Logic Programming

AUTOMATE CHEMICAL CLASSIFICATION

ChEBI is manually incremented

Currently contains approx. 28,000 fully annotated entities

Grows at a rate of ~1,500 entities per curator per year

Biologically interesting entities possibly > 1,000,000

Each new molecule is subsumed by several chemicalclasses

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Speed up curating tasks with automated reasoning tools

4

Page 15: Classifying Chemicals with Description Graphs and Logic Programming

AUTOMATE CHEMICAL CLASSIFICATION

ChEBI is manually incremented

Currently contains approx. 28,000 fully annotated entities

Grows at a rate of ~1,500 entities per curator per year

Biologically interesting entities possibly > 1,000,000

Each new molecule is subsumed by several chemicalclasses

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Speed up curating tasks with automated reasoning tools

4

Page 16: Classifying Chemicals with Description Graphs and Logic Programming

AUTOMATE CHEMICAL CLASSIFICATION

ChEBI is manually incremented

Currently contains approx. 28,000 fully annotated entities

Grows at a rate of ~1,500 entities per curator per year

Biologically interesting entities possibly > 1,000,000

Each new molecule is subsumed by several chemicalclasses

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Speed up curating tasks with automated reasoning tools

4

Page 17: Classifying Chemicals with Description Graphs and Logic Programming

AUTOMATE CHEMICAL CLASSIFICATION

ChEBI is manually incremented

Currently contains approx. 28,000 fully annotated entities

Grows at a rate of ~1,500 entities per curator per year

Biologically interesting entities possibly > 1,000,000

Each new molecule is subsumed by several chemicalclasses

Is dinitrogen inorganic?

Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Speed up curating tasks with automated reasoning tools

4

Page 18: Classifying Chemicals with Description Graphs and Logic Programming

AUTOMATE CHEMICAL CLASSIFICATION

ChEBI is manually incremented

Currently contains approx. 28,000 fully annotated entities

Grows at a rate of ~1,500 entities per curator per year

Biologically interesting entities possibly > 1,000,000

Each new molecule is subsumed by several chemicalclasses

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?

Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Speed up curating tasks with automated reasoning tools

4

Page 19: Classifying Chemicals with Description Graphs and Logic Programming

AUTOMATE CHEMICAL CLASSIFICATION

ChEBI is manually incremented

Currently contains approx. 28,000 fully annotated entities

Grows at a rate of ~1,500 entities per curator per year

Biologically interesting entities possibly > 1,000,000

Each new molecule is subsumed by several chemicalclasses

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?

Does benzaldehyde contain a benzene ring?

Speed up curating tasks with automated reasoning tools

4

Page 20: Classifying Chemicals with Description Graphs and Logic Programming

AUTOMATE CHEMICAL CLASSIFICATION

ChEBI is manually incremented

Currently contains approx. 28,000 fully annotated entities

Grows at a rate of ~1,500 entities per curator per year

Biologically interesting entities possibly > 1,000,000

Each new molecule is subsumed by several chemicalclasses

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Speed up curating tasks with automated reasoning tools

4

Page 21: Classifying Chemicals with Description Graphs and Logic Programming

AUTOMATE CHEMICAL CLASSIFICATION

ChEBI is manually incremented

Currently contains approx. 28,000 fully annotated entities

Grows at a rate of ~1,500 entities per curator per year

Biologically interesting entities possibly > 1,000,000

Each new molecule is subsumed by several chemicalclasses

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Speed up curating tasks with automated reasoning tools

4

Page 22: Classifying Chemicals with Description Graphs and Logic Programming

AUTOMATE CHEMICAL CLASSIFICATION

ChEBI is manually incremented

Currently contains approx. 28,000 fully annotated entities

Grows at a rate of ~1,500 entities per curator per year

Biologically interesting entities possibly > 1,000,000

Each new molecule is subsumed by several chemicalclasses

Is dinitrogen inorganic? YesDoes cyclobutane contain a four-membered ring? YesIs acetylene a hydrocarbon? YesDoes benzaldehyde contain a benzene ring? Yes

Speed up curating tasks with automated reasoning tools

4

Page 23: Classifying Chemicals with Description Graphs and Logic Programming

(MIS)REPRESENTING RINGS WITH OWL

Chemical compounds with rings are highly frequent

Fundamental inability of OWL to represent cyclesAt least one tree-shaped model for each consistent OWLknowledge baseOWL-based reasoning support

Does cyclobutane contain a four-membered ring?Does benzaldehyde contain a benzene ring?

5

Page 24: Classifying Chemicals with Description Graphs and Logic Programming

(MIS)REPRESENTING RINGS WITH OWL

Chemical compounds with rings are highly frequentFundamental inability of OWL to represent cycles

At least one tree-shaped model for each consistent OWLknowledge baseOWL-based reasoning support

Does cyclobutane contain a four-membered ring?Does benzaldehyde contain a benzene ring?

5

Page 25: Classifying Chemicals with Description Graphs and Logic Programming

(MIS)REPRESENTING RINGS WITH OWL

Chemical compounds with rings are highly frequentFundamental inability of OWL to represent cyclesAt least one tree-shaped model for each consistent OWLknowledge base

OWL-based reasoning support

Does cyclobutane contain a four-membered ring?Does benzaldehyde contain a benzene ring?

5

Page 26: Classifying Chemicals with Description Graphs and Logic Programming

(MIS)REPRESENTING RINGS WITH OWL

Chemical compounds with rings are highly frequentFundamental inability of OWL to represent cyclesAt least one tree-shaped model for each consistent OWLknowledge base

EXAMPLE

Cyclobutane v ∃(= 4)hasAtom.(Carbon u ∃(= 2)hasBond.Carbon)

C C

CC

OWL-based reasoning support

Does cyclobutane contain a four-membered ring?Does benzaldehyde contain a benzene ring?

5

Page 27: Classifying Chemicals with Description Graphs and Logic Programming

(MIS)REPRESENTING RINGS WITH OWL

Chemical compounds with rings are highly frequentFundamental inability of OWL to represent cyclesAt least one tree-shaped model for each consistent OWLknowledge base

EXAMPLE

Cyclobutane v ∃(= 4)hasAtom.(Carbon u ∃(= 2)hasBond.Carbon)

C C

CC

OWL-based reasoning support

Does cyclobutane contain a four-membered ring?Does benzaldehyde contain a benzene ring?

5

Page 28: Classifying Chemicals with Description Graphs and Logic Programming

(MIS)REPRESENTING RINGS WITH OWL

Chemical compounds with rings are highly frequentFundamental inability of OWL to represent cyclesAt least one tree-shaped model for each consistent OWLknowledge base

EXAMPLE

Cyclobutane v ∃(= 4)hasAtom.(Carbon u ∃(= 2)hasBond.Carbon)

C C

CC

OWL-based reasoning support

Does cyclobutane contain a four-membered ring?Does benzaldehyde contain a benzene ring?

5

Page 29: Classifying Chemicals with Description Graphs and Logic Programming

(MIS)REPRESENTING RINGS WITH OWL

Chemical compounds with rings are highly frequentFundamental inability of OWL to represent cyclesAt least one tree-shaped model for each consistent OWLknowledge base

EXAMPLE

Cyclobutane v ∃(= 4)hasAtom.(Carbon u ∃(= 2)hasBond.Carbon)

C C

CC

OWL-based reasoning support

Does cyclobutane contain a four-membered ring?Does benzaldehyde contain a benzene ring?

5

Page 30: Classifying Chemicals with Description Graphs and Logic Programming

(MIS)REPRESENTING RINGS WITH OWL

Chemical compounds with rings are highly frequentFundamental inability of OWL to represent cyclesAt least one tree-shaped model for each consistent OWLknowledge base

EXAMPLE

Cyclobutane v ∃(= 4)hasAtom.(Carbon u ∃(= 2)hasBond.Carbon)

C C

CC

OWL-based reasoning support

Does cyclobutane contain a four-membered ring? 8

Does benzaldehyde contain a benzene ring? 8

5

Page 31: Classifying Chemicals with Description Graphs and Logic Programming

OWL EXTENSIONS

Limitation of OWL to represent cycles (partially) remediedby extension of OWL with Description Graphs and rules[Motik et al., 2009]

A Description Graph represents structures by means of adirected labeled graphIs cyclobutadiene a hydrocarbon?

6

Page 32: Classifying Chemicals with Description Graphs and Logic Programming

OWL EXTENSIONS

Limitation of OWL to represent cycles (partially) remediedby extension of OWL with Description Graphs and rules[Motik et al., 2009]A Description Graph represents structures by means of adirected labeled graph

Is cyclobutadiene a hydrocarbon?

6

Page 33: Classifying Chemicals with Description Graphs and Logic Programming

OWL EXTENSIONS

Limitation of OWL to represent cycles (partially) remediedby extension of OWL with Description Graphs and rules[Motik et al., 2009]A Description Graph represents structures by means of adirected labeled graph

EXAMPLE

C C

CC

1Cyclobutadiene

2Carbon 3 Carbon

4 Carbon5Carbon

∀hasAtom.(Carbon t Hydrogen) v Hydrocarbon

Is cyclobutadiene a hydrocarbon?

6

Page 34: Classifying Chemicals with Description Graphs and Logic Programming

OWL EXTENSIONS

Limitation of OWL to represent cycles (partially) remediedby extension of OWL with Description Graphs and rules[Motik et al., 2009]A Description Graph represents structures by means of adirected labeled graph

EXAMPLE

C C

CC

1Cyclobutadiene

2Carbon 3 Carbon

4 Carbon5Carbon

∀hasAtom.(Carbon t Hydrogen) v Hydrocarbon

Is cyclobutadiene a hydrocarbon?

6

Page 35: Classifying Chemicals with Description Graphs and Logic Programming

OWL EXTENSIONS

Limitation of OWL to represent cycles (partially) remediedby extension of OWL with Description Graphs and rules[Motik et al., 2009]A Description Graph represents structures by means of adirected labeled graph

EXAMPLE

C C

CC

1Cyclobutadiene

2Carbon 3 Carbon

4 Carbon5Carbon

∀hasAtom.(Carbon t Hydrogen) v Hydrocarbon

Does cyclobutadiene have a conjugated four-memberedring?

Is cyclobutadiene a hydrocarbon?

6

Page 36: Classifying Chemicals with Description Graphs and Logic Programming

OWL EXTENSIONS

Limitation of OWL to represent cycles (partially) remediedby extension of OWL with Description Graphs and rules[Motik et al., 2009]A Description Graph represents structures by means of adirected labeled graph

EXAMPLE

C C

CC

1Cyclobutadiene

2Carbon 3 Carbon

4 Carbon5Carbon

∀hasAtom.(Carbon t Hydrogen) v Hydrocarbon

Does cyclobutadiene have a conjugated four-memberedring? 3

Is cyclobutadiene a hydrocarbon?

6

Page 37: Classifying Chemicals with Description Graphs and Logic Programming

OWL EXTENSIONS

Limitation of OWL to represent cycles (partially) remediedby extension of OWL with Description Graphs and rules[Motik et al., 2009]A Description Graph represents structures by means of adirected labeled graph

EXAMPLE

C C

CC

1Cyclobutadiene

2Carbon 3 Carbon

4 Carbon5Carbon

Oxygen

∀hasAtom.(Carbon t Hydrogen) v Hydrocarbon

Is cyclobutadiene a hydrocarbon?

6

Page 38: Classifying Chemicals with Description Graphs and Logic Programming

OWL EXTENSIONS

Limitation of OWL to represent cycles (partially) remediedby extension of OWL with Description Graphs and rules[Motik et al., 2009]A Description Graph represents structures by means of adirected labeled graph

EXAMPLE

C C

CC

1Cyclobutadiene

2Carbon 3 Carbon

4 Carbon5Carbon

Oxygen

∀hasAtom.(Carbon t Hydrogen) v Hydrocarbon

Is cyclobutadiene a hydrocarbon?

6

Page 39: Classifying Chemicals with Description Graphs and Logic Programming

OWL EXTENSIONS

Limitation of OWL to represent cycles (partially) remediedby extension of OWL with Description Graphs and rules[Motik et al., 2009]A Description Graph represents structures by means of adirected labeled graph

EXAMPLE

C C

CC

1Cyclobutadiene

2Carbon 3 Carbon

4 Carbon5Carbon

Oxygen

∀hasAtom.(Carbon t Hydrogen) v Hydrocarbon

Is cyclobutadiene a hydrocarbon?

6

Page 40: Classifying Chemicals with Description Graphs and Logic Programming

OWL EXTENSIONS

Limitation of OWL to represent cycles (partially) remediedby extension of OWL with Description Graphs and rules[Motik et al., 2009]A Description Graph represents structures by means of adirected labeled graph

EXAMPLE

C C

CC

1Cyclobutadiene

2Carbon 3 Carbon

4 Carbon5Carbon

Oxygen

∀hasAtom.(Carbon t Hydrogen) v Hydrocarbon

Is cyclobutadiene a hydrocarbon? 8

6

Page 41: Classifying Chemicals with Description Graphs and Logic Programming

RESULTS OVERVIEW

Key idea:

Switch from first-order logic to logic programming semantics

Replace classical negation with negation-as-failure

Double benefit:

1 Encode chemical classes based on the absence ofinformation

2 Represent rings with adequate precision (e.g. cycloalkanes,benzene rings,. . . )

Expressive decidable logic-based formalism for modellingstructured entities: Description Graph Logic Programs(DGLPs)Prototypical implementation of a logic-based chemicalclassification software

7

Page 42: Classifying Chemicals with Description Graphs and Logic Programming

RESULTS OVERVIEW

Key idea:Switch from first-order logic to logic programming semantics

Replace classical negation with negation-as-failure

Double benefit:

1 Encode chemical classes based on the absence ofinformation

2 Represent rings with adequate precision (e.g. cycloalkanes,benzene rings,. . . )

Expressive decidable logic-based formalism for modellingstructured entities: Description Graph Logic Programs(DGLPs)Prototypical implementation of a logic-based chemicalclassification software

7

Page 43: Classifying Chemicals with Description Graphs and Logic Programming

RESULTS OVERVIEW

Key idea:Switch from first-order logic to logic programming semantics

Replace classical negation with negation-as-failure

Double benefit:

1 Encode chemical classes based on the absence ofinformation

2 Represent rings with adequate precision (e.g. cycloalkanes,benzene rings,. . . )

Expressive decidable logic-based formalism for modellingstructured entities: Description Graph Logic Programs(DGLPs)Prototypical implementation of a logic-based chemicalclassification software

7

Page 44: Classifying Chemicals with Description Graphs and Logic Programming

RESULTS OVERVIEW

Key idea:Switch from first-order logic to logic programming semantics

Replace classical negation with negation-as-failure

Double benefit:

1 Encode chemical classes based on the absence ofinformation

2 Represent rings with adequate precision (e.g. cycloalkanes,benzene rings,. . . )

Expressive decidable logic-based formalism for modellingstructured entities: Description Graph Logic Programs(DGLPs)Prototypical implementation of a logic-based chemicalclassification software

7

Page 45: Classifying Chemicals with Description Graphs and Logic Programming

RESULTS OVERVIEW

Key idea:Switch from first-order logic to logic programming semantics

Replace classical negation with negation-as-failure

Double benefit:

1 Encode chemical classes based on the absence ofinformation

2 Represent rings with adequate precision (e.g. cycloalkanes,benzene rings,. . . )

Expressive decidable logic-based formalism for modellingstructured entities: Description Graph Logic Programs(DGLPs)Prototypical implementation of a logic-based chemicalclassification software

7

Page 46: Classifying Chemicals with Description Graphs and Logic Programming

RESULTS OVERVIEW

Key idea:Switch from first-order logic to logic programming semantics

Replace classical negation with negation-as-failure

Double benefit:

1 Encode chemical classes based on the absence ofinformation (e.g. hydrocarbons, inorganic molecules,saturated compounds,. . . )

2 Represent rings with adequate precision (e.g. cycloalkanes,benzene rings,. . . )

Expressive decidable logic-based formalism for modellingstructured entities: Description Graph Logic Programs(DGLPs)Prototypical implementation of a logic-based chemicalclassification software

7

Page 47: Classifying Chemicals with Description Graphs and Logic Programming

RESULTS OVERVIEW

Key idea:Switch from first-order logic to logic programming semantics

Replace classical negation with negation-as-failure

Double benefit:

1 Encode chemical classes based on the absence ofinformation (e.g. hydrocarbons, inorganic molecules,saturated compounds,. . . )

2 Represent rings with adequate precision

(e.g. cycloalkanes,benzene rings,. . . )

Expressive decidable logic-based formalism for modellingstructured entities: Description Graph Logic Programs(DGLPs)Prototypical implementation of a logic-based chemicalclassification software

7

Page 48: Classifying Chemicals with Description Graphs and Logic Programming

RESULTS OVERVIEW

Key idea:Switch from first-order logic to logic programming semantics

Replace classical negation with negation-as-failure

Double benefit:

1 Encode chemical classes based on the absence ofinformation (e.g. hydrocarbons, inorganic molecules,saturated compounds,. . . )

2 Represent rings with adequate precision (e.g. cycloalkanes,benzene rings,. . . )

Expressive decidable logic-based formalism for modellingstructured entities: Description Graph Logic Programs(DGLPs)Prototypical implementation of a logic-based chemicalclassification software

7

Page 49: Classifying Chemicals with Description Graphs and Logic Programming

RESULTS OVERVIEW

Key idea:Switch from first-order logic to logic programming semantics

Replace classical negation with negation-as-failure

Double benefit:

1 Encode chemical classes based on the absence ofinformation (e.g. hydrocarbons, inorganic molecules,saturated compounds,. . . )

2 Represent rings with adequate precision (e.g. cycloalkanes,benzene rings,. . . )

Expressive decidable logic-based formalism for modellingstructured entities: Description Graph Logic Programs(DGLPs)

Prototypical implementation of a logic-based chemicalclassification software

7

Page 50: Classifying Chemicals with Description Graphs and Logic Programming

RESULTS OVERVIEW

Key idea:Switch from first-order logic to logic programming semantics

Replace classical negation with negation-as-failure

Double benefit:

1 Encode chemical classes based on the absence ofinformation (e.g. hydrocarbons, inorganic molecules,saturated compounds,. . . )

2 Represent rings with adequate precision (e.g. cycloalkanes,benzene rings,. . . )

Expressive decidable logic-based formalism for modellingstructured entities: Description Graph Logic Programs(DGLPs)Prototypical implementation of a logic-based chemicalclassification software

7

Page 51: Classifying Chemicals with Description Graphs and Logic Programming

OUTLINE

1 MOTIVATION

2 DGLPS, IMPLEMENTATION AND OVERVIEW

8

Page 52: Classifying Chemicals with Description Graphs and Logic Programming

WHAT IS A DGLP ONTOLOGY?The syntactic objects of a DGLP ontology:

Description graphsFunction-free FOL Horn rulesRules with negation-as-failureFacts

9

Page 53: Classifying Chemicals with Description Graphs and Logic Programming

WHAT IS A DGLP ONTOLOGY?The syntactic objects of a DGLP ontology:

Description graphs

Function-free FOL Horn rulesRules with negation-as-failureFacts

9

Page 54: Classifying Chemicals with Description Graphs and Logic Programming

WHAT IS A DGLP ONTOLOGY?The syntactic objects of a DGLP ontology:

Description graphs

EXAMPLE

C C

CC

1Cyclobutane

2Carbon 3 Carbon

4 Carbon5Carbon

O O

1Dioxygen

2Oxygen 3 Oxygen

Function-free FOL Horn rulesRules with negation-as-failureFacts

9

Page 55: Classifying Chemicals with Description Graphs and Logic Programming

WHAT IS A DGLP ONTOLOGY?The syntactic objects of a DGLP ontology:

Description graphsFunction-free FOL Horn rules

Rules with negation-as-failureFacts

9

Page 56: Classifying Chemicals with Description Graphs and Logic Programming

WHAT IS A DGLP ONTOLOGY?The syntactic objects of a DGLP ontology:

Description graphsFunction-free FOL Horn rules

EXAMPLEBond(x, y) → Bond(y, x)SingleBond(x, y) → Bond(x, y)

Rules with negation-as-failureFacts

9

Page 57: Classifying Chemicals with Description Graphs and Logic Programming

WHAT IS A DGLP ONTOLOGY?The syntactic objects of a DGLP ontology:

Description graphsFunction-free FOL Horn rules

EXAMPLEBond(x, y) → Bond(y, x)SingleBond(x, y) → Bond(x, y)

Rules with negation-as-failure

Facts

9

Page 58: Classifying Chemicals with Description Graphs and Logic Programming

WHAT IS A DGLP ONTOLOGY?The syntactic objects of a DGLP ontology:

Description graphsFunction-free FOL Horn rules

EXAMPLEBond(x, y) → Bond(y, x)SingleBond(x, y) → Bond(x, y)

Rules with negation-as-failure

EXAMPLEHasAtom(x, y) ∧ Carbon(y) → HasCarbon(x)Molecule(x)∧ not HasCarbon(x) → Inorganic(x)

Facts

9

Page 59: Classifying Chemicals with Description Graphs and Logic Programming

WHAT IS A DGLP ONTOLOGY?The syntactic objects of a DGLP ontology:

Description graphsFunction-free FOL Horn rules

EXAMPLEBond(x, y) → Bond(y, x)SingleBond(x, y) → Bond(x, y)

Rules with negation-as-failure

EXAMPLEHasAtom(x, y) ∧ Carbon(y) → HasCarbon(x)Molecule(x)∧ not HasCarbon(x) → Inorganic(x)

Facts

9

Page 60: Classifying Chemicals with Description Graphs and Logic Programming

WHAT IS A DGLP ONTOLOGY?The syntactic objects of a DGLP ontology:

Description graphsFunction-free FOL Horn rules

EXAMPLEBond(x, y) → Bond(y, x)SingleBond(x, y) → Bond(x, y)

Rules with negation-as-failure

EXAMPLEHasAtom(x, y) ∧ Carbon(y) → HasCarbon(x)Molecule(x)∧ not HasCarbon(x) → Inorganic(x)

Facts

EXAMPLE

Cyclobutane(c1), Dinitrogen(c2), . . .

9

Page 61: Classifying Chemicals with Description Graphs and Logic Programming

ENCODING DESCRIPTION GRAPHS

Translate DGs into logic programs with function symbols

Function symbols allow for schema-level reasoning

10

Page 62: Classifying Chemicals with Description Graphs and Logic Programming

ENCODING DESCRIPTION GRAPHS

Translate DGs into logic programs with function symbols

EXAMPLE

Function symbols allow for schema-level reasoning

10

Page 63: Classifying Chemicals with Description Graphs and Logic Programming

ENCODING DESCRIPTION GRAPHS

Translate DGs into logic programs with function symbols

EXAMPLE

Cyclobutane(x) →Gcb(x, f1(x), f2(x), f3(x), f4(x))Gcb(x, y1, y2, y3, y4) →Cyclobutane(x) ∧

Carbon(y1) ∧ Carbon(y2) ∧Carbon(y3) ∧ Carbon(y4) ∧HasAtom(x, y1) ∧ Bond(y1, y2) ∧HasAtom(x, y2) ∧ Bond(y2, y3) ∧HasAtom(x, y3) ∧ Bond(y3, y4) ∧HasAtom(x, y4) ∧ Bond(y4, y1)

Function symbols allow for schema-level reasoning

10

Page 64: Classifying Chemicals with Description Graphs and Logic Programming

ENCODING DESCRIPTION GRAPHS

Translate DGs into logic programs with function symbols

EXAMPLE

Cyclobutane(x) →Gcb(x, f1(x), f2(x), f3(x), f4(x))Gcb(x, y1, y2, y3, y4) →Cyclobutane(x) ∧

Carbon(y1) ∧ Carbon(y2) ∧Carbon(y3) ∧ Carbon(y4) ∧HasAtom(x, y1) ∧ Bond(y1, y2) ∧HasAtom(x, y2) ∧ Bond(y2, y3) ∧HasAtom(x, y3) ∧ Bond(y3, y4) ∧HasAtom(x, y4) ∧ Bond(y4, y1)

Function symbols allow for schema-level reasoning

10

Page 65: Classifying Chemicals with Description Graphs and Logic Programming

CLASSIFYING CHEMICALS

EXAMPLE

Molecule(x) ∧ HasAtom(x, y) ∧ not Carbon(y) ∧ not Hydrogen(y)→ NotHydroCarbon(x)Molecule(x) ∧ not NotHydroCarbon(x) → HydroCarbon(x)

C C

CC

Is cyclobutane ahydrocarbon? 3

11

Page 66: Classifying Chemicals with Description Graphs and Logic Programming

CLASSIFYING CHEMICALS

EXAMPLE

Molecule(x) ∧ HasAtom(x, y) ∧ not Carbon(y) ∧ not Hydrogen(y)→ NotHydroCarbon(x)Molecule(x) ∧ not NotHydroCarbon(x) → HydroCarbon(x)

C C

CC

Is cyclobutane ahydrocarbon? 3

11

Page 67: Classifying Chemicals with Description Graphs and Logic Programming

CLASSIFYING CHEMICALS

EXAMPLE

Molecule(x) ∧ HasAtom(x, y) ∧ not Carbon(y) ∧ not Hydrogen(y)→ NotHydroCarbon(x)Molecule(x) ∧ not NotHydroCarbon(x) → HydroCarbon(x)

C C

CC

Is cyclobutane ahydrocarbon? 3

11

Page 68: Classifying Chemicals with Description Graphs and Logic Programming

CLASSIFYING CHEMICALS

EXAMPLE

Molecule(x) ∧∧

1≤i≤4

HasAtom(x, yi) ∧∧

1≤i≤3

Bond(yi, yi+1) ∧

Bond(y4, y1)∧

1≤i<j≤4

not yi = yj

→ MoleculeWith4MemberedRing(x)

C C

CC

Does cyclobutane contain afour-membered ring? 3

12

Page 69: Classifying Chemicals with Description Graphs and Logic Programming

CLASSIFYING CHEMICALS

EXAMPLE

Molecule(x) ∧∧

1≤i≤4

HasAtom(x, yi) ∧∧

1≤i≤3

Bond(yi, yi+1) ∧

Bond(y4, y1)∧

1≤i<j≤4

not yi = yj

→ MoleculeWith4MemberedRing(x)

C C

CC

Does cyclobutane contain afour-membered ring? 3

12

Page 70: Classifying Chemicals with Description Graphs and Logic Programming

CLASSIFYING CHEMICALS

EXAMPLE

Molecule(x) ∧∧

1≤i≤4

HasAtom(x, yi) ∧∧

1≤i≤3

Bond(yi, yi+1) ∧

Bond(y4, y1)∧

1≤i<j≤4

not yi = yj

→ MoleculeWith4MemberedRing(x)

C C

CC

Does cyclobutane contain afour-membered ring? 3

12

Page 71: Classifying Chemicals with Description Graphs and Logic Programming

UNDECIDABILITY

Logic programs with function symbols can axiomatiseinfinitely large structures

Reasoning with DGLP ontologies is trivially undecidableWe are only interested in finite structures

13

Page 72: Classifying Chemicals with Description Graphs and Logic Programming

UNDECIDABILITY

Logic programs with function symbols can axiomatiseinfinitely large structuresReasoning with DGLP ontologies is trivially undecidable

We are only interested in finite structures

13

Page 73: Classifying Chemicals with Description Graphs and Logic Programming

UNDECIDABILITY

Logic programs with function symbols can axiomatiseinfinitely large structuresReasoning with DGLP ontologies is trivially undecidableWe are only interested in finite structures

13

Page 74: Classifying Chemicals with Description Graphs and Logic Programming

UNDECIDABILITY

Logic programs with function symbols can axiomatiseinfinitely large structuresReasoning with DGLP ontologies is trivially undecidableWe are only interested in finite structures

EXAMPLE

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

1AceticAcid

2Methyl

3Carboxyl

1Carboxyl

2Carbonyl

3Hydroxyl

13

Page 75: Classifying Chemicals with Description Graphs and Logic Programming

ACYCLICITY CONDITIONS

Formalisms extensively studied, e.g. Datalog±

Various syntax-based acyclicity conditionsweak acyclicity [Fagin et al., ICDT, 2002]super-weak acyclicity [Marnette, PODS, 2009]joint acyclicity [Krötzsch and Rudolph, IJCAI, 2011]rule out naturally-arising nested structures

EXAMPLE

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

1AceticAcid

2Methyl

3Carboxyl

1Carboxyl

2Carbonyl

3Hydroxyl

Novel semantic acyclicity conditionchecks for generation of unbounded structures on the flymodelling of molecules that contain functional groups

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

14

Page 76: Classifying Chemicals with Description Graphs and Logic Programming

ACYCLICITY CONDITIONS

Formalisms extensively studied, e.g. Datalog±

Various syntax-based acyclicity conditions

weak acyclicity [Fagin et al., ICDT, 2002]super-weak acyclicity [Marnette, PODS, 2009]joint acyclicity [Krötzsch and Rudolph, IJCAI, 2011]rule out naturally-arising nested structures

EXAMPLE

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

1AceticAcid

2Methyl

3Carboxyl

1Carboxyl

2Carbonyl

3Hydroxyl

Novel semantic acyclicity conditionchecks for generation of unbounded structures on the flymodelling of molecules that contain functional groups

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

14

Page 77: Classifying Chemicals with Description Graphs and Logic Programming

ACYCLICITY CONDITIONS

Formalisms extensively studied, e.g. Datalog±

Various syntax-based acyclicity conditionsweak acyclicity [Fagin et al., ICDT, 2002]super-weak acyclicity [Marnette, PODS, 2009]joint acyclicity [Krötzsch and Rudolph, IJCAI, 2011]

rule out naturally-arising nested structures

EXAMPLE

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

1AceticAcid

2Methyl

3Carboxyl

1Carboxyl

2Carbonyl

3Hydroxyl

Novel semantic acyclicity conditionchecks for generation of unbounded structures on the flymodelling of molecules that contain functional groups

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

14

Page 78: Classifying Chemicals with Description Graphs and Logic Programming

ACYCLICITY CONDITIONS

Formalisms extensively studied, e.g. Datalog±

Various syntax-based acyclicity conditionsweak acyclicity [Fagin et al., ICDT, 2002]super-weak acyclicity [Marnette, PODS, 2009]joint acyclicity [Krötzsch and Rudolph, IJCAI, 2011]rule out naturally-arising nested structures

EXAMPLE

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

1AceticAcid

2Methyl

3Carboxyl

1Carboxyl

2Carbonyl

3Hydroxyl

Novel semantic acyclicity conditionchecks for generation of unbounded structures on the flymodelling of molecules that contain functional groups

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

14

Page 79: Classifying Chemicals with Description Graphs and Logic Programming

ACYCLICITY CONDITIONS

Formalisms extensively studied, e.g. Datalog±

Various syntax-based acyclicity conditionsweak acyclicity [Fagin et al., ICDT, 2002]super-weak acyclicity [Marnette, PODS, 2009]joint acyclicity [Krötzsch and Rudolph, IJCAI, 2011]rule out naturally-arising nested structures

EXAMPLE

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

1AceticAcid

2Methyl

3Carboxyl

1Carboxyl

2Carbonyl

3Hydroxyl

Novel semantic acyclicity conditionchecks for generation of unbounded structures on the flymodelling of molecules that contain functional groups

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

14

Page 80: Classifying Chemicals with Description Graphs and Logic Programming

ACYCLICITY CONDITIONS

Formalisms extensively studied, e.g. Datalog±

Various syntax-based acyclicity conditionsweak acyclicity [Fagin et al., ICDT, 2002]super-weak acyclicity [Marnette, PODS, 2009]joint acyclicity [Krötzsch and Rudolph, IJCAI, 2011]rule out naturally-arising nested structures

EXAMPLE

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

1AceticAcid

2Methyl

3Carboxyl

1Carboxyl

2Carbonyl

3Hydroxyl

Novel semantic acyclicity condition

checks for generation of unbounded structures on the flymodelling of molecules that contain functional groups

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

14

Page 81: Classifying Chemicals with Description Graphs and Logic Programming

ACYCLICITY CONDITIONS

Formalisms extensively studied, e.g. Datalog±

Various syntax-based acyclicity conditionsweak acyclicity [Fagin et al., ICDT, 2002]super-weak acyclicity [Marnette, PODS, 2009]joint acyclicity [Krötzsch and Rudolph, IJCAI, 2011]rule out naturally-arising nested structures

EXAMPLE

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

1AceticAcid

2Methyl

3Carboxyl

1Carboxyl

2Carbonyl

3Hydroxyl

Novel semantic acyclicity conditionchecks for generation of unbounded structures on the fly

modelling of molecules that contain functional groups

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

14

Page 82: Classifying Chemicals with Description Graphs and Logic Programming

ACYCLICITY CONDITIONS

Formalisms extensively studied, e.g. Datalog±

Various syntax-based acyclicity conditionsweak acyclicity [Fagin et al., ICDT, 2002]super-weak acyclicity [Marnette, PODS, 2009]joint acyclicity [Krötzsch and Rudolph, IJCAI, 2011]rule out naturally-arising nested structures

EXAMPLE

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

1AceticAcid

2Methyl

3Carboxyl

1Carboxyl

2Carbonyl

3Hydroxyl

Novel semantic acyclicity conditionchecks for generation of unbounded structures on the flymodelling of molecules that contain functional groups

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

14

Page 83: Classifying Chemicals with Description Graphs and Logic Programming

ACYCLICITY CONDITIONS

Formalisms extensively studied, e.g. Datalog±

Various syntax-based acyclicity conditionsweak acyclicity [Fagin et al., ICDT, 2002]super-weak acyclicity [Marnette, PODS, 2009]joint acyclicity [Krötzsch and Rudolph, IJCAI, 2011]rule out naturally-arising nested structures

EXAMPLE

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

1AceticAcid

2Methyl

3Carboxyl

1Carboxyl

2Carbonyl

3Hydroxyl

Novel semantic acyclicity conditionchecks for generation of unbounded structures on the flymodelling of molecules that contain functional groups

Methyl

Carboxyl

Carbonyl

Hydroxyl

O

C

CH3 OH

14

Page 84: Classifying Chemicals with Description Graphs and Logic Programming

EMPIRICAL EVALUATION

Data extracted from ChEBI in Molfile format

XSB logic programming engineChemical classes:

HydrocarbonsInorganic moleculesMolecules with exactly two carbonsMolecules with a four-membered ringMolecules with a benzene

Preliminary evaluation ranging from 10 to 70 moleculesResults:

All DGLP ontologies were found acyclicMolecules classified as expectedSuite of subsumption tests for largest ontology performed infew minutes

15

Page 85: Classifying Chemicals with Description Graphs and Logic Programming

EMPIRICAL EVALUATION

Data extracted from ChEBI in Molfile formatXSB logic programming engine

Chemical classes:

HydrocarbonsInorganic moleculesMolecules with exactly two carbonsMolecules with a four-membered ringMolecules with a benzene

Preliminary evaluation ranging from 10 to 70 moleculesResults:

All DGLP ontologies were found acyclicMolecules classified as expectedSuite of subsumption tests for largest ontology performed infew minutes

15

Page 86: Classifying Chemicals with Description Graphs and Logic Programming

EMPIRICAL EVALUATION

Data extracted from ChEBI in Molfile formatXSB logic programming engineChemical classes:

HydrocarbonsInorganic moleculesMolecules with exactly two carbonsMolecules with a four-membered ringMolecules with a benzene

Preliminary evaluation ranging from 10 to 70 moleculesResults:

All DGLP ontologies were found acyclicMolecules classified as expectedSuite of subsumption tests for largest ontology performed infew minutes

15

Page 87: Classifying Chemicals with Description Graphs and Logic Programming

EMPIRICAL EVALUATION

Data extracted from ChEBI in Molfile formatXSB logic programming engineChemical classes:

HydrocarbonsInorganic moleculesMolecules with exactly two carbonsMolecules with a four-membered ringMolecules with a benzene

Preliminary evaluation ranging from 10 to 70 moleculesResults:

All DGLP ontologies were found acyclicMolecules classified as expectedSuite of subsumption tests for largest ontology performed infew minutes

15

Page 88: Classifying Chemicals with Description Graphs and Logic Programming

EMPIRICAL EVALUATION

Data extracted from ChEBI in Molfile formatXSB logic programming engineChemical classes:

HydrocarbonsInorganic moleculesMolecules with exactly two carbonsMolecules with a four-membered ringMolecules with a benzene

Preliminary evaluation ranging from 10 to 70 molecules

Results:

All DGLP ontologies were found acyclicMolecules classified as expectedSuite of subsumption tests for largest ontology performed infew minutes

15

Page 89: Classifying Chemicals with Description Graphs and Logic Programming

EMPIRICAL EVALUATION

Data extracted from ChEBI in Molfile formatXSB logic programming engineChemical classes:

HydrocarbonsInorganic moleculesMolecules with exactly two carbonsMolecules with a four-membered ringMolecules with a benzene

Preliminary evaluation ranging from 10 to 70 moleculesResults:

All DGLP ontologies were found acyclicMolecules classified as expectedSuite of subsumption tests for largest ontology performed infew minutes

15

Page 90: Classifying Chemicals with Description Graphs and Logic Programming

EMPIRICAL EVALUATION

Data extracted from ChEBI in Molfile formatXSB logic programming engineChemical classes:

HydrocarbonsInorganic moleculesMolecules with exactly two carbonsMolecules with a four-membered ringMolecules with a benzene

Preliminary evaluation ranging from 10 to 70 moleculesResults:

All DGLP ontologies were found acyclic

Molecules classified as expectedSuite of subsumption tests for largest ontology performed infew minutes

15

Page 91: Classifying Chemicals with Description Graphs and Logic Programming

EMPIRICAL EVALUATION

Data extracted from ChEBI in Molfile formatXSB logic programming engineChemical classes:

HydrocarbonsInorganic moleculesMolecules with exactly two carbonsMolecules with a four-membered ringMolecules with a benzene

Preliminary evaluation ranging from 10 to 70 moleculesResults:

All DGLP ontologies were found acyclicMolecules classified as expected

Suite of subsumption tests for largest ontology performed infew minutes

15

Page 92: Classifying Chemicals with Description Graphs and Logic Programming

EMPIRICAL EVALUATION

Data extracted from ChEBI in Molfile formatXSB logic programming engineChemical classes:

HydrocarbonsInorganic moleculesMolecules with exactly two carbonsMolecules with a four-membered ringMolecules with a benzene

Preliminary evaluation ranging from 10 to 70 moleculesResults:

All DGLP ontologies were found acyclicMolecules classified as expectedSuite of subsumption tests for largest ontology performed infew minutes

15

Page 93: Classifying Chemicals with Description Graphs and Logic Programming

OVERVIEW AND FUTURE DIRECTIONS

1 Expressive and decidable formalism for representation ofstructured objects

2 Novel acyclicity condition for logic programs with restricteduse of function symbols

3 Prototype for the automated classification of chemicals

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Future directions:

Datalog rules with existentials in the headUser-friendly surface syntaxFully-fledged chemical classification system

Thank you for listening. Questions?

16

Page 94: Classifying Chemicals with Description Graphs and Logic Programming

OVERVIEW AND FUTURE DIRECTIONS

1 Expressive and decidable formalism for representation ofstructured objects

2 Novel acyclicity condition for logic programs with restricteduse of function symbols

3 Prototype for the automated classification of chemicals

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Future directions:

Datalog rules with existentials in the headUser-friendly surface syntaxFully-fledged chemical classification system

Thank you for listening. Questions?

16

Page 95: Classifying Chemicals with Description Graphs and Logic Programming

OVERVIEW AND FUTURE DIRECTIONS

1 Expressive and decidable formalism for representation ofstructured objects

2 Novel acyclicity condition for logic programs with restricteduse of function symbols

3 Prototype for the automated classification of chemicals

Is dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Future directions:

Datalog rules with existentials in the headUser-friendly surface syntaxFully-fledged chemical classification system

Thank you for listening. Questions?

16

Page 96: Classifying Chemicals with Description Graphs and Logic Programming

OVERVIEW AND FUTURE DIRECTIONS

1 Expressive and decidable formalism for representation ofstructured objects

2 Novel acyclicity condition for logic programs with restricteduse of function symbols

3 Prototype for the automated classification of chemicalsIs dinitrogen inorganic?Does cyclobutane contain a four-membered ring?Is acetylene a hydrocarbon?Does benzaldehyde contain a benzene ring?

Future directions:

Datalog rules with existentials in the headUser-friendly surface syntaxFully-fledged chemical classification system

Thank you for listening. Questions?

16

Page 97: Classifying Chemicals with Description Graphs and Logic Programming

OVERVIEW AND FUTURE DIRECTIONS

1 Expressive and decidable formalism for representation ofstructured objects

2 Novel acyclicity condition for logic programs with restricteduse of function symbols

3 Prototype for the automated classification of chemicalsIs dinitrogen inorganic? 3Does cyclobutane contain a four-membered ring? 3Is acetylene a hydrocarbon? 3Does benzaldehyde contain a benzene ring? 3

Future directions:

Datalog rules with existentials in the headUser-friendly surface syntaxFully-fledged chemical classification system

Thank you for listening. Questions?

16

Page 98: Classifying Chemicals with Description Graphs and Logic Programming

OVERVIEW AND FUTURE DIRECTIONS

1 Expressive and decidable formalism for representation ofstructured objects

2 Novel acyclicity condition for logic programs with restricteduse of function symbols

3 Prototype for the automated classification of chemicalsIs dinitrogen inorganic? 3Does cyclobutane contain a four-membered ring? 3Is acetylene a hydrocarbon? 3Does benzaldehyde contain a benzene ring? 3

Future directions:

Datalog rules with existentials in the headUser-friendly surface syntaxFully-fledged chemical classification system

Thank you for listening. Questions?

16

Page 99: Classifying Chemicals with Description Graphs and Logic Programming

OVERVIEW AND FUTURE DIRECTIONS

1 Expressive and decidable formalism for representation ofstructured objects

2 Novel acyclicity condition for logic programs with restricteduse of function symbols

3 Prototype for the automated classification of chemicalsIs dinitrogen inorganic? 3Does cyclobutane contain a four-membered ring? 3Is acetylene a hydrocarbon? 3Does benzaldehyde contain a benzene ring? 3

Future directions:Datalog rules with existentials in the head

User-friendly surface syntaxFully-fledged chemical classification system

Thank you for listening. Questions?

16

Page 100: Classifying Chemicals with Description Graphs and Logic Programming

OVERVIEW AND FUTURE DIRECTIONS

1 Expressive and decidable formalism for representation ofstructured objects

2 Novel acyclicity condition for logic programs with restricteduse of function symbols

3 Prototype for the automated classification of chemicalsIs dinitrogen inorganic? 3Does cyclobutane contain a four-membered ring? 3Is acetylene a hydrocarbon? 3Does benzaldehyde contain a benzene ring? 3

Future directions:Datalog rules with existentials in the headUser-friendly surface syntax

Fully-fledged chemical classification system

Thank you for listening. Questions?

16

Page 101: Classifying Chemicals with Description Graphs and Logic Programming

OVERVIEW AND FUTURE DIRECTIONS

1 Expressive and decidable formalism for representation ofstructured objects

2 Novel acyclicity condition for logic programs with restricteduse of function symbols

3 Prototype for the automated classification of chemicalsIs dinitrogen inorganic? 3Does cyclobutane contain a four-membered ring? 3Is acetylene a hydrocarbon? 3Does benzaldehyde contain a benzene ring? 3

Future directions:Datalog rules with existentials in the headUser-friendly surface syntaxFully-fledged chemical classification system

Thank you for listening. Questions?

16

Page 102: Classifying Chemicals with Description Graphs and Logic Programming

OVERVIEW AND FUTURE DIRECTIONS

1 Expressive and decidable formalism for representation ofstructured objects

2 Novel acyclicity condition for logic programs with restricteduse of function symbols

3 Prototype for the automated classification of chemicalsIs dinitrogen inorganic? 3Does cyclobutane contain a four-membered ring? 3Is acetylene a hydrocarbon? 3Does benzaldehyde contain a benzene ring? 3

Future directions:Datalog rules with existentials in the headUser-friendly surface syntaxFully-fledged chemical classification system

Thank you for listening. Questions?

16