Export to GitHub

owl1-1 - OwlCnl.wiki


Rationale

The mathematical nature of description logics has meant that domain experts find it hard to understand OWL-based ontologies. This forms a significant impediment to their creation and reuse. If domain experts' knowledge is to be represented and verified, an easily readable syntax for writing ontologies is needed.

Features

  • Reading (rendering) and writing

Scoping Issues

  • Language coverage alternatives
    • All of OWL 2, including extralogical features, annotations, datatypes, etc.
    • Concept expression language only (with axiomatic structure indicated otherwise, e.g., by indentation)
    • Some tractable fragment(s)
    • Core OWL 2 axioms only (i.e., logical content only)
  • Strict roundtrippability
    • Syntax-preserving round-tripping?
    • Semantics-preserving round-tripping?
  • Task - what's the language trying to do? Ontology specification, Querying and Reasoning may each be suited to different specifications.
  • Testing - how do we actually know people find it easy/easier than other syntaxes?

Morphology issues

OWL has (named) classes, object properties, data properties, individuals, numbers, datatype facets. What are their CNL counterparts?

  • Class names

    • Nouns?
    • Countable nouns? Mass nouns?
    • Both singular and plural (e.g. man, men)?
    • Both lowercase and uppercase (e.g. man, Man)?
    • Multiword units (e.g. bus driver) are allowed?
    • Always preceded by a determiner (e.g. a, an, the, some, every, no)?
    • Attributive adjectives (rich man)?
    • Predicative adjectives (a man is rich)?
    • Intransitive verbs (a man waits)?
    • ing-forms (a man is smiling) are allowed?
  • Object property names

    • Transitive verbs (like)?
    • Both 3rd person forms (likes) and infinitives (does not like, do like)?
    • Transitive adjectives (fond of)?
    • Comparative adjectives (taller than)?
    • Multiword units (e.g. smiles at) are allowed?
    • Passives (is liked by) are allowed?
    • Non-contiguous forms (has ... as a father) are allowed?
    • of-construction + noun (the father of John) is allowed?
    • Saxon genitive + noun (John's father) is allowed?
    • "weird" verbs (John has-father Bill) are allowed?
    • Nouns (John father Bill) are allowed?
  • Data property names

    • Transitive verbs (E equals 2.718...)?
    • of-construction + noun (The age of John is 10) is allowed?
    • Saxon genitive + noun (John's age is 20) is allowed?
  • Individual names

    • Proper names?
  • Anonymous individuals

    • Common nouns (e.g. There is a man that owns a car.)?
  • Numbers

    • Numbers are 0, 1, 2, ...?
    • Numbers as words (one, two, ...) are allowed?
    • Should 0 be allowed? Forcing one to use negation instead would maybe result in more readable texts...
  • Datatype facets

    • Could we allow, e.g. John's age is >21.; John's age is 13-19.
    • ...

Syntax Issues

OWL descriptions and (possible) corresponding CNL function words. (Note: data property restrictions are missing.)

| Description | CNL function words | |:------------|:-------------------| | owl:Thing | something, somebody | | ObjectUnionOf | or | | ObjectIntersectionOf | and, that | | ObjectComplementOf | no, not, does/do not, is/are not | | ObjectOneOf | or | | ObjectAllValuesFrom | nothing but, only | | ObjectSomeValuesFrom | a, some | | ObjectExistsSelf | itself, himself, herself, himself/herself | | ObjectHasValue | | | ObjectMinCardinality | at least N, more than N-1 | | ObjectMaxCardinality | at most N, less than N+1 | | ObjectExactCardinality | exactly N |

OWL axioms and (possible) corresponding CNL function words. (Note: data property axioms are missing.)

| Class Axiom | CNL keywords | |:------------|:-------------| | SubClassOf | every, if ... then ..., is a kind of | | EquivalentClasses | every, if ... then ..., classes ... are equivalent, every

<class>

is defined as, the class

<class>

is fully defined as ... | | DisjointClasses | no, if ... then ..., classes ... are mutually exclusive | | DisjointUnion | |

| Object Property Axiom | CNL keywords | |:----------------------|:-------------| | SubObjectPropertyOf | Everything that

<relationship1>

something that

<relationship2>

something will also

<relationship3>

that thing.; If something X

<relationship1>

something that

<relationship2>

something Y then X

<relationship3>

Y.; If X

<relationship1>

Y and Y

<relationship2>

Z then X

<relationship3>

Z. | | DisjointObjectProperties | mutually exclusive; If something X

<relationship1>

something Y then it is false that X

<relationship2>

Y. | | ... | ... |

| Fact | CNL keywords | |:-----|:-------------| | SameIndividual | is, are the same thing, are the same individual | | DifferentIndividuals | is not, are different things, are different individuals | | ClassAssertion |

<individual>

is a

<class>

,

<individual>

is not/does not/ ... | | ObjectPropertyAssertion |

<individual1>

<relationship>

<individual2>

| | NegativeObjectPropertyAssertion |

<individual1>

<individual2>

|

Some notes

  • Data-properties can be hard to handle, see e.g. the definition of data ranges in the OWL 2 spec: http://www.w3.org/TR/owl2-syntax/#Data_Ranges
  • Some OWL 2 axioms (e.g. DisjointUnion) are a concise notation to express a large number of axioms. At least in some cases, graphical means seem better. e.g. the pie-chart visualization of DisjointUnion that Protege 4 offers seems better than any natural language representation.
  • Long syntactic patterns - useful to convey meaning the first time, but tiresome to type 100 times...

Comparison of existing Controlled English syntaxes for OWL

Implementations

TODO

  • Consideration of Empirical Studies - which approach has been found most effective?
  • Min Shi (Uli Sattler's student) conducting some empirical tests - Anne to chase up current status / results
  • Start moving towards consensus on the best CNL translation for each OWL 2 construct

Bibliography

People

  • Catherine Dolbear (point person)
  • Bijan Parsia
  • Kaarel Kaljurand
  • Anne Cregan