openworm / owmeta-core

Core library for owmeta
MIT License
3 stars 2 forks source link

Support for data source templates #12

Open mwatts15 opened 5 years ago

mwatts15 commented 5 years ago

Data sources can have user-specific values associated with them like connection details and access date. Some of these values are only resolved at translation-time (i.e., when the data source is being used) and not relevant to reproduction (e.g., user name, local proxy host/port) while others may be useful for reproduction (e.g., access date, run-time computer specifications, time of execution). Such values would simply be a part of the data source, and recorded in the graph, if the source wasn't to be shared, but this sort of shareable value may apply even for resources which are shared. Furthermore, creating a class for each such data sources would create too many classes and, properly done, would require duplicating several attributes such that they apply to a class as well as an instance of a source.

The suggestion of this issue is to create a 'templatedBy' relation which captures this kind of specialization between data sources. This would be used in conjunction with the DataSource:source relation or may be created as a sub-property of that DataSource:source (and thus take its place).