Search code examples
semantic-webowldublin-core

Is dcterms:identifier an inverse functional property?


To me, the dcterms:identifier property seems like a legitimate inverse functional property. When two things share the same identifier, I think it is safe to conclude that it is the same thing.

Is there any compelling reason not to define it as such (owl:InverseFunctionalProperty) in my ontology?


Solution

  • If you need to stay in OWL 2 DL, then it's not a good idea to declare data properties to be inverse functional - only object properties can be declared as such without violating the constraints and end up in OWL 2 FULL.

    dcterms:identifier has a range of rdfs:Literal defined here

    You could use a HasKey axiom to achieve similar results: keys were introduced in OWL 2 for the purpose of identifying one or more properties whose values are identifiers for the referring individuals, and both object and data properties can be used.