During this week, interns and mentors had an intensive discussion about the YesWorkflow Model vocabulary and its mapping to ProvONE Model.
A critical distinction between YW and ProvONE is that YW has three types of ports, while ProvONE only has the general class port. Therefore, I created a hierarchical model of super and sub classes to represent this relationship. Both InPort and OutPort are sub-classes of Port, and ParamPort is a sub-class of InPort. Other external associations of ports connected to Block, Workflow, DataNode or Resource are still remaining to be in the domain or range of the super-class Port.
To illustrate the YW model in a standard way, I proposed a detailed specification about YW classes and associations including some specific examples. Domain, range, self-attribute, and super-class instructions for each class or association have been explicitly explained.
In terms of mapping to ProvONE namespace, there are only 3 classes and 3 associations are exactly equivalent between the two models. Suggested by mentors, I adopted owl:sameAs predicate to imply the equality between them. For other non-equivalent classes and associations, I still used yw prefix. While, some queries from the perspective of ProvONE users can also be answered with yw prefix. The queries descriptions are different from the two models, but the actual correct answers can be the same. Then, I translated some YW queries into ProvONE queries descriptions, and also added more ProvONE only queries related to channels issues. For channels related SPARQL queries, we can get the answers by virtue of yw prefix.
Currently, we are able to implement SPARQL queries from both YW and ProvONE model perspective based on one RDF Turtle file, however, we cannot answer ProvONE queries purely in p1 namespace. It may be an issue but it is still under discussion. For the next week, we will focus on SPARQL queries implementation.