- From: Sven Lieber (UGent-imec) <Sven.Lieber@UGent.be>
- Date: Wed, 29 Apr 2020 16:14:43 +0000
- To: "public-prov-comments@w3.org" <public-prov-comments@w3.org>
- Message-ID: <93a4efe2d2a34f809fd4371804a94808@xmail102.UGent.be>
Dear all, I'm trying to model the annotation of something with something by someone using PROV concepts. The problem I am facing is that whatever I want to annotate might be an entity or an activity and similarly the annotation might be an entity or an activity. The only solution I have so far is to introduce new terms but I wonder if it is possible to only rely on PROV concepts and still model the annotations in a single consistent way. Consider the example where 1. Alice wants to annotate a report with two keywords and the order matters 2. Bob wants to annotate a project with two keywords and the order matters 3. Carol wants to annotate a report with two related projects and the order matters Each such annotation could have more metadata like the time period where the annotation existed. # keywords as entities as they are created by someone at some point in time ex:keyword1 a ex:Entity . ex:keyword2 a ex:Entity . ex:report1 a ex:Entity . ex:project1 a prov:Activity . ex:project2 a prov:Activity . ex:alice a prov:Agent . ex:bob a prov:Agent . ex:carol a prov:Agent . # solution 1: Annotation activity "using" annotations # problem: the annotation might not be an entity, the third example with Carol is not possible. Also not entirely PROV as a new predicate 'ex:annotate' is used ex:annotationActivity1 a prov:Activity ; prov:wasAssociatedWith ex:alice ; ex:annotate ex:report1 ; prov:qualifiedUsage [ a prov:Usage ; prov:entity ex:keyword1 ; ex:rank 1 ] ; prov:qualifiedUsage [ a prov:Usage ; prov:entity ex:keyword1 ; ex:rank 2 ] . # solution 2: introducing new terms, one annotation activity for each annotation # problem: Not entirely PROV as new predicates are used ex:annotationActivity1 a prov:Activity ; prov:wasAssociatedWith ex:alice ; ex:annotate ex:project1 ; ex:annotateWith ex:keyword1 ; ex:rank 1 . # solution 3: the annotation as entity # problem: how to link to the annotated thing and to the annotation? ex:annotationAliceReport1Keyword1 a prov:Entity prov:wasGeneratedBy ex:someActivity ; prov:wasAttributedTo ex:alice . # solution 4: prov entities to represent activities # problem: how to link the activity to its entity representation? More in general I also wonder how one is supposed to express the provenance of activities since they are disjoint with entities ex:annotationActivity2 a prov:Activity ; prov:wasAssociatedWith ex:bob ; prov:qualifiedUsage [ prov:entity ex:project1Entity ; prov:hadRole ex:annotated ] ; prov:qualifiedUsage [ prov:entity ex:keyword1 ; prov:hadRole ex:annotation ; ex:rank 1 ] . Of course the solution shouldn't be overly complex so in worst case I would just go with solution 2. Thanks for any insight, Sven Kind regards, SVEN LIEBER PhD researcher semantic intelligence IDLab<http://idlab.technology/>, imec<https://imec.be/> research group at Ghent University<https://www.ugent.be/en> AA-tower | Technologiepark Zwijnaarde 122 | 9052 Ghent, Belgium t: +32 9 331 49 59 [iconmonstr-globe-5-24]<https://sven-lieber.org/> [iconmonstr-twitter-5-24] <https://twitter.com/SvenLieber> [iconmonstr-linkedin-5-24] <https://www.linkedin.com/in/sven-lieber-1b2b70131/> [iconmonstr-key-11-24] <https://sven-lieber.org/pgp-key>
Attachments
- image/png attachment: image001.png
- image/png attachment: image002.png
- image/png attachment: image003.png
- image/png attachment: image004.png
Received on Wednesday, 29 April 2020 16:15:02 UTC