Re: Inferring Object Properties for Individuals Based on Asserted SomeValuesFrom

Posted by Richard on
URL: http://owlready.306.s1.nabble.com/Inferring-Object-Properties-for-Individuals-Based-on-Asserted-SomeValuesFrom-tp527p541.html

Thank you for taking this time to address this problem. I can see how resolving relationships between individuals is hard. Would it help to assume these assertions?

    kale = Kale("kale")
    bitter = Bitter("bitter")
    Bitter.equivalent_to.append(OneOf([bitter]))
    Kale.equivalent_to.append(OneOf([kale]))
    AllDifferent([bitter, kale])

    Kale.is_a.append(has_taste.some(Bitter))

    close_world(Ingredient)

Unfortunately, even with this, I'm still getting an assertion error on:

    assert set(kale.has_taste.indirect()) == { Bitter }

We don't even want classes in triples, do we? That seems wrong. What is .indirect() really supposed to capture and what does it do that inference does not?