Skip to content

Refactored giver, getter and hasParty. Fixes #133 #404

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 20 commits into from
Feb 26, 2021

Conversation

uscholdm
Copy link
Contributor

  • New property: hasParticipant replaces hasParty

    • Range: Person or Organization.
    • Domain: includes Event, Agreement, Obligation.
    • Has subproperties: toAgent and fromAgent
  • Use hasParticipant wherever hasParty was used

  • Use toAgent wherever getter was used

  • Use fromAgent wherever giver was used

  • Deprecate: hasParty, getter & giver.

- Use fromAgent wherever giver was used
- Use hasParticipant wherever hasParty was used
- Deprecate: hasParty, getter & giver.

- New property: hasParticipant
  - Range: Person or Organization.
  - Domain: includes Event, Agreement, Obligation.
  - Has subproperties: toAgent and fromAgent
Copy link
Collaborator

@sa-bpelakh sa-bpelakh left a comment

Choose a reason for hiding this comment

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

Looks OK, but do we have an issue with consistency of property naming, i.e. fromAgent/toAgent vs hasParticipant (as opposed to hasFromAgent/hasToAgent). When do we prefix properties with has/is, and when do we not?

@uscholdm
Copy link
Contributor Author

we have an issue with consistency of property naming, i.e. fromAgent/toAgent vs hasParticipant (as opposed to hasFromAgent/hasToAgent). When do we prefix properties with has/is, and when do we not?

This is true. There are a lot of inconsistencies like this. That is a separate issue (#188). I think its best to not too too many things at once.

@marksem
Copy link
Collaborator

marksem commented Nov 23, 2020

I feel like hasParticipant -- as a general property -- can have a broader range. Would not restrict domain to Person or Org.

@uscholdm
Copy link
Contributor Author

@marksem said:

I feel like hasParticipant -- as a general property -- can have a broader range. Would not restrict domain to Person or Org.

Another discussion you missed. I agree with you on this, but the majority felt that 'participate' implied some active intent. So inanimate objects need not apply for this role. There might still be time to file a law suit and overturn the vote result.

@marksem
Copy link
Collaborator

marksem commented Dec 2, 2020

Regarding active "intent", if I say a process participates in a larger process, I am not implying agency on the process. A chemical participates in a chain reaction. Assuming participatesIn would be the logical inverse of hasParticipant, I again feel that more than Persons and Orgs participate in things. Your honor, I move that Person/Org restrictions be stricken from the record!

@uscholdm
Copy link
Contributor Author

uscholdm commented Dec 2, 2020

I could not agree more!!! Pity you were not there to make your case when it came up. @rjyounes I suggest we revisit this on a future Thursday session.

@rjyounes
Copy link
Collaborator

rjyounes commented Dec 2, 2020

OK, let's put this on hold and move the issue back to in review.

Maybe @marksem's disagreement is only with the wording - that is, I at least still think that there is value to distinguishing the kind of participation agents do as opposed to things, but perhaps we don't have the right term.

@mkumba
Copy link
Contributor

mkumba commented Jan 16, 2021 via email

@uscholdm
Copy link
Contributor Author

Didn’t we decide to deprecate fromAgent and toAgent and redo message to be hasGiver and hasGetter?

If we did, I don't specifically recall. It was not in the summary notes from @marksem MarkW, or if it was, I missed it. Can others chip in and confirm one way or the other?

@rjyounes
Copy link
Collaborator

@uscholdm I don't recall that, but rethinking it, as Dave suggests, I don't know why we would need fromAgent and toAgent when we have hasGiver and hasGetter.

@uscholdm
Copy link
Contributor Author

@rjyounes I don't know why we would need fromAgent and toAgent when we have hasGiver and hasGetter.

Its tempting, but I'm not sure it is always correct. Suppose I make a change to the beneficiary on my life insurance policy from person A to person B. If there is an instance of a class called BeneficiaryChange the fromAgent is person A but they are not a giver.

In the case of a package or a message, the fromAgent is the sending agent or the originating agent which might not correspond to 'giving' anything. The sender might be returning a borrowed item to its owner. Both would nicely fit in a totally generic gist:from property, but I am the only proponent of that idea.

@rjyounes
Copy link
Collaborator

rjyounes commented Jan 18, 2021

@uscholdm "Give" doesn't have to mean transfer of ownership; we can say "give back" for returning a borrowed item. Anyway, the same argument could be applied to putting money in someone's bank account, which is one of the uses cases for hasGiver; if that were borrowed money, then according to your limited sense of "give," that is not giving either. Even the original sense of giving an obligation is not a transfer of ownership. Or was that going to be fromAgent? I've lost track.

As for the first example, I think you are incorrectly exploiting the multi-faceted meaning of "from" (and most prepositions) to broaden the meaning of "fromAgent" beyond the agreed-upon sense. If "fromAgent" means "the source of something" - I believe we are keeping that part of the definition and simply broadening it to include a wider scope than message or shipment - person A is not the source of the beneficiary change either: you would be the fromAgent (the source of the beneficiary change) and person B would be the toAgent. I think the BeneficiaryChange is a three-way relationship, and we don't have a specific predicate for that happened to A.

@rjyounes rjyounes changed the title Refactored giver, getter and hasParty Refactored giver, getter and hasParty. Fixes #133 Feb 15, 2021
Copy link
Collaborator

@rjyounes rjyounes left a comment

Choose a reason for hiding this comment

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

Requesting just a couple of tiny changes.

- New property: `hasParticipant`
- No domain or range
- Has subproperties: `hasGiver`, `hasGetter`, `hasParty`, `fromAgent` and `toAgent`
- Added annotations on `fromAgent` and `hasParty`
Copy link
Collaborator

Choose a reason for hiding this comment

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

A bit confusing, since when I look at the code I don't know what annotations have been added. Can we just leave this out - or if you want it there just a couple of words to indicate what's changed?

Copy link
Contributor Author

@uscholdm uscholdm Feb 16, 2021

Choose a reason for hiding this comment

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

I purposely left out the gory details thinking it's easy enough for people to look to see for themselves. Leaving it out altogether gives no information. At some point (maybe not this one) more detail detracts. I added a scope note to one and an example on the other. I also added one word to the skos:defintion which I chose not to mention. Its a matter of taste, I suppose. Do you prefer this level of detail:

  • Added the word 'event' to the skos:definition of fromAgent
  • Added a skos:scopeNote to fromAgent
  • Added a skos:example to hasParty

- Updated release notes
- added skos namespace to deprecations file.
@rjyounes rjyounes self-requested a review February 25, 2021 15:51
@rjyounes
Copy link
Collaborator

Michael will touch base with Mark to see if his comment has been addressed and the PR can be merged.

Copy link
Collaborator

@marksem marksem left a comment

Choose a reason for hiding this comment

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

All looks good except for the skos:definitions of fromAgent and toAgent. I find them gramatically incorrect and/or too specific on implying a domain of shipment or message only.

Suggestions to correct this:

fromAgent:
the party that is the source of something (e.g. a message, shipment, etc.)

toAgent:
the party that is the recipient of something (e.g. a message, shipment, etc.)

# Conflicts:
#	docs/ReleaseNotes.md
#	gistCore.ttl
- updated definitions for `toAgent` and `fromAgent`
- updated release notes
- updated definitions for `toAgent` and `fromAgent` (again)
@uscholdm uscholdm requested review from marksem and rjyounes February 25, 2021 22:37
Copy link
Collaborator

@sa-bpelakh sa-bpelakh left a comment

Choose a reason for hiding this comment

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

Yay, compliant labels :) Are you running a build to verify before pushing?

Co-authored-by: Boris Pelakh <44446537+sa-bpelakh@users.noreply.github.com>
@uscholdm
Copy link
Contributor Author

Yay, compliant labels :) Are you running a build to verify before pushing?

No. I merged develop into the branch first. I also read the manual and acted accordingly.

@uscholdm uscholdm requested a review from sa-bpelakh February 26, 2021 03:58
@rjyounes rjyounes merged commit 54d34c0 into develop Feb 26, 2021
@rjyounes rjyounes deleted the evolve/issue133_giver_getter branch February 26, 2021 16:04
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.

5 participants