-
Notifications
You must be signed in to change notification settings - Fork 8
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
Core library discussion #1
Comments
I have a suggestion -- I understand what the add_child_element and add_attribute functions in provenance.h do to the output XML. They seem to be used/overloaded for adding elements that the PROV data model calls "attribute", which is an arbitrary name/string value pair which can be added to most (all?) records. It is not explicitly mapped in the latest PROV XML schema but I assume it is the reason for the entries that look like this:
Since the PROV data model only allows for string attribute values, would you consider the following function:
And then using that as a replacement for any calls to add_child_element that are actually for adding PROV attributes? (like all the add_child_element() calls in testprov.c and testneuroprov.c, and some in provenance.c and neuroprovenance.c). That way add_child_element() and add_attribute can be completely internal to the library and therefore no one can add data that doesn't map directly to the PROV data model. Plus the namespace prefix can be explicitly separated which would be convenient for users. If the prefix is NULL, it is assumed to be the default namespace, and if prefix is not NULL, it would check to make sure that that prefix has been previously declared using addNamespace(). I would then get rid of the add_attribute() function, which is not used anyway. What do you think? |
thanks @SyamGadde. done. i also added newAccount to the base library as that was missing. i need to add a few more things related to annotation, reading in provenance docs. will be pushing in a bit. |
@SyamGadde pushed both neuroprov and provenance. if you can take a look at the examples and provide some feedback that will be great. |
Thanks Satra. I think it looks good, though all the main elements should probably have the PROV XML namespace, which might be fixed with something like:
Also, I still think addAttribute needs a way for us to specify the namespace prefix of your attributes so you can distinguish between PROV standard attributes and your new attributes. I haven't worked on that but if you are willing I can try something. |
that will be great. do you want to send a pull request with the above patch? |
Sure, let me research how to get git to do that. :-) -syam On 01/18/2012 06:32 PM, Satrajit Ghosh wrote:
|
Prototype implementation of the W3C Provenance Data Model
The src directory contains a C prototype library for implementing the W3C
provenance schema. Please note that the schema is a work in progress. We will
continue to monitor and improve the implementation.
A demo program in C is available.
W3C Prov Working Group descriptions
Click on raw to get rendered html
Data model
http://dvcs.w3.org/hg/prov/file/tip/ontology/ProvenanceFormalModel.html
Upstream schema
The text was updated successfully, but these errors were encountered: