From W3C Wiki
Jump to: navigation, search

My ontology assumes a closed world. How can I represent that in OWL?

Using NotationThree, with TheUsualPrefixes:

  :spouse rdfs:subPropertyOf :bestFriendOrSpouse;
      owl:cardinality 1.
  :bestFriend rdfs:subPropertyOf :bestFriendOrSpouse;
      owl:cardinality 1.
  :bestFriendOrSpouse a owl:FunctionalProperty.

This tells OWL reasoners that bestFriend and spouse have the same value.

Acknowlegement: adapted from Working with a closed world assumption in OWL/DAML+OIL by Deborah L. McGuinness. hmm... I'm not at all sure I got the gist of it.

Hmm... more on OWL objectives like O2. Default property values and O3. Ability to state closed worlds?

This isn't really making the closed world assumption. It's providing enough information so that you can make the desired conclusion. As such, it's eminently open world, as one might expect as OWL is entirely open world. It doesn't just not *really* support ClosedWorldAssumptions, it doesn't support them at all.

I'm not so sure - it isn't now possible to say bestFriend = x and spouse = y when x != y, so that part of the world is closed, a closed island. If piecewise role closing is applied to all parts that are going to be needed in a particular setup, then it looks to me like that environment will be equivalent to a closed world.

This seems tangential to the CWA, you still have bestFriend = x and ? = y, even if ? = bestFriend. You can't actually state the x != y part (without inconsistency). Though the idiom looks very useful, it might inadvertantly lead to questionable conclusions : a dog is man's best friend.