Most goodFlows policy language entities correspond directly to ODRL core vocabulary, reflecting a high degree of conceptual alignment between the two models; Actors map to Assignees, Operations to Actions, and Resources to Targets, while action entities’ constraints, contextual constraints and purposes are mapped to ODRL Constraints, ensuring fine-grained access and usage control. 

On the other hand, a critical distinction in goodFlows policy model is the explicit handling of pre- and post-actions, i.e., mandatory actions before and after execution, which are mapped to ODRL duties (pre-actions) and obligations (post-actions), respectively. Additionally, goodFlows introduces negative pre- and post-actions, that is, forbidden actions before and after execution, which extend ODRL using prohibitions with temporal constraints. 

Table~\ref{tab:PMmapping} provides the mapping between the goodFlows policy model and ODRL. Leveraging this mapping, goodFlows has been extended with a bidirectional ODRL adaptor that i) converts ODRL rules into the goodFlows policy language, providing for their inclusion into goodFlows reasoning scope, and ii) serialises goodFlows rules to valid ODRL statements.

\begin{table*}
	\caption{goodFlows policy model – ODRL mapping}
	\label{tab:PMmapping}
	\renewcommand{\arraystretch}{1.2}
	\begin{tabularx}{\textwidth}{p{1.8cm} p{3cm} X}
		\toprule
		goodFlows & ODRL & Comments\\
		\midrule
		Permission & Permission & Allowing the execution of an action\\
		Prohibition & Prohibition & Prohibiting the execution of an action\\
		Obligation & Duty & Prescribing the execution of an action\\
		Actor Entity & Assignee & The entity performing the action.\\
		Operation Entity & Action & The access or usage action performed on a resource (e.g., read, write, delete).\\
		Resource Entity & Target & The asset that is being accessed, modified, or controlled.\\
		Actor/ Operation/ Resource Entity Constraint & Actor/Action/Target Constraint & Used for the definition of fine-grained constraints upon actors/operations/resources attributes. Both in goodFlows policy language and ODRL, constraints are expressed as tuples of the form <leftOperand, operator, rightOperand> or logical relations thereof. \\
		Purpose & Rule Constraint (purpose as leftOperand) & Restricts an action to a specific reason (e.g., research only).\\
		Pre-Action & Duty & Action that must occur before the main action is executed.\\
		Negative Pre-Action & Prohibition with Constraint (BeforeAction as leftOperand) & Action that must not occur before execution.\\
		Post-Action & Obligation & Action that must occur after the main action is executed.\\
		Negative Post-Action & Prohibition with Constraint (AfterAction as leftOperand) & Action that must not occur after execution.\\
		Contextual Constraint & Rule Constraint & The contextual conditions under which a rule applies. Both in goodFlows policy language and ODRL, contextual conditions are defined as single or logically related constraints at the rule level.\\
		\bottomrule
	\end{tabularx}
\end{table*}
