The semantics of RDF is known to be based on the open world assumption. What does that mean? How does that show up in the RDF Semantics? And why does it help in data integration?

1 Answer 1


Speaking as a practitioner, this is my best understanding of the open-world-assumption - I never really found a good explanation of its impacts. I would kindly invite anyone to correct or extend on this post, as it would allow me to learn as well.

The open world assumption pertains to the "web" part of the Semantic Web - i.e., its open, distributed nature. It states that what is not known to be true is not necessarily false, but may merely be found elsewhere on the web. In practice, this means that conclusions can only be made from explicitly stated axioms.

Using an example from the highly educational pizza ontology (first code is OWL Functional Syntax, second is the more readable Manchester OWL syntax):

ObjectIntersectionOf(ObjectSomeValuesFrom(:hasTopping :MozzarellaTopping) 
ObjectSomeValuesFrom(:hasTopping :TomatoTopping)))

    Class: MargheritaPizza    
             (hasTopping some MozzarellaTopping) and
             (hasTopping some TomatoTopping)

This states that a MargheritaPizza has at least one mozzarella and tomato topping. But it says nothing about another web source defining extra toppings for the class - i.e., it does not explicitly state that no other toppings could exist. As a result, under the open world assumption, it cannot be inferred that this class is a subclass of VegetarianPizza, which only allows vegetarian toppings.

On the class level, one can use a "closure axiom" to explicitly state that something cannot exist:

EquivalentClasses(:MargheritaPizza :Pizza ObjectAllValuesFrom(:hasTopping ObjectUnionOf(:MozzarellaTopping :TomatoTopping)))

Class: MargheritaPizza    
         (hasTopping only (MozzarellaTopping or TomatoTopping))

This states that a Domino's Margharita pizza can only have toppings of type mozzarella or tomato (all-values-from / only), i.e., other toppings cannot exist. This allows the MargheritaPizza class to be classified as a subclass of VegetarianPizza, since all of its allowed toppings are vegetarian - another web source cannot extend the definition to e.g., allow meat toppings as well.

Some other inferences, pertaining to instances instead of classes, may be quite unintuitive.

For instance, using the first definition of MargheritaPizza, a Domino's pizza instance, with stated toppings of mozzarella and tomato, will be inferred to have type MargheritaPizza.

However, when extending the class expression with a closure axiom, this type can no longer be inferred. The universal quantification (all-values-from) requires all its possible toppings to be type mozzarella or tomato. But, other web sources may extend the description of the instance with other kinds of toppings, such as meat toppings.

Reasoning under the open-world-assumption may infer useful axioms that explicate the assumptions made. For instance, when defining a domain or range restriction:

ObjectPropertyDomain(:hasTopping :Pizza)
ObjectPropertyRange(:hasTopping :PizzaTopping)

This implies that the subjects of hasTopping have type Pizza, and the objects have type PizzaTopping. When these types are not explicitly stated, a closed world assumption approach would raise an error, since the absence of the type statements implies their falsehood. But under the open world assumption, since the inverse is not explicitly stated, a reasoner could reasonably assume that the subjects and objects indeed have these types; and explicate these assumptions as inferred statements.

Another example in the pizza ontology:

ClassAssertion(:MozzarellaTopping :DominosMozzarellaTopping)
SubClassOf(:MozzarellaTopping ObjectHasValue(:hasCountryOfOrigin :Italy))

The Domino's mozzarella topping instance is defined to have type MozzarellaTopping, with the second axiom stating that all mozzarella toppings need to have country of origin Italy (has-value). As before, in absence of an explicit axiom stating that Domino's topping (type Mozzarella) does not have this country of origin, an open world assumption reasoner would infer this country of origin for the topping.

  • It would be worth asking a question comparing that to class hierarchies in Java for example. Java allows new subclasses to be defined, but one can't insert new classes between existing compiled ones. Commented Dec 14, 2018 at 16:37
  • A little issue with your answer is that in order to understand the notation the reader would need to already understand OWL, in order to be able to read the examples... But if he knew the notation of OWL he may already know of the open world assumption... (That's a bit tricky, especially as OWL-DL notation differs again from Turtle, which one could expect people to know.) Not sure what the answer is to that btw... But thanks for the answer :-) Commented Dec 14, 2018 at 16:40
  • 2
    @HenryStory Good point .. But I would posit that even people who know OWL may not be aware of the intricacies of the open-world-assumption (I myself was in that category until I read the pizza ontology document). Nevertheless, I included the Manchester syntax for easier reading .. Commented Dec 14, 2018 at 18:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.