Hi Oleksanr,
What you ask is difficult. Any data that is visible inside the working copy will be merged into the production copy on commit. I can’t think of an easy way to prevent certain triples from being carried over into the production copy.
An alternative might be to store the metadata in the team graph (.tch graph) associated with the project. That’s the graph where the working copies themselves, as well as the change history and other internal information is stored. The downside of that approach is that the metadata would not be visible in the working copy, but would have to be retrieved and displayed with a custom query.
Let’s assume that we have the URI of the project graph in ?projectGraph, and the URI of the working copy in ?tag, for example:
?projectGraph = <urn:x-evn-master:my_project>
?tag = <urn:x-tags:my_working_copy>
Then you could retrieve the URI of the team graph with the call
teamwork:teamGraph(?projectGraph)
and do something like this to store the metadata (not tested):
INSERT {
GRAPH ?teamGraph {
?tag ex:myMetadataProperty "some value"
}
}
WHERE {
BIND (teamwork:teamGraph(?projectGraph) AS ?teamGraph)
}
To retrieve and display the metadata for a given working copy, you would then have to do a corresponding SELECT query that reads from the team graph.
Hope that helps,
Richard