Skip to content

Remove gist:Address from ranges of gist:toAgent and gist:fromAgent. Fixes #391. #395

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

Merged
merged 4 commits into from
Oct 28, 2020

Conversation

rjyounes
Copy link
Collaborator

No description provided.

@rjyounes rjyounes requested a review from uscholdm October 26, 2020 15:13
@rjyounes
Copy link
Collaborator Author

rjyounes commented Oct 26, 2020

There were someValuesFrom restrictions on gist:Message that repeated the union ranges in toAgent and fromAgent. Rather than removing Address from these as well, I replaced the restrictions with minCardinality restrictions, since there's no sense in duplicating the ranges in the restrictions.

The definition of Message was and is out of sync with the specified ranges is reflected in a new issue #396.

gistCore.ttl Outdated
Comment on lines 1549 to 1554
owl:minCardinality "1"^^xsd:nonNegativeInteger ;
]
[
a owl:Restriction ;
owl:onProperty gist:toAgent ;
owl:someValuesFrom [
a owl:Class ;
owl:unionOf (
gist:Address
gist:Organization
gist:Person
) ;
] ;
owl:minCardinality "1"^^xsd:nonNegativeInteger ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You went an extra step that was not necessary, and has possible downsides:

  1. min 1 cardinality is less efficient than someValuesFrom for reasoning. This I learned from my FIBO experience, and I put that recommendation in my book.
  2. the redundancy you are avoiding here can backfire. The min 1 is depending on the range of to(from)Agent. But if that changed, an error can happen. If the classes in the range are explicit like it was to begin with, the error is less likely.
  3. You could be accused of being a union-buster :-)

A decision to remove such redundancies by using min 1 restrictions is a change that should be considered separately, for all of gist, not done piecemeal in otherwise unrelated issues.

I recommend just removing gist:Address from the two original unions and leave it at that. I.e. put back the unions and leave out gist:Address.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can't work that way because if the range of those properties is Person U Organization, it makes no sense to have a someValuesFrom restriction Person U Organization U Address. Given the range, there should be no assertions with object Address.

I understand your preference for someValuesFrom over minCardinality, but when there is no value other than owl:Thing, it is clearer to state it as a cardinality. I have no strong objection to changing the cardinality to a someValuesFrom, but Address is useless and ought to be removed.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And I still maintain that the values restrictions should not replicate the range of the predicate. I understand your rationale but presumably when someone is editing the predicate they look at all the references to it. Making allowances for not doing so is tantamount to building in bad practice.

Copy link
Collaborator Author

@rjyounes rjyounes Oct 27, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We clarified that in my initial comment above I misunderstood Michael's suggestion, which was in fact what I proposed. We also agreed that the decision about union restrictions duplicating ranges should be addressed in a new issue, now created as #397.

@rjyounes rjyounes requested a review from uscholdm October 27, 2020 18:09
Copy link
Contributor

@uscholdm uscholdm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Took a while, but we are good to go.

@rjyounes rjyounes merged commit bbcb8ad into develop Oct 28, 2020
@rjyounes rjyounes deleted the bugfix/remove_Address_from_ranges branch October 28, 2020 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants