<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Design Patterns for Governing Dynamic Data Operations in LLM-Powered Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nipun D. Pathirage</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oshani Seneviratne</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Deborah L. McGuinness</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Access Control (OBAC)</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Usage Control</string-name>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Access Control, Data Operation Control, Action Semantics, Fine-Grained Policy Enforcement, Ontology-Based</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Rensselaer Polytechnic Institute</institution>
          ,
          <addr-line>Troy, NY</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <abstract>
        <p>Traditional access control systems assume a deterministic, finite set of predefined data operations (actions), tightly coupling access rights to these actions. Retrieval-Augmented Generation (RAG) systems, however, connect large language models (LLMs) to enterprise databases, enabling dynamically generated, context-specific actions for which defining individual policies is both impractical and conceptually flawed. We introduce the ARGOS (Action Realignment using Graph-based Ontological Semantics), an ontology design pattern, which semantically represents actions, aligns them with structured data schemas, and governs access based on usergranted information operation boundaries. ARGOS employs a formal semantic policy framework with an extensible rule set to detect violations at the granularity of individual data operations and provide fine-grained, actionable feedback, thus moving beyond the conventional binary grant/reject paradigm toward context-aware, explainable enforcement.</p>
      </abstract>
      <kwd-group>
        <kwd>Applications</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The proliferation of Large Language Models (LLMs) into mainstream applications highlights their
transformative, often seemingly beyond human-level, capabilities. Real world applications must contend with
complex and often messy databases, coupled with diverse and evolving information needs, where data
privacy and security remain paramount. These environments are rarely static, as schemas evolve, data
quality varies, and the queries required to satisfy operational goals often span multiple heterogeneous
sources. Retrieval-Augmented Generation (RAG) systems, which enhance LLM responses by
incorporating domain-specific information via an information retrieval step, are particularly afected, because
they must not only navigate this complexity but also do so dynamically, generating context-specific
queries on demand. This amplifies the challenge of enforcing fine-grained, semantically coherent access
policies that can safeguard sensitive information while still enabling the rich, context-aware responses
expected in modern AI applications. This retrieval stage grants the RAG agent direct access to databases
containing potentially millions of valuable records, necessitating a provably correct mechanism to
control precisely what action each agent can perform on data.</p>
      <p>
        The field of access control has long addressed the challenge of controlling user access to
applications. Application-layer systems (e.g., Mandatory Access Control (MAC) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Discretionary Access
Control (DAC) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], Role-based Access Control (RBAC) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], Attributed-based Access Control (ABAC) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
Ontology-based Access Control (OBAC) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) primarily manage access based on finite predefined set
of user actions. Conversely, Database Management Systems (DBMS) ofer robust object-level control
via their Data Control Language (DCL) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. However, this purely object-centric approach complicates
the enforcement of unified semantic policies. A single logical rule spanning multiple tables and columns
requires a set of disparate DCL statements that are dificult to manage and prone to inconsistencies.
∗Corresponding author.
https://nipdep.github.io/portfolio/personal (N. D. Pathirage); https://oshani.info (O. Seneviratne);
      </p>
      <p>CEUR
Workshop</p>
      <p>ISSN1613-0073</p>
      <p>This fragmentation is particularly problematic for AI agent systems, which require coherent knowledge
boundaries for secure operation, i.e., clearly defined semantic limits on what information the agent can
access, process, or infer.</p>
      <p>For traditional software, this dual-model approach works because applications operate over a
welldefined set of actions corresponding to fixed software features. RAG-based applications, in contrast,
dynamically generate actions based on user queries at runtime. This flexibility invalidates the
longstanding assumption that an “action” is a predefined access request, since the space of possible operations
is efectively unbounded. Defining a separate access policy for each generated action is not only
impractical, it is conceptually flawed. The problem calls for decoupling access control from static
action definitions and instead governing access by the semantics of actions in relation to user-defined
information boundaries.</p>
      <p>This paper introduces ARGOS, short for Action Realignment using Graph-based Ontological
Semantics, which is an ontology design pattern for representing and governing access to
dynamically generated actions in LLM-powered systems. ARGOS unifies the semantic representation of
structured queries with the underlying data schema, enabling access policies to be expressed in terms of
the meaning and scope of an action rather than its surface form. This design pattern incorporates a
semantic rule set that detects violations at the level of individual data operations and returns fine-grained,
actionable feedback, moving beyond the binary grant/reject model.</p>
    </sec>
    <sec id="sec-2">
      <title>2. ARGOS Ontology Design Pattern</title>
      <p>The conceptual foundation of the ARGOS ontology design pattern is a two-stage operational model
that deliberately decouples static system configuration from dynamic runtime analysis. The initial
stage involves establishing a formal “knowledge boundary” by applying the pattern to model both the
target data source’s schema and the granular access policies that govern an agent’s operational rights.
This pre-configured semantic environment provides the ground truth for the second stage: dynamic
evaluation. At runtime, the ontology is used to lift an incoming query’s syntactic structure, such as its
Abstract Syntax Tree (AST), into the same semantic space as the knowledge boundary. By asserting
semantic attributes onto this query representation, a reasoner can then infer the precise intent of each
data operation and evaluate it against the established policies, enabling a nuanced, point-by-point
validation of access rights.</p>
      <sec id="sec-2-1">
        <title>2.1. Ontology</title>
        <p>The ARGOS ontology design pattern provides a formal structure for modeling and enforcing fine-grained,
semantic access control. Its common structure is based on the following core components:
• A Schema Component that provides a structural representation of a target data source.
• A Policy Component that defines the rules governing how an Agent may interact with entities
defined in the Schema Component.
• A Query Structure Component that creates a semantic graph representation of a syntactic
data operation query.</p>
        <p>
          These components are designed to work in concert, forming a comprehensive framework for runtime
evaluation. The compositional model operates by creating a “triangle of validation” between the static
and dynamic elements. The Policy Component is statically linked to the Schema Component via
the controlAccessTo property, pre-defining which data objects are subject to specific rules for a given
Agent. At runtime, the Query Structure Component is also linked to the Schema Component as
its ReferenceNodes are mapped to the specific schema entities being accessed. A Pallet reasoner [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]
then completes the triangle by evaluating whether the semantic action requested by the Agent within
the query structure is permissible, according to the policies associated with the referenced schema
entities. This design ensures that any dynamic operation is judged against a static, verifiable set of rules
grounded in the data’s structure.
        </p>
        <sec id="sec-2-1-1">
          <title>2.1.1. Schema Component</title>
          <p>Our model is designed to represent the database schema for the purpose of governing access, rather
than modeling the data instances contained within it. The model is composed of three primary
classes—Database, Table, and Column—which allow for the decomposition of the relational schema into
a graph of interconnected individuals. Notably, the model deliberately omits a Row class. This is because
rows in a relational database are not accessed as distinct entities but are instead identified through
value-based conditions applied to columns, such as in a WHERE clause (e.g., user_id = 'user_1'). To
accurately represent relational integrity, foreign key columns are modeled as single Column individuals
that link their respective Table individuals through dedicated object properties such as primaryKey or
foreignKey. Conversely, columns that share the same name across diferent tables but are not linked
by a foreign key relationship are modeled as distinct individuals to prevent semantic ambiguity. These
design decisions are foundational to our approach, providing a precise yet manageable representation
of the schema that directly supports our primary goal of defining and enforcing fine-grained semantic
access policies.</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>2.1.2. Policy Component</title>
          <p>
            Our policy protocol moves beyond traditional object-level control (on tables, columns, and rows) to
enable control over the semantic access to those objects. This means we consider not only the high-level
operation being performed (hasAction) but also the specific data usage within diferent scopes of
that action. To achieve this, our protocol, inspired by frameworks like XACML [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ], provides granular
control at multiple levels: by object (GrantLevel), by operation (hasAction), and, most critically, by
sub-operational scope (hasActionScope). The cornerstone of this approach is the ActionScope class,
which allows us to control user actions down to an operational scope granularity. For instance, for Read
actions, we define two crucial scopes: ViewActionScope and ProcessActionScope. This allows us to
distinguish between two fundamental operations within a single SQL query: the view operation (e.g., in
a SELECT clause), which directly exposes data, and the process operation (e.g., in a WHERE clause), which
uses data in background computations. This operational distinction, combined with other attributes like
GrantType (Permitted/Prohibited) and Condition for dynamic RowLevel control, forms a highly
expressive policy system. While administrators can define both Permitted and Prohibited policies for
ease of use, the system automatically converts Permitted grants into an equivalent set of Prohibited
policies, as the reasoner operates exclusively on prohibitions. The four main attributes in our policy
definition protocol, through their various configurations, are suficient to cover all possible database
access scenarios corresponding to the four primary SQL query types, as shown in Figure 2.
          </p>
        </sec>
        <sec id="sec-2-1-3">
          <title>2.1.3. Query Structure Component</title>
          <p>The purpose of this domain is to lift a syntactic SQL AST into a semantic, graph-based representation
upon which the reasoner can operate. Here we model a customized version of the query’s AST, focusing
only on components relevant to access control rather than a more complete, verbose taxonomy. The
transformation begins by asserting high-level semantic attributes, such as mapping a SelectStatement
to a ReadAction via the representsAction predicate and tagging the query with the executing Agent
using the executedBy predicate. Next, the ontology models the operational scope of each Clause using
the representsActionScope predicate. This scope is then propagated down to individual Reference
nodes as an effectiveActionScope, which precisely identifies the context in which data is being used.
The most critical function of this domain, however, is to map the query’s ColumnRef and TableRef
nodes to their corresponding Column and Table entities in the Schema Domain. This explicit mapping
between the dynamic query and the static schema creates the essential bridge across the three domains,
enabling the reasoner to perform its validation.</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Pattern Entities</title>
        <sec id="sec-2-2-1">
          <title>2.2.1. Schema Entities</title>
          <p>
            The ARGOS pattern is formally defined by a set of core classes and properties, which are detailed below.
The Schema class is the abstract root for modeling the structure of the data source. It is not intended
to model data instances, but rather the containers and fields that hold data. This allows the pattern
to define access control based on the semantics of the data’s structure (e.g., prohibiting access to any
column designated as personally identifiable information), a key distinction from value-based access
control models [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ].
          </p>
        </sec>
        <sec id="sec-2-2-2">
          <title>2.2.2. Policy Entities</title>
          <p>This set of entities is used to construct expressive, multi-faceted rules:
• Agent: Represents the actor, either a person or an automated entity, for whom policies are defined
and whose actions are evaluated.
• Policy: The central class that associates an Agent with a set of rules. It is the primary object for
defining a specific permission or prohibition.
• ActionType: A high-level descriptor of the data operation being performed. The base pattern
proposes two types: read and modify.
• ActionScope: The pattern’s key innovation for enabling granular control. It describes the specific
context of data usage within a single ActionType. For instance, a read action is distinguished
into a view scope (for direct data exposure) and a process scope (for using data in background
computations like filtering or aggregation).
• GrantType: A simple qualifier indicating whether the policy is a permission or a prohibition.</p>
          <p>To simplify reasoning, the pattern operates on a prohibition-only basis, where permissions are
converted into a set of prohibitions.
• GrantLevel: Defines the granularity at which a policy applies, such as at the level of a data
container (e.g., a table) or a specific data field (e.g., a column).</p>
        </sec>
        <sec id="sec-2-2-3">
          <title>2.2.3. Query Structure Entities</title>
          <p>These entities are used to create a semantic representation of an incoming query:
• SQLNode: A generic superclass for any node within the Abstract Syntax Tree (AST) of a given
query.
• ActionNode: A subtype of SQLNode that represents the primary action of the query (e.g., a</p>
          <p>SelectStatement).
• ActionScopeNode: A subtype of SQLNode that represents the clauses defining specific operational
scopes (e.g., a SelectClause or WhereClause).
• ReferenceNode: The critical subtype that represents a reference to a specific data entity in the
schema. These nodes are ultimately mapped back to instances in the Schema Component.
• SQLNodeType: A class for representing auxiliary attributes of query terms that carry operational
significance within a specific action scope.
• SQLNodeStatus: An attribute asserted on a ReferenceNode to flag whether its use within its
inferred scope constitutes a policy violation.</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Potential Variations</title>
        <p>
          The ARGOS pattern is a foundational framework that can be adapted. As with other ontology design
patterns, such as the OWL+PROV [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] pattern, which has a “flat” representation variant, ARGOS can
be modified to suit diferent implementation needs.
        </p>
        <p>• Flattened Policy Representation: For domains where granular explanation is less critical,
the policy structure could be “flattened.” Instead of building a policy from distinct ActionType,
ActionScope, and GrantLevel entities, these could be combined into fewer, more complex OWL
class expressions or SWRL rules. This trades some modularity and reusability for potentially
more concise rule definitions.
• Alternative Query Representations: While the pattern is described using an AST-based model
(SQLNode), it is not strictly tied to this representation. The Query Structure Component could
be adapted to model other query formalisms, such as a query execution plan or a more abstract
logical query graph, so long as the representation can be semantically grounded and linked back
to the Schema Component.
• Extended Action Scopes: The initial pattern proposes view and process as the two primary
scopes for read actions. This is not an exhaustive list. For diferent data models or use cases, new
scopes could be introduced. For example, a metadata scope could be defined for operations that
only query the schema information itself, or an aggregation scope could be explicitly modeled for
operations involving functions like SUM or AVG.</p>
        <sec id="sec-2-3-1">
          <title>2.3.1. Enforcement Logic Pattern</title>
          <p>The ARGOS ontology design pattern includes a set of enforcement rules that tie the Schema, Policy, and
Query Structure components together to detect prohibited data operations. This core runtime process
evaluates the query’s semantic graph against the set of Prohibited policies applicable to the Agent.
The rules are designed to handle the granularity introduced by the pattern’s core concepts, particularly
the ActionScope class. This allows for nuanced control by distinguishing between the diferent ways
data can be used within a single high-level action, enabling policies to permit an action in one context
while prohibiting it in another.</p>
          <p>The fundamental logic of the rule set can be formalized as a first-order logic implication. A
ReferenceNode within a query is marked as a violation if there exists a prohibitive policy that applies
to the agent, the referenced data entity, and the specific action and scope context in which the entity is
being used. This principle can be expressed as:
∀ ∈ RefNode, ∃ ∈ Policy(,  ) →
hasStatus( , Violated)
Where (,  ) is the conjunction of conditions that must hold for a policy  to apply to a reference node
 . This conjunction asserts that: (1) the policy and the query share the same executing Agent; (2) the
policy’s GrantType is Prohibited; (3) the policy’s target (via controlAccessTo) is the same Schema
entity that the reference node  maps to; and (4) the policy’s specified ActionType and ActionScope
match the efective action and scope inferred for the reference node  .</p>
          <p>This logical structure is not a fixed implementation but a reusable pattern for enforcement. It can be
extended and specialized for diferent use cases by instantiating the general rule template. For example,
to support a new query language, one would create specific rules for its unique node types (e.g., a
PathExpressionRef for a graph query language) that instantiate the variables in the formal logic above.
Similarly, if a user extends the pattern with custom ActionScopes, they would define a corresponding
new violation detection rule that follows the same logical pattern. This makes the enforcement logic
itself a modular and extensible component of the overall design pattern, guaranteeing that a secure
operational boundary can be enforced across diverse applications.
Intent: Govern dynamically generated data operations in LLM-powered systems through
semantic action–schema alignment.</p>
          <p>Context: Dynamic action spaces (e.g., LLM-generated queries) where predefined action lists are
infeasible.</p>
          <p>Problem: How to enforce fine-grained, context-aware policies without relying on fixed action
enumerations.</p>
          <p>Solution: The three-world model (Schema, Policy, Query) combined with ActionScope and
formal enforcement logic to semantically map and validate operations.</p>
          <p>Example: RDB/SQL instantiation illustrating granular read/process scopes and semantic policy
enforcement over dynamically generated SQL queries.</p>
          <p>Consequences: Reusability, adaptability, interpretability, and modularity. Supports adaptation
to multiple query languages and policy granularities.</p>
          <p>
            Known Uses: Current SQL-based use case (see Section 3); applicable to GraphQL [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ],
SPARQL [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ], and NoSQL scenarios where query decomposition and semantic scope control are
required.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Use Case: Controlling Relational Database Operations via SQL</title>
      <p>We demonstrate the application of the ARGOS ontology design pattern in a critical enterprise scenario:
securing access to a relational database (RDB) queried via Structured Query Language (SQL). This
domain is particularly challenging due to the intricate relationships created by data normalization and
the sheer volume of enterprise data residing in RDBs, making it a critical target for secure integration.
The goal is to enforce granular access policies over dynamic, unpredictable SQL queries, such as
those generated by modern AI agents. For example, in a query like SELECT name, SUM(salary) FROM
employees WHERE dept_id &gt; 10;, a security framework must understand that ‘name‘ and ‘salary‘
are being used for viewing, while ‘dept_id‘ is used for filtering, and apply diferent policy rules to each
context.</p>
      <sec id="sec-3-1">
        <title>3.1. Ontology Design for RDB and SQL</title>
        <p>To address this challenge, we instantiate the ARGOS design pattern to create a concrete ontology
tailored for the RDB/SQL domain. This process involves specializing the abstract components of the
pattern as follows:</p>
        <p>• Schema Component Instantiation: The pattern’s abstract Schema component is implemented</p>
        <p>using concrete classes such as Database, Table, and Column. These classes are used to build a
semantic graph representing the target RDB’s schema, including its relational integrity constraints
like primary and foreign keys.
• Policy Component Instantiation: The abstract Policy component is used to define access
rights specific to RDB operations. Here, the generic ActionScope is instantiated with two crucial
individuals for SQL Read actions: ViewActionScope, which corresponds to data being exposed in
a SELECT clause, and ProcessActionScope, which corresponds to data being used in background
computations within clauses like WHERE or GROUP BY.
• Query Structure Component Instantiation: The pattern’s generic SQLNode is specialized to
model a SQL query’s Abstract Syntax Tree (AST). This involves creating concrete subclasses such
as SelectStatement, UpdateStatement, TableRef, and ColumnRef to represent the specific
syntactic elements of a SQL query.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Instantiated Rule Set</title>
        <p>
          The abstract Enforcement Logic Pattern is instantiated as a concrete set of SWRL [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] rules designed
to operate on the SQL-specific ontology. These rules first perform semantic attribute assertion to lift
the syntactic SQL AST into a semantic graph and then use this graph to detect policy violations. The
following seven core runtime rules are designed to enforce the full spectrum of policies on SQL queries.
• R1 (Modify Action Violation): Detects prohibited ‘Modify‘ actions on a table.
        </p>
        <p>Policy(?p) ^ hasAction(?p, ModifyAction) ^ hasActionScope(?p, ?scope) ^ hasGrantType(?p,
↪ Prohibited) ^ hasGrantLevel(?p, TableLevel) ^ hasAgent(?p, ?a) ^
↪ controlAccessTo(?p, ?t) ^ Statement(?stmt) ^ executedBy(?stmt, ?a)^
↪ representsAction(?stmt, ModifyAction) ^ hasChildNode(?stmt, ?ref) ^ TableRef(?ref)
↪ ^ referencesToTable(?ref, ?t) ^ immediateChildNode(?stmt, ?cls) ^
↪ representsScope(?cls, ?scope) -&gt; hasStatus(?ref, Violated) ^ relatedPolicy(?ref,
↪ ?p)
• R2 (Table-Level Read Action, Process Violation): Detects any reference to a table prohibited
for processing.</p>
        <p>Policy(?p) ^ hasAction(?p, ReadAction) ^ hasAgent(?p, ?a) ^ hasGrantType(?p, Prohibited)
↪ ^ hasGrantLevel(?p, TableLevel) ^ hasAgent(?p, ?a) ^ controlAccessTo(?p, ?t) ^
↪ Statement(?stmt) ^ executedBy(?stmt, ?a) ^ representsAction(?stmt, ReadAction) ^
↪ hasChildNode(?stmt, ?ref) ^ TableRef(?ref) ^ referencesToTable(?ref, ?t) -&gt;
↪ hasStatus(?ref, Violated) ^ relatedPolicy(?ref, ?p)
• R3 (Table-Level Read Action, View Violation): Detects a reference to a view-prohibited table
within a ViewActionScope.</p>
        <p>Policy(?p) ^ hasAction(?p, ReadAction) ^ hasActionScope(?p, ViewActionScope) ^
↪ hasGrantType(?p, Prohibited) ^ hasGrantLevel(?p, TableLevel) ^ hasAgent(?p, ?a) ^
↪ controlAccessTo(?p, ?t) ^ Statement(?stmt) ^ executedBy(?stmt, ?a) ^
↪ representsAction(?stmt, ReadAction) ^ hasChildNode(?stmt, ?ref) ^ TableRef(?ref) ^
↪ hasEffectiveScope(?ref, ViewActionScope) ^ referencesToTable(?ref, ?t) -&gt;
↪ hasStatus(?ref, Violated) ^ relatedPolicy(?ref, ?p)
• R4 (Column-Level Read Action, Process Violation): Detects any reference to a column
prohibited for processing.</p>
        <p>Policy(?p) ^ hasAction(?p, ReadAction) ^ hasGrantType(?p, Prohibited) ^ hasGrantLevel(?p,
↪ ColumnLevel) ^ hasActionScope(?p, ProcessActionScope) ^ hasAgent(?p, ?a) ^
↪ controlAccessTo(?p, ?c) ^ Statement(?stmt) ^ executedBy(?stmt, ?a) ^
↪ representsAction(?stmt, ReadAction) ^ hasChildNode(?stmt, ?ref) ^ ColumnRef(?ref)
↪ ^ referencesToColumn(?ref, ?c) -&gt; hasStatus(?ref, Violated) ^ relatedPolicy(?ref,
↪ ?p)
• R5 (Column-Level Read Action, View Violation): Detects a reference to a view-prohibited
column within a ViewActionScope.</p>
        <p>Policy(?p) ^ hasAction(?p, ReadAction) ^ hasActionScope(?p, ViewActionScope) ^
↪ hasGrantType(?p, Prohibited) ^ hasGrantLevel(?p, ColumnLevel) ^ hasAgent(?p, ?a) ^
↪ controlAccessTo(?p, ?c) ^ Statement(?stmt) ^ executedBy(?stmt, ?a) ^
↪ representsAction(?stmt, ReadAction) ^ hasChildNode(?stmt, ?ref) ^ ColumnRef(?ref)
↪ ^ ofClauseNode(?ref, ?cls) ^ representsScope(?cls, ViewActionScope) ^
↪ hasEffectiveScope(?ref, ViewActionScope) ^ referencesToColumn(?ref, ?c) ^
↪ immediateParentNode(?ref, ?pn) ^ hasNodeType(?pn, NonFunctional) -&gt;
↪ hasStatus(?ref, Violated) ^ relatedPolicy(?ref, ?p)
• R6 (Row-Level Read Action, Process Tagging): Tags a table reference for subsequent condition
enforcement if it is referenced anywhere in a query and has a row-level process restriction.
Policy(?p) ^ hasAction(?p, ReadAction) ^ hasActionScope(?p, ViewActionScope) ^
↪ hasGrantType(?p, Conditional) ^ hasGrantLevel(?p, RowLevel) ^ hasAgent(?p, ?a) ^
↪ controlAccessTo(?p, ?t) ^ Statement(?stmt) ^ executedBy(?stmt, ?a) ^
↪ representsAction(?stmt, ReadAction) ^ hasChildNode(?stmt, ?ref) ^ TableRef(?ref) ^
↪ referencesToTable(?ref, ?t) -&gt; hasStatus(?ref, RowTag) ^ relatedPolicy(?ref, ?p)
• R7 (Row-Level Read Action, View Tagging): Tags a table reference for condition enforcement
if it appears in a ViewActionScope and has a row-level view restriction.</p>
        <p>Policy(?p) ^ hasAction(?p, ReadAction) ^ hasActionScope(?p, ViewActionScope) ^
↪ hasGrantType(?p, Conditional) ^ hasGrantLevel(?p, RowLevel) ^ hasAgent(?p, ?a) ^
↪ controlAccessTo(?p, ?t) ^ Statement(?stmt) ^ executedBy(?stmt, ?a) ^
↪ representsAction(?stmt, ReadAction) ^ hasChildNode(?stmt, ?ref) ^ TableRef(?ref) ^
↪ hasEffectiveScope(?ref, ViewActionScope) ^ referencesToTable(?ref, ?t) -&gt;
↪ hasStatus(?ref, RowTag) ^ relatedPolicy(?ref, ?p)</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Evaluation</title>
      <p>
        The ARGOS ontology design pattern was evaluated based on key model quality criteria introduced in
Thorn’s criterion [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], including correctness, reusability, changeability, formalness, and usability. The
evaluation is grounded in the successful application of the pattern to the RDB/SQL use case, which
provides a complex, real-world scenario for assessing its capabilities.
      </p>
      <sec id="sec-4-1">
        <title>4.1. Correctness</title>
        <p>Correctness is the correspondence between the model and the artifacts it represents. We evaluated
the correctness of the ARGOS pattern by analyzing the representational adequacy of its instantiation
in the RDB/SQL use case. To do this, we formulated 25 competency questions (CQs) designed to test
whether the resulting ontology could accurately model the database schema, define granular policies,
and reason over incoming SQL queries. These CQs, which cover all three components of the pattern,
are enumerated below:
• Schema Modeling (CQ 1-5): Questions on the ability to represent tables, columns, and key
relationships.
• Policy Definition (CQ 6-17): Questions on defining agent-specific policies with varied action
types, scopes, and granularities.
• Query Analysis &amp; Reasoning (CQ 18-25): Questions on modeling the query AST and
identifying policy violations.</p>
        <p>The instantiated ontology was able to be used to successfully answer all 25 CQs, demonstrating that the
ARGOS pattern provides a correct and suficiently expressive foundation for modeling the domain and
enforcing access control.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Reusability</title>
        <p>Reusability is the ability to reuse parts of the pattern when developing other models. The ARGOS
pattern exhibits high reusability by design. Its core components are abstract: the Schema Component
can model any structured data source, the Query Structure Component can be adapted to any query
language with a parsable syntax (e.g., SPARQL, GraphQL), and the Policy Component is inherently
generic. The successful and detailed application of this abstract pattern to the specific and complex
RDB/SQL use case serves as strong evidence of its reusability in other domains.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Changeability</title>
        <p>Changeability is the ability to evolve the model while maintaining its integrity. The modular design
of the ARGOS pattern supports this. For example, a new policy can be added simply by creating a
new Policy individual and linking it to the relevant entities, without afecting existing policies. More
significantly, the pattern can be extended with new concepts. If a use case required a new type of
operational context, such as a distinct AggregationScope, it could be added as a new individual to the
ActionScope class, and a corresponding enforcement rule could be added to the reasoner. This could
be done without altering the existing rules for other scopes, demonstrating the pattern’s capacity to
evolve.</p>
      </sec>
      <sec id="sec-4-4">
        <title>4.4. Formalness</title>
        <p>
          Formalness is the ability to manage the model in a formalized manner. The ARGOS pattern is specified
in OWL 2 DL [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], and its enforcement logic is designed to be implemented with standards like SWRL.
This grounding in W3C [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] standards ensures that models created with the pattern are
machineinterpretable and can be processed by standard OWL reasoners. As described in the pattern definition,
the core enforcement logic can be captured in a formal first-order logic implication, providing a precise,
unambiguous specification for its implementation.
        </p>
      </sec>
      <sec id="sec-4-5">
        <title>4.5. Usability</title>
        <p>
          Usability refers to the ease of efectively communicating and aligning the model with users’ mental
models. While the concept of decomposing query semantics into distinct action scopes may be novel,
the three-part structure of the pattern (Schema, Policy, Query) provides a clear and logical separation
of concerns. To further ensure the quality and usability of ontologies produced from the pattern, we
validated the instantiated RDB/SQL ontology using the OOPS! (OntOlogy Pitfall Scanner!) tool [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
The scan confirmed that the ontology is structurally robust and free of critical modeling errors, which
ensures a stable and reliable foundation for developers building applications with the pattern.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Related Work</title>
      <p>
        The application of ontologies to access control is a mature field of research. We categorize related
work into three primary areas: foundational Ontology-Based Access Control (OBAC) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] models that
semanticize traditional paradigms, Usage Control (UCON) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] models that introduce decision continuity,
and modern applications that address fine-grained data control.
      </p>
      <p>
        A significant body of work establishes the foundation for OBAC by using ontologies to enrich and
formalize access control decisions [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Early research [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] demonstrated how to model users, profiles,
and domain concepts to enable personalized and semantic access control for web services and other
resources. This includes foundational models for semantic web services [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], personalizable OBAC [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ],
and methods for protecting semantic resources at the concept and property level. A parallel efort [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]
focused on providing semantic representations of traditional models like Role-Based Access Control
(RBAC) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], showing how to map its primitives into OWL to support interoperability and create richer,
context-aware role expressions. While seminal, these approaches were designed for environments with
large populations of human users, where access is determined by the roles and attributes of the user.
They provide the foundation but do not address the paradigm of a few powerful, non-human agents.
      </p>
      <p>
        A second thread of research, Usage Control (UCON) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], introduced a more dynamic model
integrating authorizations with ongoing obligations and conditions. Foundational UCON models and their
more recent context-aware extensions (CA-UCON) [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] enable policies that require decision continuity
and can react to mutable attributes during a data usage session. This work is significant for introducing
temporal and conditional logic that goes beyond a simple, one-time “permit” or “deny.” However, the
UCON framework was not designed to manage agents that can generate a large space of complex,
unforeseen actions on demand, which is a core challenge with LLM agents.
      </p>
      <p>
        More recent work pushes OBAC toward the fine-grained control necessary for modern data
ecosystems [
        <xref ref-type="bibr" rid="ref23 ref24">23, 24</xref>
        ]. This includes applying ontologies to enforce provenance-aware policies for FAIR data [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]
and using standardized vocabularies like ODRL [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] for interoperable usage control in decentralized
systems. Other recent studies revisit OBAC from a data access perspective to integrate legacy sources [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ].
These contemporary works highlight the field’s trajectory towards data-centric, fine-grained control.
However, our approach addresses a specific gap they do not: the nature of the LLM agent itself. Existing
models, as surveyed in the literature, often treat an “action” as a static, atomic category. In contrast, an
LLM agent generates operations that are not atomic but are structured, hierarchical, and dynamically
composed. The ARGOS pattern contributes a specific mechanism that is lacking in prior work for
decomposing these complex operations. It allows policies to bind to the sub-parts of a single query,
providing a necessary layer of granular control for the unique challenge of managing a small number
of powerful agents with a large, dynamic action space.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>
        For future work, we plan to facilitate broader adoption and interoperability by mapping the ARGOS
ontology design patterns to standard models in the Generative AI landscape, such as the GENAIO
ontology [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. Currently, ARGOS formalizes the semantic interpretation of data operations but does not
model the semantics of the data itself. A significant avenue for extension is to combine our operational
semantics with data semantics representation mechanisms like SHACL [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. This integration would
pave the way for fully automated access control systems, where complex policies could potentially be
defined and enforced through simple natural language directives.
      </p>
      <p>This paper addressed the critical security gap that emerges when LLM-based RAG agents are granted
direct access to databases. We introduced a novel ontology design pattern, ARGOS, that unifies
object-level and action-level access control, ofering a coherent framework for managing the vast and
unpredictable query variations generated by LLMs. Complemented by a formal set of reasoning rules,
our framework dynamically evaluates and enforces defined access rights at runtime, ensuring policy
compliance for any incoming query. This work thus provides a provable and interpretable foundation
for securing the next generation of RDB-backed RAG systems against unauthorized or unintended data
access. Looking forward, the proposed ontology has the potential to become a cornerstone for fully
semantic access control systems, extending beyond RAG to a broad class of applications requiring deep,
context-aware data governance and fine-grained policy enforcement over relational databases.</p>
    </sec>
    <sec id="sec-7">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the author(s) used Gemini-2.5 Pro and GPT-4 in order to: Grammar
and spelling check. After using these tool(s)/service(s), the author(s) reviewed and edited the content as
needed and take(s) full responsibility for the publication’s content.</p>
    </sec>
    <sec id="sec-8">
      <title>7. Online Resources</title>
      <p>ARGOS Ontology Pattern Website: https://tetherless-world.github.io/argos</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>H.</given-names>
            <surname>Lindqvist</surname>
          </string-name>
          ,
          <article-title>Mandatory access control, Master's thesis in computing science</article-title>
          , Umea University, Department of Computing Science,
          <source>SE-901</source>
          <volume>87</volume>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D. D.</given-names>
            <surname>Downs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Rub</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. C.</given-names>
            <surname>Kung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. S.</given-names>
            <surname>Jordan</surname>
          </string-name>
          ,
          <article-title>Issues in discretionary access control, in: 1985 IEEE symposium on security and privacy</article-title>
          , IEEE,
          <year>1985</year>
          , pp.
          <fpage>208</fpage>
          -
          <lpage>208</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Ramaswamy</surname>
          </string-name>
          , h. R. S,
          <article-title>Role-based access control features in commercial database management systems (</article-title>
          <year>1998</year>
          )
          <fpage>503</fpage>
          -
          <lpage>511</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Padia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Finin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Joshi</surname>
          </string-name>
          ,
          <article-title>Attribute-based fine grained access control for triple stores (</article-title>
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>Xiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kontchakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zakharyaschev</surname>
          </string-name>
          ,
          <article-title>Ontologybased data access: A survey</article-title>
          ,
          <source>in: Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence</source>
          ,
          <source>International Joint Conferences on Artificial Intelligence Organization</source>
          , Stockholm, Sweden,
          <year>2018</year>
          , p.
          <fpage>5511</fpage>
          -
          <lpage>5519</lpage>
          . URL: https://www.ijcai.org/proceedings/2018/777. doi:
          <volume>10</volume>
          . 24963/ijcai.
          <year>2018</year>
          /777.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Sandhu</surname>
          </string-name>
          ,
          <article-title>Relational database access controls</article-title>
          ,
          <source>Handbook of information security management 95</source>
          (
          <year>1994</year>
          )
          <fpage>145</fpage>
          -
          <lpage>160</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E.</given-names>
            <surname>Sirin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kalyanpur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Katz</surname>
          </string-name>
          ,
          <article-title>Pellet: A practical owl-dl reasoner</article-title>
          ,
          <source>Journal of Web Semantics</source>
          <volume>5</volume>
          (
          <year>2007</year>
          )
          <fpage>51</fpage>
          -
          <lpage>53</lpage>
          . URL: https://www.sciencedirect.com/science/article/ pii/S1570826807000169. doi:https://doi.org/10.1016/j.websem.
          <year>2007</year>
          .
          <volume>03</volume>
          .004, software Engineering and the Semantic Web.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>O.</given-names>
            <surname>Standard</surname>
          </string-name>
          ,
          <article-title>extensible access control markup language (xacml) version 3</article-title>
          .0,
          <string-name>
            <surname>A</surname>
          </string-name>
          :(
          <issue>22</issue>
          <year>January 2013</year>
          ). URl: http://docs. oasis-open.
          <source>org/xacml/3</source>
          .0/xacml-3.0
          <article-title>-core-spec-os-en</article-title>
          .
          <source>html</source>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.-W.</given-names>
            <surname>Byun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>Purpose based access control for privacy protection in relational database systems</article-title>
          ,
          <source>The VLDB Journal</source>
          <volume>17</volume>
          (
          <year>2008</year>
          )
          <fpage>603</fpage>
          -
          <lpage>619</lpage>
          . doi:
          <volume>10</volume>
          .1007/s00778- 006- 0023- 0.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>T.</given-names>
            <surname>Lebo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sahoo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. McGuinness</given-names>
            ,
            <surname>PROV-O: The PROV Ontology</surname>
          </string-name>
          , Recommendation, W3C,
          <year>2013</year>
          . URL: https://www.w3.org/TR/prov-o/.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A.</given-names>
            <surname>Quiña Mera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fernandez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>García</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ruiz-Cortés</surname>
          </string-name>
          ,
          <article-title>Graphql: A systematic mapping study</article-title>
          ,
          <source>ACM Comput. Surv</source>
          .
          <volume>55</volume>
          (
          <year>2023</year>
          ). URL: https://doi.org/10.1145/3561818. doi:
          <volume>10</volume>
          .1145/3561818.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.</given-names>
            <surname>Harris</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Seaborne</surname>
          </string-name>
          , SPARQL
          <volume>1</volume>
          .1
          <string-name>
            <given-names>Query</given-names>
            <surname>Language</surname>
          </string-name>
          , Recommendation, W3C,
          <year>2013</year>
          . URL: https: //www.w3.org/TR/sparql11-query/.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Boley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tabet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Grosof</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Dean, SWRL: A Semantic Web Rule Language Combining OWL and RuleML</article-title>
          , in: W3C Member Submission,
          <year>2004</year>
          . URL: https://www.w3.org/submissions/SWRL/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>C.</given-names>
            <surname>Thörn</surname>
          </string-name>
          ,
          <article-title>On the quality of feature models</article-title>
          ,
          <source>Linkopings Universitet (Sweden)</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>W. O. W.</given-names>
            <surname>Group</surname>
          </string-name>
          , OWL 2
          <string-name>
            <given-names>Web</given-names>
            <surname>Ontology Language Document Overview (Second Edition)</surname>
          </string-name>
          ,
          <source>Recommendation, W3C</source>
          ,
          <year>2012</year>
          . URL: https://www.w3.org/TR/owl2-overview/.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16] World Wide Web Consortium,
          <source>World wide web consortium (w3c)</source>
          , https://www.w3.org/,
          <year>2025</year>
          . Accessed:
          <fpage>2025</fpage>
          -09-06.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>M.</given-names>
            <surname>Poveda-Villalón</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gómez-Pérez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. C.</given-names>
            <surname>Suárez-Figueroa</surname>
          </string-name>
          ,
          <article-title>OOPS! (OntOlogy Pitfall Scanner!): An On-line Tool for Ontology Evaluation</article-title>
          ,
          <source>International Journal on Semantic Web and Information Systems (IJSWIS) 10</source>
          (
          <year>2014</year>
          )
          <fpage>7</fpage>
          -
          <lpage>34</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>J.</given-names>
            <surname>Park</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Sandhu</surname>
          </string-name>
          ,
          <article-title>The uconabc usage control model, ACM transactions on information and system security (TISSEC) 7 (</article-title>
          <year>2004</year>
          )
          <fpage>128</fpage>
          -
          <lpage>174</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Ö. Can</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Bursa</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Ünalır</surname>
          </string-name>
          ,
          <article-title>Personalizable ontology based access control</article-title>
          ,
          <source>Gazi University Journal of Science</source>
          <volume>23</volume>
          (
          <year>2010</year>
          )
          <fpage>465</fpage>
          -
          <lpage>474</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>S.</given-names>
            <surname>Javanmardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Amini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Jalili</surname>
          </string-name>
          ,
          <article-title>An access control model for protecting semantic web resources</article-title>
          ,
          <source>in: Web policy workshop</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>D.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <article-title>Ontology-based rbac specification for interoperation in distributed environment</article-title>
          ,
          <source>in: Asian Semantic Web Conference</source>
          , Springer,
          <year>2006</year>
          , pp.
          <fpage>179</fpage>
          -
          <lpage>190</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>A.</given-names>
            <surname>Almutairi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Siewe</surname>
          </string-name>
          ,
          <article-title>Ca-ucon: a context-aware usage control model</article-title>
          ,
          <source>in: Proceedings of the 5th ACM International Workshop on Context-Awareness for Self-Managing Systems</source>
          ,
          <year>2011</year>
          , pp.
          <fpage>38</fpage>
          -
          <lpage>43</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>J.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Schinke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Gong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hoppen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Roßmann</surname>
          </string-name>
          ,
          <article-title>Interoperable access and usage control of self-sovereign digital twins using odrl and i4. 0 language.</article-title>
          , in: IoTBDS,
          <year>2024</year>
          , pp.
          <fpage>75</fpage>
          -
          <lpage>85</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>C.</given-names>
            <surname>Brewster</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Nouwt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Raaijmakers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Verhoosel</surname>
          </string-name>
          ,
          <article-title>Ontology-based access control for fair data</article-title>
          ,
          <source>Data Intelligence</source>
          <volume>2</volume>
          (
          <year>2020</year>
          )
          <fpage>66</fpage>
          -
          <lpage>77</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>R.</given-names>
            <surname>García</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Gil</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Gallego</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Delgado</surname>
          </string-name>
          ,
          <article-title>Formalising odrl semantics using web ontologies</article-title>
          ,
          <source>in: Proc. 2nd Intl. ODRL Workshop</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>R. M. Vsevolodovna</surname>
          </string-name>
          ,
          <article-title>Generative ai ontology (genai)</article-title>
          ,
          <source>NCBO BioPortal</source>
          ,
          <year>2024</year>
          . URL: https://bioportal. bioontology.org/ontologies/GENAI, version
          <volume>1</volume>
          .0.
          <source>Accessed: September 3</source>
          ,
          <year>2025</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>H.</given-names>
            <surname>Knublauch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kontokostas</surname>
          </string-name>
          ,
          <article-title>Shapes Constraint Language (SHACL), Recommendation</article-title>
          , W3C,
          <year>2017</year>
          . URL: https://www.w3.org/TR/shacl/.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>