Reasoning about functional dependencies generalized for semantic data models | Synapse