logger = logging.getLogger(__name__)
+DAF_VARIABLE_NAMES = ("variables", "extraVariables")
+VARIABLES_TERM_NAME = 'variables'
class ModelException(RuntimeError):
"""Assumptions about the RDF model failed"""
view_name = None
view_attributes = {}
state = DAF_HEADER
- elif state == DAF_HEADER and name == 'variables':
+ elif state == DAF_HEADER and name in DAF_VARIABLE_NAMES:
attributes[name] = [x.strip() for x in value.split(',')]
elif state == DAF_HEADER and name == 'view':
view_name = value
The statements are attached to the provided subject node
"""
+ variables_term = dafTermOntology[VARIABLES_TERM_NAME]
statements = []
for daf_key in attributes:
predicate = dafTermOntology[daf_key]
statements.extend(_views_to_statements(subject,
dafTermOntology,
attributes[daf_key]))
- elif daf_key == 'variables':
- #predicate = ddfNS['variables']
- for var in attributes.get('variables', []):
+ elif daf_key in DAF_VARIABLE_NAMES:
+ for var in attributes.get(daf_key, []):
obj = toTypedNode(var)
- statements.append(RDF.Statement(subject, predicate, obj))
+ statements.append(RDF.Statement(subject, variables_term, obj))
else:
value = attributes[daf_key]
obj = toTypedNode(value)
def get_daf_variables(self):
"""Returns simple variables names that to include in the ddf
"""
- variableTerm = dafTermOntology['variables']
+ variables_term = dafTermOntology[VARIABLES_TERM_NAME]
results = ['view']
if self.need_replicate():
results.append('replicate')
- for obj in self.model.get_targets(self.submissionSet, variableTerm):
+ for obj in self.model.get_targets(self.submissionSet, variables_term):
value = str(fromTypedNode(obj))
results.append(value)
results.append('labVersion')