How to create multiple relations with same object property?

前端 未结 1 1965
滥情空心
滥情空心 2021-01-23 23:28

I am using protege 5 for developing ontology. I have created has_composition as object property. In my ontology the same object_property is used for different domai

相关标签:
1条回答
  • 2021-01-23 23:44

    OWL (Ontology Web Language, the ontology that defines ontologies) does not allow to model what you're trying to do.

    A workaround I can think of is to use sub-properties. Imagine the following classes:

    • Pizza
    • TomatoSauce
    • ChocolateCake
    • Chocolate

    If you want to define relations such as

    • A Pizza has_composition TomatoSauce, and
    • A ChocolateCake has_composition Chocolate

    then define the following relations:

    • has_composition: No domain nor range (or a common superclass such as Dish and Ingredient for example)
      • has_tomato_sauce: Domain Pizza, range TomatoSauce
      • has_chocolate: Domain ChocolateCake, range Chocolate

    This will allow the reasoner (the software that computes inferences) to infer that if something has_chocolate a_chocolate, then

    • something rdf:type Chocolate (inferred by the domain of has_chocolate);
    • something has_composition a_chocolate (because has_chocolate is a sub-property of has_composition).

    You can check out this example in this Gist I made.

    Download it, open it, and start the reasoner. You will see the inferred statements in yellow.

    0 讨论(0)
提交回复
热议问题