-
Notifications
You must be signed in to change notification settings - Fork 9
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
new relation QualifiedGeneration #10
Comments
There is indeed a prov:qualifiedGeneration property in the W3C PROV-O recommendation. It is used to provide a context about how an entity was generated (generation time, ....). It's range (the type of its value) is prov:Generation for which we already have a schema written. Now there is a difference between prov:qualifiedUsage and prov:qualifiedGeneration:
So prov: qualifiedGeneration is entity centric whereas prov:qualifiedUsage is activity centric. We have two options here:
"reverseActivityGeneration" : {
"@reverse" : "http://www.w3.org/ns/prov#activity",
"@type" : "@id",
"@container" : "@set"
},
"reverseQualifiedGeneration" : {
"@reverse" : "http://www.w3.org/ns/prov#qualifiedGeneration",
"@type" : "@id"
} An activity payload looks like: {
"@type": "prov:Activity",
"@id": "activity_URI",
"used":[],
"qualifiedUsage":[],
"generated":[],
"reverseActivityGeneration":[
{
"@type":"prov:Generation"
"reverseQualifiedGeneration": "entity_URI",
"hadRole": "role_URI",
"atTime":"2016-09-10T06:51:00+02:00"
}
]
} Thoughts ? |
So this is what I want to express:
''' I sounds that with that approach, If I have an activity, it gives me the list of "prov:qualifiedGeneration" as a list of properties. |
Can I know the source of the prov:qualifiedEntity property ? I'm not seeing it in the W3C PROV-O specification. |
I think they don't have qualifiedEntity anymore |
I think they don't have it. We use the W3C PROV-O recommendation as reference. Now I see in the example you provided that you adopted both entity and activity centric views : Entity centric view: :output
a prov:Entity;
prov:wasGeneratedBy :a. Activity centric view: :a a prov:Activity;
prov:generated :output. I would recommend to choose one view to ease the querying. Otherwise you'll have to check both prov:wasGeneratedBy and prov:generated to know what entities was generated by a given activity. I propose the two following options:
{
"@type": "prov:Activity",
"@id": "activity_URI",
"prov used":[],
"prov qualifiedUsage":[],
"prov generated":[],
"qualifiedEntityGeneration":[
{
"@type":"prov:Generation"
"generatedEntity": "entity_URI",
"prov hadRole": "role_URI",
"prov atTime":"2016-09-10T06:51:00+02:00"
}
]
} qualifiedEntityGeneration and generatedEntity respectively define as (in the @context): "qualifiedEntityGeneration" : {
"@reverse" : "http://www.w3.org/ns/prov#activity",
"@type" : "@id",
"@container" : "@set"
},
"generatedEntity" : {
"@reverse" : "http://www.w3.org/ns/prov#qualifiedGeneration",
"@type" : "@id"
}
{
"@type": "prov:Entity",
"@id": "entity_URI",
"prov:wasGeneratedBy":"activity_URI",
"prov:wasDerivedFrom":[],
"prov:qualifiedGeneration":[
{
"@type":"prov:Generation"
"prov:activity": "activity_URI",
"prov:hadRole": "role_URI",
"prov:atTime":"2016-09-10T06:51:00+02:00"
}
]
} In this second option the entity that was used an how they used are recorded in the activity activity_URI or in other usage objects. Thoughts ? |
There is a QualifiedAssociation, a QualifiedUsage but no QualifiedGeneration.
For instance a software execution returns multiple artefacts of the same kind. I want to be able to distinguish them. (That is a simular concept to the name of an output parameter in a function).
The text was updated successfully, but these errors were encountered: