Recently, I've been working on building a dataset. I have downloaded some open-source datasets like YAGO, and my next step is to determine whether the relationships in these datasets have certain properties such as Symmetric, Asymmetry, Transitivity. I explained this three properties as below:
Given a relationship R from entity A to entity B, it can be represented as a triplet (A, R, B).
Given R is a Symmetric relation:
If there exists a triplet (A, R, B), then there must also be (B, R, A).
Given R is an Asymmetry relation:
If there exists a triplet (A, R, B), then there must no (B, R, A)
Given R is a Transitivity relation:
If there exist triplets (A, R, B) and (B, R, C), then there must be (A, R, C)
I will explain my questions in two points as below:
- I don't systematically learn the properties of relations. I mean I don't even how many types of relations there exactly are. I would like to find some resources, such as books or other materials, that provide a systematic introduction to the properties of relationships.
- I don't hava a good idea to verify whether a relation in a large dataset posseses a certain property. Of course, I have some basic thoughts, such as , based on semantics of the relation, juding whether it possesses a certain property, I give an example as below: R is A relation called has brother, it is obvious that if A has brother B, then B has brother A. So R is a symmetric relation. That's a semantics preliminary judge. and then I would traverse the whole dataset to verify my semantics preliminary judge. However, I believe there might be better approaches available, but I don't know where I can systematically learn about this.