Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inverse Properties: existing, new, renamed, corrected, obsolete #378

Open
JuergenGrupp opened this issue Dec 4, 2024 · 2 comments
Open
Assignees
Labels
enhancement New feature or request

Comments

@JuergenGrupp
Copy link
Collaborator

I checked all properties for being defined as inverse or requiring to be defined so. Here's the list of proposals. Comments are welcome.

1) define existing properties as inverse

isTrackPartOf <> hasTrackPart (forward property)

2) define new properties as inverse

isAffiliatedTo <> hasAffiliation (new forward property! would point from Organisation to Affiliation)
isAnimatedBy <> animates (new forward property!)
isAnnotationFor <> hasAnnotation (new forward property!)
isApprovedBy <> grantsApproval (new forward property!)
isCommissionedBy <> commissions (new forward property!)
isDefinedBy <> defines (new forward property!)
isEmbodiedBy <> hasEmbodyingArtefact (new forward property!)
isEpisodeOf <> hasEpisode (new forward property!)
isExtractOf <> hasExtract (new forward property!)
isIssuedBy <> hasIssuer (new forward property!)
isMasterOf <> hasMaster (new forward property!)
isOrderedBy <> hasJob (new forward property!)
isOwnedBy <> owns (new forward property!)
isPlayedBy <> plays (new forward property!)
isPortrayedBy <> portrays (new forward property!)
isReferencedBy <> references (new forward property!)
hasAuthor <> isAuthorOf (new!)

3) rename existing properties and define new properties as inverse

isRelatedAgent (instead of isAgent) <> hasRelatedAgent (new forward property!)
hasAnimalGroom (instead of isAnimalGroom) <> isAnimalGroomFor (new forward property!)
isUsedBy (instead of isRegisteredAs <> uses (new forward property!)
isOfferedBy (instead of isReleasedBy <> offers (new forward property!)
isPublishedBy (instead of isScheduledOn <> publishes (forward property)
isProductOf (instead of isSeriesOf) <> hasProduct (new forward property)

4) corrections to existing inverse properties

isMediaFragment <> hasMediaFragment (the domain of hasMediaFragment must be from Media Resource, not from EditorialObject)
isPartOf <> hasPart (the domain for "isPartOf" must be EditorialSegment or Work, not EditorialObject)

5) obsolete properties ?

isChildOf <> hasChild (instead of hasParent <> isParentOf ! remove isParentOf and hasParent?)
isAnnotatedMediaResource <> hasMediaResourceAnnotation (probably not neccessary! better use isAnnotationFor <> hasAnnotation)
isMemberOfPublicationPlan (probably obsolete?)

@JuergenGrupp JuergenGrupp added the enhancement New feature or request label Dec 4, 2024
@aro-max
Copy link
Collaborator

aro-max commented Dec 16, 2024

Agree with your proposal.

Should we consider additional inverse properties like ?

hasAudience <> ec:isAudienceOf
hasContributor <> isContributorOf

Consider using anonymous inverse properties instead of named ones where possible. OWL allows referring to inverse properties without explicitly naming them, which can reduce clutter

Advantages of defining and naming inverse properties

Explicitness: Named inverses make it clear how two entities are related in both directions.
Ease of querying: Users can refer directly to the inverse name in queries without having to construct it manually.

Disadvantages

Ontology complexity: Adding named inverses for every property can add unnecessary complexity.
Performance impact: Named inverses can increase computation time and storage requirements, especially if not all are actively used.

Mixed approach

A mixed approach, where inverse properties are named only when explicitly needed or frequently queried, is a compromise. This approach ensures that the ontology remains lean while still effectively supporting common use cases.

Criteria for naming inverse properties

Query frequency: If the inverse relationship is frequently used in queries, it should be named.
Semantic Clarity: If the inverse name adds significant clarity to the structure or use of the ontology, it should be defined.
Avoidance of redundancy: Avoid naming inverses that are rarely used or that add no value over their forward counterparts.

Ref
https://www.semanticarts.com/wp-content/uploads/2018/10/QuantumEntanglementInverseProps041516MFUnewtemplate.pdf

@aro-max
Copy link
Collaborator

aro-max commented Dec 16, 2024

He will consider systematically adding the inverse properties - it has become good practice.  We will review the ebucoreplus to identify other potential inverse properties. For example 
hasAudience <> isAudienceOf
hasContributor <> isContributorOf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants