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

Remove properties hasSubTask and hasDirectSubTask #733

Closed
rjyounes opened this issue Sep 25, 2022 · 10 comments
Closed

Remove properties hasSubTask and hasDirectSubTask #733

rjyounes opened this issue Sep 25, 2022 · 10 comments
Assignees

Comments

@rjyounes
Copy link
Collaborator

rjyounes commented Sep 25, 2022

This is covered by hasPart and hasDirectPart and object Task.

@rjyounes rjyounes changed the title Remove property hasDirectSubTask Remove properties hasSubTask and hasDirectSubTask Jan 31, 2023
@rjyounes
Copy link
Collaborator Author

rjyounes commented Mar 23, 2023

Dave defined these predicates as an initial effort to distinguish various part-of relationships. We agree as a group to remove these predicates, but will run it by Dave first. The part-of issue is larger, and needs to be tackled as a separate topic.

Reference: Dave's gist council presentation on part-of relationships

@hmoore-sa
Copy link
Contributor

I was a little delayed in getting started on this due to client work, but I have an email out to Dave and will move ahead based on his feedback. WIP.

@mkumba
Copy link
Contributor

mkumba commented Apr 15, 2023

Yeah I guess its ok to remove hasSubTask and replace it with isDirectPartOf

As I think of it, what we really need is a way to distinguish the part of relationship that must be exclusive and therefore is a candidate for cascading delete. My current thinking is it is the difference between a physical part and a digital part. A physical part (with a serial number say) can only be directly part of one other physical part (a Vin number say), and if the vin number is destroyed so is the part. But the design of that part (caburettor) could be part of many higher level designs (car, truck etc) and is not deleted when its parent is deleted.

On the task side a subtask is exclusive like that (I think ) but a template task isn't, we could share a template task across many template projects.

So now we need a name for this distinction.

@rjyounes
Copy link
Collaborator Author

Our thinking here is that we need to think through the complexities of mereology and implement it in a consistent way. Until we do that, it doesn't make much sense to differentiate one.

@mkumba
Copy link
Contributor

mkumba commented Apr 16, 2023 via email

@uscholdm
Copy link
Contributor

A physical part (with a serial number say) can only be directly part of one other physical part (a Vin number say), and if the vin number is destroyed so is the part.

This does not seem right. A physical part can't be part of more than one thing at the same time, but I can swap engines with another car. Neither engine was destroyed.

@rjyounes
Copy link
Collaborator Author

This does not seem right. A physical part can't be part of more than one thing at the same time, but I can swap engines with another car. Neither engine was destroyed.

I think you'd have to say in this case that you first remove the engine from the first VIN number, at which point it is no longer part of it, then destroy the VIN number, then put the engine in the second car. At no time is the part part of more than one thing, and when the VIN number is destroyed the engine was no longer part of it.

@uscholdm
Copy link
Contributor

you first remove the engine from the first VIN number, at which point it is no longer part of it, then destroy the VIN number

No, the VIN number is attached to the chassis - it still exists.

@mkumba
Copy link
Contributor

mkumba commented Apr 21, 2023 via email

@hmoore-sa
Copy link
Contributor

Hi all,

Thanks for all the comments on the larger issue! After talking to Rebecca this morning, I've submitted the removal PR for gist:hasSubTask and gist:hasDirectSubTask. Sounds like there is wider discussion to be had- let me know if we need to open another issue for it.

Thanks,
Heather

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

No branches or pull requests

4 participants