Search code examples
semantic-webowl

What is the difference between IFP(owl:InverseFunctionalProperty) and FP(owl:FunctionalProperty)?


I have read W3C documents, but I don't understand why they are different. I'll give the definitions of them in W3C documents:

Here is also a difference: One difference with functional properties is that for inverse-functional properties no additional object-property or datatype-property axiom is required: inverse-functional properties are by definition object properties. You can see these words in the IFP link above.

But I don't understand it, can you give me a detailed explanation?


Solution

  • Stating that property f is functional means that, for an individual x, there is only one value for f.

    So, given:

    x f p
    x f q
    

    A reasoner will infer that p and q are the same individual, or the same literal.

    Inverse functional means that the inverse of f is functional, i.e.,

    x f a
    y f a
    

    Is like

    a r x
    a r y
    

    Where r is functional, and the inverse of f. The reasoner can infer that x and y are the same individual (so this time the subjects are inferred to be identical).

    This is also the reason for inverse properties to be object properties. If you pick a data property, you cannot have an inverse for it, because you cannot have a literal as subject of a statement.