During this week, we had an intensive discussion about the YesWorkflow Data Model vocabulary. Finally, we came to a conclusion that we should adopt the following predicates between Port, Data and Resource.
<Port> yw:sends/yw:receives <Data> <Data> yw:wasReadFrom/yw:wasWrittenTo <Resource>
To distinguish prospective and retrospective provenance, we used two different RDF Turtle files (Model RDF & Recon RDF) respectively. The triples of relations between the two kinds of provenance have been put into the Recon RDF file, so that the Model RDF file will not be changed if more resources are added from retrospective provenance.
This is our current YW Data Model: https://github.com/idaks/DataONE-Prov-Summer-2017/tree/master/examples/simulate_data_collection/YW%20Model%20OWL
For the SPARQL queries, we reorganized the queries into three categories for YesWorkflow namespace, and added more Channels related queries descriptions for ProvONE namespace. The equivalent classes and properties between YesWorkflow and ProvONE namespaces remain the same as what we documented during last week. For the Channels related SPARQL queries, we should still use YesWorkflow predicates to answer those questions.
This is our current list of SPARQL queries: https://github.com/idaks/DataONE-Prov-Summer-2017/tree/master/examples/simulate_data_collection/SPARQL-queries
In addition, we composed an outline for our final report of this summer intern and clearly divided our work for each of us. Since next week is the last week of this internship, I will try to validate our proposed YesWorkflow Model Vocabulary by virtue of detailed specification, and compared with existing ProvONE Data Model. Linh and I will together improve the SPAQRL queries to achieve as many categories queries as possible from the perspective of users.