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

prov:hadRole #19

Closed
tmprd opened this issue Oct 3, 2023 · 4 comments · Fixed by #23
Closed

prov:hadRole #19

tmprd opened this issue Oct 3, 2023 · 4 comments · Fixed by #23
Assignees

Comments

@tmprd
Copy link
Contributor

tmprd commented Oct 3, 2023

IRI: http://www.w3.org/ns/prov#hadRole
Domain: (Association or InstantaneousEvent) and Influence
Range: Role

  • prov:Influence, prov:Association, and prov:InstantaneousEvent are classified as an occurrents. See prov:Influences: continuants or occurrents? #6 for reasons why and please direct your comments about this to that issue.
  • prov:Role is classified as a BFO "role"
  • BFO's "bearer of" is used to relate roles to their bearers, but its domain is non-spatial-region continuants.
  • Therefore we can't subsume prov:hadRole under BFO "bearer of" (or RO "has role" for similar reasons)

Annotations:

This property has multiple RDFS domains to suit multiple OWL Profiles. See PROV-O OWL Profile.

The optional Role that an Entity assumed in the context of an Activity. For example, :baking prov:used :spoon; prov:qualified [ a prov:Usage; prov:entity :spoon; prov:hadRole roles:mixing_implement ].

So, a spoon doesn't have a prov:Role as a mixing implement, but instead its usage "has that role" (in the PROV sense of this expression, not BFO).

prov:hadRole references the Role (i.e. the function of an entity with respect to an activity), in the context of an instantaneous usage, generation, association, start, and end.

Suggestion: subsume prov:hadRole under BFO's "has participant at some time" which has "process" as its domain and non-spatial region continuant as its range, which includes roles. In the spoon example, that means the spoon's usage has its prov:Role as a participant. edit: this doesn't work because InstantaneousEvent is a "process boundary". This would work with RO's "has participant" because its domain is occurrent.

Alternatively (?) we could try to create some kind of property chain which expands this relationship in the way BFO understands it. I don't think this is doable as long only processes can have participants.

@tmprd tmprd changed the title prov:hadRole prov:hadRole Oct 3, 2023
@giacomodecolle
Copy link

I think that what we want to say is that the role is borne by an agent that participates in the corresponding process. The spoon has a role since it is used in a process that is a prov:activity that is related by prov:hadrole to the corresponding prov:role. Another chance would be to have influence classes as GDCs of some kind, i.e. descriptions of events, and then also have role to be some kind of GDC. That's probably too much. But I am worried about influence classes altogether, It'd be great if we could talk about it tomorrow.

@peihongx
Copy link

peihongx commented Oct 6, 2023

I think that what we want to say is that the role is borne by an agent that participates in the corresponding process. The spoon has a role since it is used in a process that is a prov:activity that is related by prov:hadrole to the corresponding prov:role. Another chance would be to have influence classes as GDCs of some kind, i.e. descriptions of events, and then also have role to be some kind of GDC. That's probably too much. But I am worried about influence classes altogether, It'd be great if we could talk about it tomorrow.

Now I prefer the first option: prov:hadRole looks like bfo:hasParticipantAtSomeTime ○ bfo:bearOf

@tmprd
Copy link
Contributor Author

tmprd commented Oct 6, 2023

I forgot to mention that prov:Usage is a subclass of prov:InstantaneousEvent, which prevents it from "having a participant" in BFO if we assume prov:InstantaneousEvent is a process boundary.

prov:Usage is also a subclass of prov:Influence, which I believe prevents prov:Influence from being a GDC (or continuant) if we assume that prov:InstantaneousEvent is an occurrent.

Originally I wanted to just delete prov:InstantaneousEvent but I don't think our mapping should (or can?) change PROVO.

@tmprd tmprd linked a pull request Oct 20, 2023 that will close this issue
@tmprd
Copy link
Contributor Author

tmprd commented Oct 20, 2023

SWRL!

# if a process had a prov:Role, then that prov:Role was a participant in the process
prov:hadRole(?x, ?y) ^ obo:BFO_0000015(?x) -> obo:BFO_0000057(?x, ?y)

@tmprd tmprd closed this as completed in #23 Oct 23, 2023
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 a pull request may close this issue.

6 participants