Consider that these three statements are true:
- Shyam supplies cotton to Vivek
- Vivek manufactures t-shirts
- Shyam supplies cotton which is used to manufacture t-shirts
Can you conclude that the following statement is also true – “Shyam supplies cotton to Vivek which he uses to manufacture t-shirt?”
You saw that predicates are assertions that take in some parameters , such as supplier_ manufacturer ( Shyam ,Vivek), and return true or false. but more real- world phenomena are much more complex to be represented by simple binary predicates, and so we need to use higher-order predicates(such as the ternary predicate supplier_ manufacturer_ product (Shyam, Vivek, t-shirt).
Further, if a binary predicate is true , it is not necessary that a higher order predicate will also be true. this is captured by the notion of arity of a predicate.
You saw that higher order predicate (i.e. having a large number of entity types as parameters) are complex to deal with.
Even if that binary relationships of a ternary relationship are true, it still does not imply that the ternary relationship will also be true. this implies that, in general, we cannot simple break down complex sentences (i.e. higher order predicates) into multiple lower- order predicates and verify their truth by verifying the lower- order predicates individually.
To solve this problem , we use a concept called reification.
To summarise, reification refers to combining multiple entity types to convert them into lower order predicates.
In the next segment , you will study an example of a huge knowledge graph called schema. org which uses the concepts you have learnt so far to create a schema for a wide variety of entity ( and reified entities) in one structured schema.
…….