def process_has_args(cls, kwargs):
rel_definitions = cls.defined_properties(properties=False, rels=True, aliases=False)<EOL>match, dont_match = {}, {}<EOL>for key, value in kwargs.items():<EOL><INDENT>if key not in rel_definitions:<EOL><INDENT>raise ValueError("<STR_LIT>".format(key, cls.__name__))<EOL><DEDENT>rhs_ident = key<EOL>rel_definitions[key]._lookup_node_class()<EOL>if value is True:<EOL><INDENT>match[rhs_ident] = rel_definitions[key].definition<EOL><DEDENT>elif value is False:<EOL><INDENT>dont_match[rhs_ident] = rel_definitions[key].definition<EOL><DEDENT>elif isinstance(value, NodeSet):<EOL><INDENT>raise NotImplementedError("<STR_LIT>")<EOL><DEDENT>else:<EOL><INDENT>raise ValueError("<STR_LIT>" + repr(value))<EOL><DEDENT><DEDENT>return match, dont_match<EOL>
loop through has parameters check they correspond to class rels defined