# MEBN-RM: A Mapping between Multi-Entity Bayesian Network and Relational Model
## 3 Mebn-Rm
### Resident Node Mapping
#### 3.2.1 Predicate  
In FOL, a predicate represents a true/false statement about entities in the domain. It is expressed by a predicate symbol followed by a list of arguments. For example, Follow(\(x,y\)) is a predicate that expresses whether a following vehicle indicated by the argument \(x\) is following a leading vehicle indicated by the argument \(y\). In MEBN, this predicate corresponds to a Boolean RV with possible values _true_ and _false_. In RM, we can express a predicate as a relation schema in which the attributes are arguments of the predicate, and the rows of the table represent the arguments for which the predicate is true [52]. For example, the relation Follow [_FollowingVehicleID_, _LeadingVehicleID_] can be mapped to a predicate, Follow (_followingvehicleid_, _leadingVehicleid_). The arguments of this predicate are identical to the set of attributes of the relation to which the predicate refers. A predicate from a relation can  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Type** & **Name** & **Example** \\ \hline
1 & Predicate & Follow(followingvehicleid, leadingvehicleid) \\  & & VehicleClass(vehicleid), \\
2 & Function & TerrainType(regional), \\  & & ContainingRegion(regional), \\  & & Location(locatingvehicleid, locatingtimed) \\ \hline \hline \end{tabular}
\end{table}
Table 1: Resident Node Types on MEBN-RM.  
map to only a true value, because RM does not provide a false value for the predicate. For example, suppose that there is a dataset for the relation Follow([[_v1_, _v2_], [_v2_, _v3_]]). This dataset can be a mapped to a set of propositions of the predicate ([Follow(_v1_, _v2_) = _true_, Follow(_v2_, _v3_) = _true_]).  
Table 2 defines the relationship between elements of RM and elements of MEBN for a predicate.  
The name of a relation is used for the name of the predicate corresponding to the relation. The attributes of the relation correspond to the arguments of the predicate in sequence. A given tuple can be either present or absent in the RDB. If the tuple is present, a true value for the corresponding predicate can be assigned in the MEBN representation. If the tuple is absent, a false value for the corresponding predicate can be assigned in the MEBN representation. (This convention is used when adopting the closed world assumption, which asserts that all positive cases of a relation are represented in the database, so that absence of an instance implies the corresponding predicate is false. Dropping the closed world assumption could be handled by adding a Truth-Value attribute, with values True and False. With this representation, all cases not appearing in the database would have unknown truth value.) Now, we introduce a predicate resident node mapping.  
**Definition 19** (**Predicate Resident Node Mapping**).: _A predicate resident node mapping is a mapping in which a primary key, **PK**, of a relationship relation schema, \(\textit{RRS[PK]}\), is mapped to a resident node, \(\textit{R}\), denoted by \(\textit{RRS[PK]}\mapsto\textit{R[RRS(A_{1},A_{2},...,A_{n})]}\) = {true, false}, where \(\textit{PK}\) = [\(\textit{K}_{1}\), \(\textit{K}_{2}\),..., \(\textit{K}_{n}\)] and \(\textit{K}_{i}\mapsto\textit{A}_{i}\)._  
For example, the relation schema Follow[[_FollowingVehicleID_, _LeadingVehicleID_] can be mapped to a predicate resident node denoted by R[Follow (_followingVehicleid_, _leadingVehicleid_)].