<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mackey-nmop-kg-for-netops-03" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.1 -->
  <front>
    <title abbrev="Knowledge Graph NetOps">Knowledge Graph Framework for Network Operations</title>
    <seriesInfo name="Internet-Draft" value="draft-mackey-nmop-kg-for-netops-03"/>
    <author fullname="Michael Mackey">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>Ireland</country>
        </postal>
        <email>michael.mackey@huawei.com</email>
      </address>
    </author>
    <author fullname="Benoit Claise">
      <organization>Everything-Ops</organization>
      <address>
        <postal>
          <country>Belgium</country>
        </postal>
        <email>Benoit@everything-ops.net</email>
      </address>
    </author>
    <author fullname="Thomas Graf">
      <organization>Swisscom</organization>
      <address>
        <postal>
          <street>Binring 17</street>
          <city>Zurich</city>
          <code>8045</code>
          <country>Switzerland</country>
        </postal>
        <email>thomas.graf@swisscom.com</email>
      </address>
    </author>
    <author fullname="Holger Keller">
      <organization>Deutsche Telekom</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>Holger.Keller@telekom.de</email>
      </address>
    </author>
    <author fullname="Dan Voyer">
      <organization>Bell Canada</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>daniel.voyer@bell.ca</email>
      </address>
    </author>
    <author fullname="Paolo Lucente">
      <organization>NTT</organization>
      <address>
        <postal>
          <street>Veemweg 23</street>
          <city>Barneveld</city>
          <code>3771</code>
          <country>Netherlands</country>
        </postal>
        <email>paolo@ntt.net</email>
      </address>
    </author>
    <author fullname="Ignacio Dominguez Martinez-Casanueva">
      <organization>Telefonica</organization>
      <address>
        <postal>
          <country>Spain</country>
        </postal>
        <email>ignacio.dominguezmartinez@telefonica.com</email>
      </address>
    </author>
    <date year="2025" month="September" day="02"/>
    <area>Operations and Management</area>
    <workgroup>NMOP</workgroup>
    <abstract>
      <?line 78?>

<t>This document describes some of the problems in modern operations and management systems and how 
knowledge graphs and RDF can be used to solve closed loop system, in an automatic way.</t>
      <t>Discussion Venues</t>
      <t>This note is to be removed before publishing as an RFC.</t>
      <t>Source for this draft and an issue tracker can be found at
   https://github.com/mike-mackey.</t>
    </abstract>
  </front>
  <middle>
    <?line 90?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The IAB organized a workshop in June 2002 to establish a dialog between
network operators and protocol developers, to guide IETF when
working on network management protocols and data models. The outcome of that workshop
was documented in the "Overview of the 2002 IAB Network Management
Workshop" <xref target="RFC3535"/> which identified 14 operator requirements for
consideration in future network management protocol design and related
data models, along with some recommendations for the IETF.</t>
      <t>The RFC3535 requirements were instrumental in developing first the
NETCONF protocol (in the NETCONF Working Group) <xref target="RFC6241"/>, the
associated YANG data modelling language (in the NETMOD Working Group)
<xref target="RFC7950"/>, RESTCONF <xref target="RFC8040"/>, and most recently CORECONF
<xref target="I-D.ietf-core-comi"/>.</t>
      <t>A new IAB workshop, Next Era of Network Management Operations (NEMOPS),
is getting organized to tackle the next big challenges in the world of
network management. Exactly like the previous workshops, operator
challenges and requirements will be documented. The new set of requirements 
will hopefully guide the Operational and Management Area (OPS)
<eref target="https://datatracker.ietf.org/group/ops/about/"/> future directions.</t>
      <t>This document describes the challenges in network operations, and
proposes a new framework based on knowledge graph, to solve (some of)
those operational challenges, mainly how to automatically assure networks.</t>
      <t>As an introduction, let's review the difference between information model and data model.
Quoting RFC 3444 <xref target="RFC3444"/>, "The main purpose of an information model is to model
managed objects at a conceptual level, independent of any specific
implementations or protocols used to transport the data. The degree of
specificity (or detail) of the abstractions defined in the information
model depends on the modelling needs of its designers. In order to make
the overall design as clear as possible, an information model should
hide all protocol and implementation details. Another important
characteristic of an information model is that it defines relationships
between managed objects."</t>
      <t><strong>An information model</strong>, typically expressed in a language such as Unified
modelling Language (UML) do not generate the full APIs, as it lacks some
of the implementation- and protocol-specific details; for example, rules
that explain how to map managed objects onto lower-level protocol
constructs.</t>
      <t><strong>A data model</strong>, on the other end, can directly be used for network
automation. As an example, YANG data models <xref target="RFC7950"/> can generate
APIs, to be accessed by protocols such as NETCONF and RESTCONF.</t>
    </section>
    <section anchor="challenges">
      <name>Challenges</name>
      <t>This section covers the current operational challenges.</t>
      <section anchor="data-overload-from-network-operations">
        <name>Data Overload from Network Operations</name>
        <t>Modern network operators are inundated with vast amounts of data
generated from various sources within the network. This data encompasses
information from the management plane, control plane, and data plane.
Each contributing to a massive influx of information. The sheer volume
of data is staggering, making it challenging even for advanced computer
systems to process and analyze effectively.</t>
      </section>
      <section anchor="difficulties-in-data-analysis-and-insight-extraction">
        <name>Difficulties in Data Analysis and Insight Extraction</name>
        <t>Data analysts with network domain knowledge play a crucial role in leveraging
this data to predict faults, perform Root Cause Analysis (RCA), and implement
automatic remediation. However, they often struggle to extract useful
information due to the overwhelming volume, data standardization and complexity of the data. The 
challenge lies not only in processing the data but also in finding meaningful
patterns and correlations that can derive actionable insights.</t>
      </section>
      <section anchor="complex-data-correlation-requirements">
        <name>Complex Data Correlation Requirements</name>
        <t>A significant challenge in modern network operations is the need to
correlate data from different planes - management, control, and data. Each
plane generates its own set of data, often stored in disparate
repositories and formats. Linking this information together is essential
to gain a holistic view of network operations but is inherently
difficult.</t>
      </section>
      <section anchor="service-and-customer-correlation">
        <name>Service and Customer Correlation</name>
        <t>Ultimately, all collected data must be correlated back to specific
connectivity services (and its customers). This correlation is critical for
understanding the impact of network events on service quality and
customer experience. However, the process of linking management plane
data with control plane and data plane information, is to provide a coherent
connectivity service with customer perspective is extremely challenging. Even as
a simpler challenge, it's not always easy to correlate the configuration management 
plane information with the streamed operational data: YANG, as a data modelling<br/>
language simplifies the situation, if used for both config and streaming but
some extra correlation might anyway be required beyond the data model.</t>
      </section>
      <section anchor="data-storage-and-format-disparities">
        <name>Data Storage and Format Disparities</name>
        <t>Data is frequently stored in multiple repositories, each potentially
using different formats. This fragmentation makes it difficult to manage
the links between different data sets. In some cases, these links, relationships,
may be lost within the engines of the management and analytics systems, leading
to incomplete or incorrect analyses.</t>
        <t>For example, data is stored using a variety of data model languages, sometimes different 
schemas for a specific data model language (for example YANG ), which are sometimes
different per router vendors, often siloed in different applications and storage platforms.
Establishing relationships between this data, especially when
disconnected from the service context and original intent, is
exceedingly difficult. This fragmentation hinders the ability to
maintain a cohesive understanding of network operations and their
impacts on service quality.</t>
      </section>
      <section anchor="contextual-understanding-and-relationship-mapping">
        <name>Contextual Understanding and Relationship Mapping</name>
        <t>To reduce the problem space and facilitate automated decision-making, it
is essential to understand the context and semantic of the data, the
relationships between different data sets, and how this data relates to
the overall network. By developing a clear understanding of these
relationships, network operators can make more informed and quicker
decisions, which is crucial for achieving autonomous operations.</t>
      </section>
      <section anchor="loss-of-context-in-data-collection">
        <name>Loss of Context in Data Collection</name>
        <t>The context of the collected data is often lost, complicating the task
of network monitoring and analysis. For instance, it can be challenging
to determine what a particular interface represents (in other words, its role): 
is it a Provider Edge (PE), Provider (P), Customer Edge (CE), or an interface on an Autonomous System
Boundary Router (ASBR) (or ABR)? Based on this particular context, the intent is obviously different, 
and, as a consequence, this context is key to interpret the collected data. For example,
the IP addresses observed on CE router, PE router, or P router have different context (and on the PE router, 
it actually depends if we refer to CE-facing or PE-facing interface).
As a different example, understanding whether a link serves
as a primary connection for certain customers or a backup for others is
critical but frequently ambiguous.</t>
      </section>
      <section anchor="data-collection-methods-and-interpretation">
        <name>Data Collection Methods and Interpretation</name>
        <t>The methods and intervals at which data is collected also vary, which contributes in adding
another layer of complexity. Data might be sampled within specific time
windows, on-change, on-demand, or periodically. It might represent an
aggregation or calculation of other values. Understanding how the router
or analytics engine computes this data is vital for accurate analysis
and troubleshooting.</t>
      </section>
      <section anchor="organizational-silos">
        <name>Organizational Silos</name>
        <t>In many organizations, network configuration and operations teams
function as separate entities. This division can lead to a disconnect
where the rationale behind network changes is lost or miscommunicated
between teams. This lack of cohesion can further complicate data
correlation and analysis efforts.</t>
      </section>
      <section anchor="multiple-sources-of-truths">
        <name>Multiple Sources of Truths</name>
        <t>What is the network intent? Is it owned in the controller, or the
current network is the network intent? What if the network is configured
at the same time from the controller and from the CLI (for quick network
anomaly resolution), does it imply that the network intent is partially
in the controller, and partially in the network state? There are actually 
multiple sources of truth in networking:</t>
        <ul spacing="normal">
          <li>
            <t>the controller configuration (intended state)</t>
          </li>
          <li>
            <t>the network itself (applied state, described by the Digital Map)</t>
          </li>
          <li>
            <t>the inventory, typically stored across different systems, with
a different ID (sometimes UUID <xref target="RFC7950"/>)</t>
          </li>
          <li>
            <t>the IP Address Management (IPAM) is another other source of truth</t>
          </li>
          <li>
            <t>etc.</t>
          </li>
        </ul>
      </section>
      <section anchor="machine-readable-knowledge">
        <name>Machine Readable Knowledge</name>
        <t>While we mentioned multiple data sources, with different data modelling languages,
the requirement is to have one data sources in a machine readable way,
with the ability to correlate and link information.<br/>
Note that, sometimes, the modelling language is simply not existent, as protocols 
such as BMP or BGP-LS directly stream PDUs.</t>
      </section>
    </section>
    <section anchor="ietf-initiatives">
      <name>IETF Initiatives</name>
      <t>To help with the different challenges mentioned in the previous section,
the IETF standardized some RFCs, while some IETF drafts are currently
being worked on:</t>
      <t>TO DO: once we have the exact challenge tags, we are going to refer to those</t>
      <ul spacing="normal">
        <li>
          <t>Service Assurance for Intent Based Networking <xref target="RFC9417"/> <xref target="RFC9418"/></t>
        </li>
        <li>
          <t>Network Telemetry framework <xref target="RFC9232"/> explains the different telemetry mechanisms</t>
        </li>
        <li>
          <t><eref target="https://datatracker.ietf.org/doc/draft-ietf-nmop-yang-message-broker-integration/">draft-ietf-nmop-yang-message-broker-integration-03</eref><br/>
specifies an Architecture for YANG-Push to Message Broker Integration is helping with the data collection aspects.</t>
        </li>
        <li>
          <t><eref target="https://datatracker.ietf.org/doc/draft-ietf-opsawg-collected-data-manifest/">draft-ietf-opsawg-collected-data-manifest</eref> 
documents the metadata that ensure that the streaming collected data can be interpreted correctly.</t>
        </li>
        <li>
          <t><eref target="https://datatracker.ietf.org/doc/draft-ietf-nmop-network-anomaly-architecture/">draft-ietf-nmop-network-anomaly-architecture</eref> defines 
an architecture for detecting anomalies in the network</t>
        </li>
        <li>
          <t>The basic concepts of the Digital Map are mentioned in <eref target="https://datatracker.ietf.org/doc/draft-havel-nmop-digital-map-concept/">draft-havel-nmop-digital-map-concept</eref></t>
        </li>
      </ul>
      <t>These are building blocks, to help towards the goals of autonomous networking.
However, these building blocks are not sufficient.</t>
    </section>
    <section anchor="the-difficult-and-costly-data-models-integration-with-different-silos-protocol-data-models">
      <name>The Difficult and Costly Data Models Integration with Different Silos Protocol &amp; Data Models</name>
      <section anchor="understanding-and-using-different-models-in-a-solution">
        <name>Understanding And Using Different Models In A Solution</name>
        <t>Even excluding the vast amount of vendor specific models, the telecommunication
industry is drowning in models from many different SDOs (IETF, TMF,
ETSI, ONF, MEF, 3GPP). All of them fulfill a need and all of them are
optional depending on the requirements of the solution/operator. Some of
the models are designed to be extended, therefore even though a model is
based on a standard it can deviate or add new information. This model
and API soup results in confusion and in some cases (mis)interpretation
that can differ per implementation.</t>
        <t>There have been attempts to address this, to converge models and APIs
towards a single model. These initiatives have largely failed. There are
many reasons for this (technical debt, separation of
concerns/responsibility between SDOs) but the reality is that this
remains (and will likely always remain) unachievable. So what is needed is
a way to understand how these different models connect and how these
models were interpreted by the solution designer.</t>
      </section>
      <section anchor="example-onboarding-a-new-device">
        <name>Example: Onboarding A New Device</name>
        <t>In order to onboard a new device, what features and models that device 
supports must be known, how that device will map to any existing internal
models for resource management e.g. <eref target="https://github.com/Open-Network-Models-and-Interfaces-ONMI/TAPI"/>, 
Assurance is mapped to existing assurance and collection models 
(data collection/message broker/TSDBs), existing health assurance pipelines 
(as described in [draft-ietf-nmop-network-anomaly-architecture]).</t>
        <t>If I onboard a new device will it work with my data processing pipeline
If I receive observe a problem in my service, can I trace quickly to find the 
related network configuration, if I decide I need to modify that network 
configuration do I know the values that must change at the resource API in 
order for it to happen.</t>
        <t>The cost of onboarding a new device or indeed upgrading to a new software/
hardware version is buried within the different applications, the mapping
code that transforms data between models, the impact on existing models (is
 a new instance enough or does the application schema need to be extended)</t>
        <t>What if we could answer all of those questions by querying the connections 
between schemas and data. What if we could trace the connections across 
different applications and different design artefacts.</t>
      </section>
      <section anchor="different-models-for-different-jobs">
        <name>Different Models For Different Jobs</name>
        <t>On the other side, with different technology domains and different protocols, come
different data models. In order to assure cross domain use cases, the
network management system and network operators must integrate all the
technologies, protocols, and therefore data models as well. In other words, it
must perform the difficult and time-consuming job of integrating &amp;
mapping information from different data models. Indeed, in some
situations, there exist different ways to model the same type of
information.</t>
        <t>This problem is compounded by a large, disparate set of data sources:
* MIB modules <xref target="RFC3418"/> for monitoring, 
* YANG models <xref target="RFC7950"/> for configuration and monitoring, 
* IPFIX information elements <xref target="RFC7011"/> for flow information, 
* syslog plain text <xref target="RFC3164"/> for fault management, 
* TACACS+ <xref target="RFC8907"/> or RADIUS <xref target="RFC2865"/> in the AAA (Authorization,
 Authentication, Accounting) world, 
* BGP FlowSpec <xref target="RFC5575"/> for BGP filter, 
* BMP - BGP Monitoring protocol <xref target="RFC7854"/>
* BPG-LS for IGP monitoring
* etc.
or even simply the router CLI for router management.</t>
        <t>Some networking operators still manage the configuration with CLI while
they monitor the operational states with SNMP/MIBs. How difficult is
that in terms of correlating information? Some others moved to
NETCONF/YANG for configuration but still need to transition from
SNMP/MIBs to Model-driven Telemetry.</t>
        <t>When network operators deal with multiple data models, the task of
mapping the different models is time-consuming, hence expensive, and
difficult to automate.</t>
      </section>
      <section anchor="example-whats-an-interface-">
        <name>Example: Whats An Interface ?</name>
        <t>To make it crystal clear, let's illustrate this with a very simple and
well known networking concept: a simple interface. Let's start with a
simple CLI command: "show ip interface" for basic interface information.</t>
        <ul spacing="normal">
          <li>
            <t>Between MIB module and YANG model, fortunately, we have the same
ifIndex concept (ifIndex in MIB and if-index in YANG). This
facilitates the mapping.</t>
          </li>
          <li>
            <t>In the context of IPFIX models, even if the ingressInterface and
egressInterface report the famous ifIndex values within the flow
record, the interface semantic changed. We have one specific field for
the ingress and another one for egress traffic. The MIB object
ifIndex doesn't make that distinction. While it's not difficult to map
the IPFIX interface information elements with the MIB and YANG
interface ones, the different semantic must be hardcoded in the NMS.</t>
          </li>
          <li>
            <t>For the protocols from the AAA world, TACACS+ and RADIUS
interfaces are called "ports" to use the right terminology. Those have
nothing to do with the networking ifIndex definitions, even if it's
perfectly fine to host TACACS+ or RADIUS in routers.</t>
          </li>
          <li>
            <t>How to map with interface concept with the syslog message, where the
syslog message might not have the exact same interface id (Gigabit
Ethernet versus gigE versus gigEthernet ... X/Y.Z as an example) for a
machine to read.</t>
          </li>
        </ul>
        <t>At this point, these concepts are known inside network engineer's heads, 
their network domain knowledge, but how to convey this information to a
data scientist lacking the network domain knowledge but capable to
analyze data systematically? The cost of documenting this information
for the different ways it can be configured/used is enormous. Ideally
protocol designers should understand that there will be an network
management/automation cross domain use case that will require the
integration and the potentially mapping of those different data models.</t>
      </section>
      <section anchor="how-to-connect-information-for-closed-loop">
        <name>How To Connect Information For Closed Loop</name>
        <t>Going one step further, understanding that an anomaly defined in 
<xref target="I-D.netana-nmop-network-anomaly-lifecycle"/>
is connected to a symptom created by SAIN <xref target="RFC9418"/>, which has an alert 
that defines an expression based on a set of metrics that are IETF but also 
vendor defined. The Service(s) that are experiencing an anomaly defined using a 
Service Intent that was defined using /[TMF921A/] but full filled using 
<xref target="RFC9182"/> that maps to one or more vendor models.</t>
        <t>In order to be able to automate any closed loop action, the relationship 
between the Service Intent (defined using /[TMF921A/]), the error/policy 
condition that caused the symptom and the fulfillment provided at the device 
level via <xref target="RFC9182"/> all have to be understood.</t>
        <t>Many of the operators (at the time of writing) who are trying to document and
manage these relationships are trying to do it using various spreadsheets and 
version control systems. Instead, we could provide a way to define and
query those relationships in a manner that could instantly answer all the 
questions that an operator has.</t>
        <t>What if we could provide this information not only in a format the operator 
can understand but in a way a machine can easily interpret and make decisions.</t>
        <t>This is the key to moving from Automation to Autonomy and one of the
keys to unlocking autonomy is to leverage Knowledge Engineering and Knowledge
Based Systems (KBS)</t>
      </section>
      <section anchor="the-limits-of-yang-as-the-model-language">
        <name>The Limits of YANG as THE Model Language</name>
        <t>While YANG is deployed data model for configuration and monitoring, YANG has
limitations that prevent it to be THE model to which other data models will be 
mapped. Instead, the different data models will still have a life of their own 
(ex: the IPFIX model does a good job for its purpose). Therefore let use 
introduce knowledge graph concepts, which will address the challenges.</t>
        <t>TO BE COMPLETED.</t>
      </section>
    </section>
    <section anchor="knowledge-graph-framework">
      <name>Knowledge Graph Framework</name>
      <t>Addressing these challenges mentioned in section 2 requires innovative 
approaches that can handle the scale and complexity of the data while
ensuring accurate correlation and analysis.
By leveraging advanced data management techniques and semantic technologies,
network operators can unlock the full potential of their data, paving the way
for more efficient and autonomous network operations. Understanding the context
and relationships of the data collected is essential to overcoming the
limitations of traditional siloed approaches and achieving seamless,
automated network management.</t>
      <t>A knowledge-based system (KBS) is a computer program that leverages a
knowledge base and an inference engine to solve complex problems. These
systems are designed to simulate human decision-making and
problem-solving capabilities, making them valuable tools in various
domains. Here are the key features of a knowledge-based system:</t>
      <section anchor="knowledge-base">
        <name>Knowledge Base</name>
        <t>The knowledge base is the core component of a KBS, where all the
explicit knowledge about the domain is stored. This knowledge is usually
represented in a structured and formalized manner to facilitate easy
access and manipulation. Key characteristics of the knowledge base
include:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Explicit Representation</strong>: Knowledge is represented in a way that
can be easily interpreted and processed by the system.</t>
          </li>
          <li>
            <t><strong>Structured Data</strong>: Information is organized in a structured format,
such as rules, facts, and relationships.</t>
          </li>
          <li>
            <t><strong>Rich Semantics</strong>: The knowledge base captures not only raw data but
also the meaning and context of that data.</t>
          </li>
        </ul>
      </section>
      <section anchor="inference-engine">
        <name>Inference Engine</name>
        <t>The inference engine is the reasoning component of a KBS. It processes
the information stored in the knowledge base to derive new knowledge,
make decisions, or solve problems. Key functions of the inference engine
include:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Reasoning</strong>: Applies logical rules to the knowledge base to infer
new information or conclusions.</t>
          </li>
          <li>
            <t><strong>Decision-Making</strong>: Uses the inferred knowledge to make decisions or
recommend actions.</t>
          </li>
          <li>
            <t><strong>Problem Solving</strong>: Solves complex problems by systematically
exploring possible solutions based on the knowledge base.</t>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <t>In some proposed architectures the inference engine is split into individual
agents that have responsability for a decomposed aspect of the Service/
Network lifecycle (e.g. anomaly detection, assurance remediation, solution proposal, 
solutions evaluation, solution actuation etc). The Agents (which could be AI
Agents) can communicate/collaborate via the Knowledge Base.</t>
          </li>
        </ul>
      </section>
      <section anchor="formal-ontology">
        <name>Formal Ontology</name>
        <t>A formal ontology is a crucial element in capturing facts about the
world in which the KBS operates. It provides a structured and formal
description of the concepts and relationships within a specific domain.
Key aspects of formal ontologies include:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Concepts and Relationships</strong>: Defines the key concepts and the
relationships between them within a particular domain.</t>
          </li>
          <li>
            <t><strong>Standardized Vocabulary</strong>: Provides a common vocabulary for the
domain, ensuring consistency and interoperability.</t>
          </li>
          <li>
            <t><strong>Formal Specification</strong>: Uses formal logic to specify the properties
and constraints of the concepts and relationships, allowing for
precise and unambiguous interpretation.</t>
          </li>
        </ul>
      </section>
      <section anchor="comprehensive-and-dynamic-knowledge">
        <name>Comprehensive and Dynamic Knowledge</name>
        <t>Knowledge-based systems are designed to handle a comprehensive range of
knowledge within their domain and adapt to new information. This
includes:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Extensibility</strong>: The ability to add new knowledge and rules to the
system as the domain evolves.</t>
          </li>
          <li>
            <t><strong>Adaptability</strong>: The capability to update and refine the knowledge
base based on new insights or changes in the environment.</t>
          </li>
          <li>
            <t><strong>Integration</strong>: Combining knowledge from multiple sources to provide
a holistic understanding of the domain.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="fair-data">
      <name>FAIR data</name>
      <t>FAIR Data Principles were defined in a 2016 research paper by a consortium of 
scientists and organizations in Nature.<br/>
The authors intended to provide guidelines to improve the Findability, 
Accessibility, Interoperability, and Reuse of digital assets. They have since
published their principles in https://www.go-fair.org/fair-principles/.</t>
      <section anchor="findability-f">
        <name>Findability (F)</name>
        <t>Networking systems generate large amounts of configuration, telemetry, and 
state data, which needs to be easily discoverable by network operators, 
engineers, or automated systems.</t>
      </section>
      <section anchor="accessibility-a">
        <name>Accessibility (A)</name>
        <t>Data within the networking domain needs to be accessible to both human operators
and automated systems, with well-defined access mechanisms and protocols.</t>
      </section>
      <section anchor="interoperability-i">
        <name>Interoperability (I)</name>
        <t>Networking environments typically involve many devices and protocols from 
different vendors. Ensuring interoperability across systems is crucial for 
seamless network operations and management.</t>
      </section>
      <section anchor="reusability-r">
        <name>Reusability (R)</name>
        <t>Reusability ensures that network data can be used and repurposed across 
different contexts, applications, and scenarios.</t>
        <t>The FAIR principles have been widely cited, endorsed and adopted by a broad 
range of stakeholders since their publication in 2016. By intention, the 15 
FAIR guiding principles do not dictate specific technological implementations,
but provide guidance for improving Findability, Accessibility, Interoperability
and Reusability of digital resources.</t>
      </section>
      <section anchor="creating-and-using-fair-knowledge-graphs">
        <name>Creating And Using FAIR Knowledge Graphs</name>
        <t>There are two major approaches to implementing knowledge graphs. Property graphs
and RDF. In recent years Property graphs have gained a lot of traction with
successful with companies like Neo4j and others attempting to standardize on an 
approach.</t>
        <t>Property graphs are great to use in a closed application but face a 
number of issues when moving to large scale and open data that are designed to 
be FAIR. For example:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Schema</strong>: Property Graphs do not have a schema. This can be considered a positive as well
as negative, but having a schema that you can validate against can limit issues
and bugs during implementations</t>
          </li>
          <li>
            <t><strong>Validation</strong>: Property graphs do not define a way to validate data but the W3C 
standard, SHACL (SHApes Constraint Language) to specify constraints in a model 
driven fashion.</t>
          </li>
          <li>
            <t><strong>Globally Unique Identifiers</strong>: The identifiers in Property Graphs are strictly
local. They don’t mean anything outside the context of the immediate database.</t>
          </li>
          <li>
            <t><strong>Resolvable Identifiers</strong>: Because URI/IRIs are so similar to URLs, and indeed
in many situations are URLs it makes it easy to resolve any item in RDF graph.</t>
          </li>
          <li>
            <t><strong>Federation</strong>: While there are proprietary mechanisms for federating property 
graphs across databases e.g. neo4j fabric, federation is built into SPARQL the
W3C standard for querying “triple stores” or RDF based Graph Databases.</t>
          </li>
        </ul>
        <t>There are ways for these two worlds to converge though, there is current work 
within the w3c to add properties to edges in RDF. This work <eref target="https://w3c.github.io/rdf-star/cg-spec/editors_draft.html">RDF-star</eref>
(RDF-<em>) and SPARQL-star (SPARQL-</em>) at time of writing is ongoing in the W3C.</t>
        <t>Similarly, Neo4j has a plugin "Neosemantics" that enables the use of RDF data
and some of the RDF stack (OWL,RDFS,SHACL) inside of Neo4j but crucially using 
Cipher and not SPARQL for querys.</t>
        <t>So as of now, RDF Knowledge Graphs have FAIR baked in and are part of the 
standard. Property graph approaches have proprietary solutions to help make 
things FAIR but there is no standard. These two worlds and approaches do seem
to be converging though.</t>
      </section>
    </section>
    <section anchor="introduction-to-the-semantic-web-technology-stack">
      <name>Introduction to the Semantic Web Technology Stack</name>
      <t>The Semantic Web technology stack enables more sophisticated data
integration, sharing, and retrieval across diverse information systems.
At its core, it provides a framework for defining, linking, and querying
data on the web, allowing for more intelligent and interconnected
systems. Here is an overview of the key components of the Semantic Web
technology stack:</t>
      <section anchor="uriiri-uniform-resource-identifierinternationalized-resource-identifier">
        <name>URI/IRI: Uniform Resource Identifier/Internationalized Resource Identifier</name>
        <t>A Uniform Resource Identifier (URI) is a unique sequence of characters
that identifies a logical or physical resource used by web technologies.
URIs may be used to identify anything, including real-world objects such
as people and places, concepts, or information resources like web pages
and books. The Internationalized Resource Identifier (IRI) extends the
URI to include a wider range of characters from different languages,
facilitating global use and interoperability.</t>
      </section>
      <section anchor="rdf-resource-description-framework">
        <name>RDF: Resource Description Framework</name>
        <t>The Resource Description Framework (RDF) allows you to link resources
(concepts) together in a way that forms a directed graph. For example,
you could represent the statement "John is a person" using RDF. However,
RDF alone does not provide the means to classify objects or establish
complex relationships such as saying that a person is a subclass of
human beings.</t>
      </section>
      <section anchor="rdfs-rdf-schema">
        <name>RDFS: RDF Schema</name>
        <t>RDF Schema (RDFS) builds upon RDF by providing more expressive
vocabulary to classify resources and establish hierarchical
relationships. Using RDFS, you can define classes and subclasses (using
rdfs:class and rdfs:subclass), and set restrictions on properties
(relationships) within your domain knowledge using rdfs:domain and
rdfs:range. This allows for a more structured and meaningful
representation of data.</t>
      </section>
      <section anchor="owl-web-ontology-language">
        <name>OWL: Web Ontology Language</name>
        <t>The Web Ontology Language (OWL) enhances the expressiveness of RDFS by
introducing more detailed and complex constraints on data. OWL
categorizes properties into object properties (relationships between two
resources) and data properties (relationships between a resource and a
data value). It also allows you to add restrictions on properties, such
as specifying cardinality constraints or defining equivalent and
disjoint classes, enabling more precise and sophisticated knowledge
representation.</t>
      </section>
      <section anchor="query-sparql-protocol-and-rdf-query-language">
        <name>Query: SPARQL Protocol and RDF Query Language</name>
        <t>SPARQL (SPARQL Protocol and RDF Query Language) is an RDF query language
designed for querying and manipulating data stored in RDF format. SPARQL
is powerful because it can automatically join all objects in a graph
from a single query, allowing for complex and efficient data retrieval.
This capability makes SPARQL an essential tool for accessing and
integrating diverse datasets within the Semantic Web framework.</t>
        <t>Semantic Web technologies have significantly evolved beyond their
initial web-based applications, extending into various industries
(Healthcare, Finance, Manufacturing, Government and Public Sector) as a
powerful means to define, integrate, and retrieve knowledge.</t>
      </section>
      <section anchor="validation-shapes-constraint-language-shacl">
        <name>Validation: Shapes Constraint Language (SHACL)</name>
        <t>SHACL (Shapes Constraint Language) can be used to enhance an RDF-based solution
by providing a formal mechanism for validating the structure, content, and 
constraints of RDF data that models network devices, configurations, and 
relationships.</t>
        <t>By using SHACL, you can ensure that the data adheres to predefined business 
rules, network policies, and industry standards, thus improving data quality 
and consistency within a management system.</t>
        <section anchor="ensuring-data-consistency">
          <name>Ensuring Data Consistency</name>
          <t>For instance, you can use SHACL to enforce that each network device has a 
deviceType (e.g., router, switch) and an associated IP address, and that routers 
have specific attributes such as a bgpAsn (BGP Autonomous System Number).</t>
        </section>
        <section anchor="validating-relationships">
          <name>Validating Relationships</name>
          <t>For relationships between objects, SHACL allows you to validate these 
interconnections by specifying shapes that ensure the correct relationships 
are maintained.</t>
        </section>
        <section anchor="enforcing-network-policies">
          <name>Enforcing Network Policies</name>
          <t>In network management, policies can dictate how devices are configured and how 
they interact. For example, a policy may require that certain VLANs are used in
specific types of networks or that certain subnets are restricted to specific 
devices.</t>
          <t>SHACL allows you to encode these policies as constraints and automatically 
validate the RDF data against them. For instance, if a policy requires that 
only certain VLANs are allowed on specific switches, you can define a SHACL 
shape to validate this.</t>
        </section>
        <section anchor="automating-configuration-compliance">
          <name>Automating Configuration Compliance</name>
          <t>In large-scale networks, automating compliance checks is essential to ensure 
devices are configured according to standards and policies. SHACL can be used
to automatically validate the entire RDF dataset representing network 
configurations against predefined shapes. This can flag potential issues such
as missing configurations, incorrect relationships, or policy violations, 
enabling network administrators to quickly take corrective action.</t>
        </section>
        <section anchor="error-reporting-and-diagnostics">
          <name>Error Reporting and Diagnostics</name>
          <t>SHACL provides detailed error reporting and diagnostics, which can help network 
administrators quickly identify and fix issues in the network configuration. 
For each violation of a SHACL shape, SHACL can generate meaningful error 
messages, such as missing required properties, invalid data types, or 
relationships that do not conform to the network topology.</t>
        </section>
      </section>
    </section>
    <section anchor="why-semantic-web-is-right-for-the-networking-world">
      <name>Why Semantic Web is Right for the Networking World?</name>
      <section anchor="handling-vast-amounts-of-data">
        <name>Handling Vast Amounts of Data</name>
        <t>Modern network operators collect extensive data from various network
planes - Management, Control, and Data. Semantic Web technologies are
designed to handle large datasets efficiently:</t>
        <ul spacing="normal">
          <li>
            <t><strong>RDF (Resource Description Framework)</strong> enables the modelling of data
as a directed graph, allowing for flexible and scalable data
representation.</t>
          </li>
          <li>
            <t><strong>SPARQL</strong> can efficiently query large datasets, automatically joining
relevant data points to provide comprehensive insights.</t>
          </li>
          <li>
            <t><strong>URI/IRI</strong> allow data to be referenced and enriched using markup/metadata
without modifying the existing systems. Information can referenced and 
retrieved using the schema/metadata defined in RDF.</t>
          </li>
        </ul>
      </section>
      <section anchor="improved-data-correlation-and-integration">
        <name>Improved Data Correlation and Integration</name>
        <t>Semantic Web technologies excel at linking disparate data sources and
formats, which is crucial for network operations:</t>
        <ul spacing="normal">
          <li>
            <t><strong>URI/IRI</strong> provides a unique way to identify and link resources
across different data silos, ensuring that all data points can be
correlated accurately.</t>
          </li>
          <li>
            <t><strong>RDFS (RDF Schema)</strong> and <strong>OWL (Web Ontology Language)</strong> provide
mechanisms to classify and relate data, enabling the creation of
detailed ontologies that represent network components and their
relationships.</t>
          </li>
        </ul>
      </section>
      <section anchor="contextual-understanding-and-enhanced-metadata">
        <name>Contextual Understanding and Enhanced Metadata</name>
        <t>One of the major challenges is the loss of context in the data collected
from network operations:</t>
        <ul spacing="normal">
          <li>
            <t><strong>RDFS</strong> and <strong>OWL</strong> allow operators to define rich metadata about
network elements. For instance, they can specify that an interface is
a Provider Edge (PE) or Customer Edge (CE), and whether a link is
primary or backup.</t>
          </li>
          <li>
            <t><strong>OWL</strong> provides advanced features to define and enforce data
properties and relationships, ensuring that the context of data is
maintained and understood correctly.</t>
          </li>
        </ul>
      </section>
      <section anchor="data-interoperability-across-multiple-repositories">
        <name>Data Interoperability Across Multiple Repositories</name>
        <t>Network data often resides in multiple repositories with different
schemas and formats:</t>
        <ul spacing="normal">
          <li>
            <t><strong>RDF</strong> provides a common framework for data representation, enabling
interoperability between diverse data sources.</t>
          </li>
          <li>
            <t><strong>Linked Data principles</strong> can connect data from various repositories,
making it easier to integrate and query across different systems.</t>
          </li>
          <li>
            <t><strong>Consume Or Reference Data From Multiple Sources in Multiple Formats</strong>
using well known patterns within the semantic web ecosystem for connecting
external databases, whether relational, hierarchical, tabular or other graph
formats.</t>
          </li>
          <li>
            <t><strong>Deterministic URIs</strong> can allow data can be referenced remotely without 
being consumed or replicated inside a knowledge store. Thus allowing only 
data that is enriched to be created and stored in the knowledge and for it to
reference the existing data in externally repositories.</t>
          </li>
        </ul>
      </section>
      <section anchor="enhanced-fault-prediction-and-automated-remediation">
        <name>Enhanced Fault Prediction and Automated Remediation</name>
        <t>To predict faults and automate remediation, operators need to link and
analyze data from different network planes:</t>
        <ul spacing="normal">
          <li>
            <t><strong>SPARQL</strong> can query across multiple datasets, linking management,
control, and data plane information to provide a holistic view of the
network.</t>
          </li>
          <li>
            <t><strong>OWL &amp; RDF(S)</strong> can define rules, relationships and constraints that
breakdown the barriers between the network planes and link this data with
all relevant information (e.g. context based on topologies represented by 
<xref target="I-D.havel-nmop-digital-map"/>, configuration based on network element 
YANG).</t>
          </li>
        </ul>
      </section>
      <section anchor="bridging-organizational-silos">
        <name>Bridging Organizational Silos</name>
        <t>Network configuration and operations teams often work in silos, leading
to miscommunication and data fragmentation:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Ontologies</strong> defined using <strong>RDFS</strong> and <strong>OWL</strong> can standardize the
terminology and relationships used across teams, ensuring consistent
understanding and communication.</t>
          </li>
          <li>
            <t><strong>Semantic annotations</strong> can capture the intent and rationale behind
network changes, preserving context and facilitating better
collaboration. Importing existing schemas (whether from 
YANG or Relational or something else) and defining the connections between
them allow the semantic of any object or value to fully known and traced 
within the system.</t>
          </li>
        </ul>
      </section>
      <section anchor="managing-schema-and-format-disparities">
        <name>Managing Schema and Format Disparities</name>
        <t>Different data formats (YANG, IPFIX, BMP) and schemas can make data
integration challenging:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Semantic Web technologies</strong> provide a unified model to represent
data from various formats, enabling seamless integration and
retrieval.</t>
          </li>
          <li>
            <t><strong>Schema mapping</strong> using <strong>RDF</strong> and <strong>OWL</strong> can reconcile differences
between schemas, providing a coherent view of the data.</t>
          </li>
        </ul>
        <t>It's not only about protocol and models (IETF), we can link to the
NMS/OSS layers, from the top down to the bottom up ... but also (business)
intent, the BSS.</t>
      </section>
    </section>
    <section anchor="yang-and-rdf">
      <name>YANG and RDF</name>
      <t>As mentioned above, there are more than enough models already in the telecom
domain. Chief among them (from the IETF point of view) is YANG. The YANG 
modelling language already has many ways to augment and extend the model, but
these extensions are very formal and not very dynamic.</t>
      <section anchor="data-catalog-for-yang-data-sources">
        <name>Data catalog for YANG data sources</name>
        <t>The flexibility and extensibility of knowledge graphs have made them a popular
choice for implementing data catalogs. The purpose of a data catalog is to 
provide consumers with a registry of datasets exposed by data sources where to
find data of interest. Additionally, these datasets can be linked to the 
(business) concepts that they refer to, so that consumers can search for 
datasets based on relevant concepts such as “interface”.</t>
        <t>Knowledge graphs can enable the YANG Catalog to evolve towards a data catalog,
where the YANG modules represent datasets of interest. The dependencies 
between YANG models (import, deviations, augments) can be naturally represented
in the knowledge graph. In turn, these YANG models can be linked with concepts
that are represented in ontologies.</t>
        <t>Additionally, these YANG models, can be combined with the implementation 
details of network devices yang lib augment 
<xref target="I-D.lincla-netconf-yang-library-augmentation"/> that
could be part of an inventory <xref target="I-D.ietf-ivy-network-inventory-yang"/>.</t>
      </section>
      <section anchor="translation-of-yang-to-rdf">
        <name>Translation of YANG to RDF</name>
        <t>Since the original YANG specification <xref target="RFC6020"/>, IETF has embraced YANG as 
the way to define any new models or APIs, from the device all the way up the 
Service model <xref target="RFC8299"/>. How easy would it be to convert these vast model
set to RDF ?.</t>
        <t>RDF has its roots in semantic web and is defined by the w3c, who are also the
owners of the XML standard. The original <xref target="RFC6020"/> definition for YANG has
XML deeply embedded, defining serialization formats for the YANG (YIN) in XML
as well as of course instances of YANG data used by NETCONF.</t>
        <t>Translation of XML to RDF is a well described problem and many tools exist in
order to achieve it, w3c themselves have R2RML that allow custom definitions of
mappings.</t>
        <t>Generation of IRIs for YANG schema objects can be created using schema paths 
and IRIs for YANG instance data using XPaths. There are several advantages to
this approach, the most important being that the IRI is deterministic and could
be generated externally by a knowledge system without need to access the real 
data. There is a second advantage that it is human readable and therefore easy
to browse.</t>
        <t>The main disadvantage being the possible length of IRIs and the 
volume of data being processed could be lead to memory/performance issues. 
There are obvious trade offs to be explored but it can be seen that YANG is 
very much a good fit for modelling as knowledge in RDF give both formats close
association to XML.</t>
      </section>
    </section>
    <section anchor="knowledge-engine-positioning-and-architecture">
      <name>Knowledge Engine Positioning And Architecture</name>
      <t>Below shows the basic positioning of the Knowledge Engine in any OSS system. As 
you can see the Knowledge Engine is at the heart of any decision 
making process.</t>
      <t>Key to this is the ability to consume and connect data from multiple different
datasources and to connect them in a single semantic layer.</t>
      <t>Note as mentioned above, there are already many models that exist in 
telecommunication systems, the goal maybe not to create a new model but to 
provide a simple way to navigate between the existing models. Understanding 
that the value on the intent API that is mapped to a value on the fulfillment 
API that is used to configure this part of the device is connected to the 
Telemetry metric that was received where an anomaly was observed.</t>
      <t>This 360 degree view of the network is the only way the secrets of the network
can be unlocked and autonomous networks enabled.</t>
      <artwork><![CDATA[
                                   |                                
                                   | Operator Intent                
                                   |                                
                           +-------v--------+                       
            Intent/        |                |                       
            Remediation    |     Intent     |                       
              +------------+     Engine     <------------+          
              |            |                |            |          
              |            +-------+--------+            |Anomaly/  
              |                    |                     |Symptom   
              |                    |  Query              |          
              |                    |  Related Knowledge  |          
              |                    |                     |          
   +----------v-------+    +-------v--------+    +-------+--------+ 
   |                  |    |                |    |                | 
   |  Fulfillment     |    |   Knowledge    |    | Assurance      | 
   |  Engine         <+----+   Engine       +----> Engine         | 
   |                  |    |                |    |                | 
   +--------+---+-----+    +-------+--------+    +--+---^---------+ 
            |   |                  |                |   |           
            |   |                  |                |   |           
            |   |          +-------v--------+       |   |           
            |   |          |                |       |   |Telemetry  
Configuration   +---------->   Digital      <-------+   |(YANG Push,
(Netconf,   |              |   Twin         |           | IPFIX, BMP
 SNMP  )    |              |                |           | gNMI,SNMP)
            |              +----------------+           |           
            |                                           |           
            |                                           |           
   +--------v-------------------------------------------+----------+
   |                                                               |
   |                            Network                            |
   |                                                               |
   +---------------------------------------------------------------+
]]></artwork>
      <section anchor="key-use-cases-for-knowledge-engine">
        <name>Key Use Cases For Knowledge Engine</name>
        <t>The above shows the target for Autonomous networks and automated decision
processing, but for each step the Knowledge Engine can play a key role.</t>
        <section anchor="service-intent-translation">
          <name>Service Intent Translation</name>
          <t>A knowledge graph can facilitate intent translation the operator intent to 
the network intent by providing a unified way to query the digital twin 
<xref target="I-D.irtf-nmrg-network-digital-twin-arch"/>.The ability to integrate 
heterogenous silos of data, in combination with the explicit representation 
of the semantics of the data; making the knowledge graph a powerful technology
for building and connecting data across different datasource.</t>
          <t>The capability to represent abstract concepts by means of ontologies,
enables the representations of a generic network digital twins, regardless of
the complexities of the underlying technologies.
For example, an abstract representation of a network topology Digital Map 
<xref target="I-D.havel-nmop-digital-map"/> in the knowledge graph can be translated into 
a descriptor or data model that is specific to the technology used.</t>
        </section>
        <section anchor="contextualized-telemetry-data">
          <name>Contextualized telemetry data</name>
          <t>Having context of how YANG telemetry data 
<xref target="I-D.ietf-opsawg-collected-data-manifest"/> is being collected can improve 
the understanding of the data for network analytics or closed-loop automation.
Knowledge graphs  can help in this task by linking the collected data with**:
(i) the metadata that characterizes the platform producing
the data; and (ii) the metadata that characterizes how and
when the data were metered.</t>
        </section>
        <section anchor="anomaly-detection-and-incident-management">
          <name>Anomaly detection and incident management</name>
          <t>Knowledge graphs can help in the detection of anomalies in network systems by
linking event/metric data (e.g. logs, alarms, and ticketing) with the context
(digitial twin/network configuration). The Knowledge graph enables the 
connecting of these events using the context to link and explore for new 
connections.</t>
        </section>
        <section anchor="network-rectification">
          <name>Network Rectification:</name>
          <t>Combing all of the above to enable the OSS to respond to issues in the network
and automatically generate a change in the network to rectify the problem.</t>
        </section>
      </section>
      <section anchor="accessing-existing-data">
        <name>Accessing Existing Data</name>
        <t>A key enabler that allows the information in all these systems to be exposed and
connected is the Virtual Knowledge Graph. Originally called Ontology Based Data
Access (OBDA), it is a collection of techniques and technologies that help 
overcome the challenge of combining data from different sources and formats. 
It uses ontologies to create a unified view of this data, and mappings to link 
the ontology with the individual data sources.</t>
        <t>OBDA has evolved through three main stages:</t>
        <ul spacing="normal">
          <li>
            <t>Materialization: Initially, OBDA focused on translating data into a common format 
and storing it in a central location, similar to data warehousing.</t>
          </li>
          <li>
            <t>Query Translation: To avoid the limitations of materialization, OBDA shifted 
towards translating queries over the unified view into queries specific to each
data source.</t>
          </li>
          <li>
            <t>Declarative Mappings: The latest generation of OBDA uses declarative mapping 
languages, like R2RML, to define how data sources relate to the ontology. This
improves flexibility and simplifies the integration process.</t>
          </li>
        </ul>
        <t>Virtual Knowledge Graphs provide significant advantages for data integration:</t>
        <ul spacing="normal">
          <li>
            <t>Real-time Data Access: Data remains in its original sources, ensuring that 
queries always reflect the latest updates.</t>
          </li>
          <li>
            <t>Reduced Costs: Avoid the expense of building and maintaining a separate, 
materialized data store.</t>
          </li>
          <li>
            <t>Simplified Integration: Leverages your existing data infrastructure and 
expertise.</t>
          </li>
          <li>
            <t>Increased Agility: Supports an incremental approach to integration, making it
 easier to adapt to changes and add new data sources over time.</t>
          </li>
        </ul>
        <t>Unlike traditional materialized approaches that require ETL to create a unified
data copy, Virtual Knowledge Graphs offer a more dynamic solution.  Instead of
moving data, Virtual KGs leave data in place and access it on demand. This 
eliminates data duplication, reduces latency, and simplifies maintenance, 
making it a powerful alternative for modern data integration needs.</t>
        <artwork><![CDATA[
                        +---------------------+                                         
                        |     Query Engine    |                                         
                        +---------+-----------+                                         
                                  |                                                     
                                  |                                                     
+---------------------------------v--------------------------------------------+        
|                           Federation Layer                                   |        
|                   (SPARQL Query Federation)                                  |        
+----------+-------------------+-----------------+-----------------+-----------+        
           |                   |                 |                 |                    
           |                   |                 |                 |                    
+----------v--------+ +--------v-------+ +-------v---------+ +-----v-----------+        
|  Virtual SPARQL   | | Virtual SPARQL | | Virtual SPARQL  | | SPARQL          |        
|  Endpoint (RDBMS) | | Endpoint (API) | | Endpoint (TSDB) | | Endpoint (RDFDB)|        
+-----------+-------+ +--------+-------+ +-------+---------+ +-----+-----------+        
            |                  |                 |                 |                    
            |                  |                 |                 |                    
      +-----v------+    +------v------+   +------v-----+  +--------v-----+              
      |   RDBMS    |    |   API       |   |   TSDB     |  |    RDFDB     |              
      |  Database  |    |  Service    |   |  Database  |  |   Database   |              
      +------------+    +-------------+   +------------+  +--------------+              
]]></artwork>
        <t>In the Virtual Knowledge Graph (or Ontology Based Data Access) the remote schema
can be imported as RDF/OWL data and used for both query and for creating new 
relationships over existing data. In this way existing models can be imported 
and the connections between silos can overlaid as extra knowledge. These 
relationships can be created manually or programmatically.</t>
        <t>At query time, these relationships can be exploited to join data from different
sources, allowing the connection between anomaly to assurance metric to inventory 
object to digital map to configuration to be traced seamlessly regardless of 
where the information is being stored.</t>
      </section>
      <section anchor="what-is-materialised-in-rdf-and-what-is-virtual-">
        <name>What is materialised in RDF and what is Virtual ?</name>
        <t>Given the above, you may ask what is materialised in the triple store and what 
is virtual, of course the answer as always is, it depends. If you have a read 
API that lets you access the remote data anyway you want it e.g. JDBC then 
maybe virtual is good enough. If however you have a restricted API that makes 
it difficult to query and join data (e.g. Netconf/Restconf) you may want to 
import that data into the graph in order to satisfy all of your queries. For
this reason we have focused the initial implementation on materializing YANG 
schema and YANG Instance data.</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>At IETF Hackathon 121 (Dublin) we successfully demonstrated an approach for 
translation of YANG schema models to a representation in RDF. This code is 
available here: https://github.com/Huawei-IOAM/yang2rdf.</t>
      <t>At IETF Hackathon 122 (Bangkok) we will demonstrate how that YANG RDF Schema 
data can be used to create RDF versions of configuration data.</t>
    </section>
    <section anchor="some-pointers-to-existing-work-for-linked-data">
      <name>Some pointers to existing work for linked data</name>
      <t>Linked data and semantic web has already been embraced by TMF and ETSI, their 
reasons for adoption are both valid both for them and for the IETF when aiming to
link data in different systems and to capture knowledge.</t>
      <section anchor="ngsi-ld-next-generation-iot-services-layer-lightweight-data">
        <name>NGSI-LD (Next Generation IoT Services Layer - Lightweight Data)</name>
        <t><strong>NGSI-LD</strong> is an ETSI standardized framework for representing and managing
context information in the Internet of Things (IoT) domain.</t>
        <t><strong>Context Information Model:</strong> Represents context information as entities 
with properties and relationships, inspired by property graphs.
<strong>Semantic Foundation:</strong> Based on RDF (Resource Description Framework) for 
formal semantics and linked data principles.</t>
      </section>
      <section anchor="tmf921a-intent-management-api">
        <name>TMF921A Intent Management API</name>
        <t><strong>TMF tmf921a</strong> is an API for intent based networking.  It aims to provide a 
standardized interface for expressing and managing high-level network intents,
enabling automated network configuration and optimization.</t>
        <t><strong>Knowledge Based Reasoning:</strong> Core to the TMF approach is the ability for the
intent management functions to "use reason intrinsically by examining the 
relationships between facts". Therefore their decision to model the intents as
knowledge and to use <strong>RDF</strong> to define the intents.</t>
      </section>
    </section>
    <section anchor="next-steps-for-the-industry">
      <name>Next Steps for the Industry</name>
      <t>It's important to note, the authors are not proposing creating a new
model for the network, there is much work being done in all of the existing SDOs
with numerous models managing all aspects of the network and business.
The authors are proposing ways to connect all of this data and through
those connections find the semantic of the information and allow it to
unlock the knowledge already being generated by the network.</t>
      <t>To this end, the industry must come together to define ways to describe
the connections between data (either at the instance level or at the
schema level). Agree on formats for importing existing protocol schemas
into RDF e.g. in IETF: YANG, IPFIX, BMP but also other models in different SDOs</t>
      <t>Crucial to this is to define a way to create deterministic IRIs for both model
and instance data so that information in disparate systems and 
repositories can be referenced, linked and enriched using the power of 
Knowledge graphs and linked data.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBC</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no actions for IANA.</t>
    </section>
    <section anchor="reference">
      <name>Reference</name>
      <section anchor="normative-references">
        <name>Normative References</name>
      </section>
      <section anchor="informative-references-to-be-included">
        <name>Informative References (to be included)</name>
        <ul spacing="normal">
          <li>
            <t>RDF 1.1 Concepts and Abstract Syntax. W3C Recommendation, 2014.</t>
          </li>
          <li>
            <t>RDF Schema 1.1. W3C Recommendation, 2014.</t>
          </li>
          <li>
            <t>OWL 2 Web Ontology Language Document Overview. W3C Recommendation,
2012.</t>
          </li>
          <li>
            <t>SPARQL 1.1 Query Language. W3C Recommendation, 2013.</t>
          </li>
          <li>
            <t>SHACL - Shapes Constraint Language. W3C Recommendation, 2017.</t>
          </li>
          <li>
            <t>R2RML - RDB to RDF Mapping Language. W3C Recommendation, 2012.</t>
          </li>
          <li>
            <t>RML - Extend R2RML to allow mapping from any data source.  v1.1.2, 2024.</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="ANSA">
          <front>
            <title>Application of Category Theory to Network Service Fault Detection. IEEE Open Journal of the Communications Society 5 (2024): 4417-4443.</title>
            <author>
              <organization>Pedro Martinez-Julia, Ved P. Kafle, Hitoshi Asaeda.</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="EERVC">
          <front>
            <title>Exploiting External Events for Resource Adaptation in Virtual Computer and Network Systems, IEEE Transactions on Network and Service Management 15 (2018): 555-566.</title>
            <author>
              <organization>Pedro Martinez-Julia, Ved P. Kafle, Hiroaki Harai.</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="TKDP">
          <front>
            <title>Telemetry Knowledge Distributed Processing for Network Digital Twins and Network Resilience. NOMS 2023-2023 IEEE/IFIP Network Operations and Management Symposium (2023): 1-6.</title>
            <author>
              <organization>Pedro Martinez-Julia, Ved P. Kafle, Hitoshi Asaeda.</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC3535">
          <front>
            <title>Overview of the 2002 IAB Network Management Workshop</title>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <date month="May" year="2003"/>
            <abstract>
              <t>This document provides an overview of a workshop held by the Internet Architecture Board (IAB) on Network Management. The workshop was hosted by CNRI in Reston, VA, USA on June 4 thru June 6, 2002. The goal of the workshop was to continue the important dialog started between network operators and protocol developers, and to guide the IETFs focus on future work regarding network management. This report summarizes the discussions and lists the conclusions and recommendations to the Internet Engineering Task Force (IETF) community. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3535"/>
          <seriesInfo name="DOI" value="10.17487/RFC3535"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="I-D.ietf-core-comi">
          <front>
            <title>CoAP Management Interface (CORECONF)</title>
            <author fullname="Michel Veillette" initials="M." surname="Veillette">
              <organization>Trilliant Networks Inc.</organization>
            </author>
            <author fullname="Peter Van der Stok" initials="P." surname="Van der Stok">
              <organization>consultant</organization>
            </author>
            <author fullname="Alexander Pelov" initials="A." surname="Pelov">
              <organization>IMT Atlantique</organization>
            </author>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="6" month="May" year="2025"/>
            <abstract>
              <t>   This document describes a network management interface for
   constrained devices and networks, called CoAP Management Interface
   (CORECONF).  The Constrained Application Protocol (CoAP) is used to
   access datastore and data node resources specified in YANG, or SMIv2
   converted to YANG.  CORECONF uses the YANG to CBOR mapping and
   converts YANG identifier strings to numeric identifiers for payload
   size reduction.  CORECONF extends the set of YANG based protocols,
   NETCONF and RESTCONF, with the capability to manage constrained
   devices and networks.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-comi-20"/>
        </reference>
        <reference anchor="RFC3444">
          <front>
            <title>On the Difference between Information Models and Data Models</title>
            <author fullname="A. Pras" initials="A." surname="Pras"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <date month="January" year="2003"/>
            <abstract>
              <t>There has been ongoing confusion about the differences between Information Models and Data Models for defining managed objects in network management. This document explains the differences between these terms by analyzing how existing network management model specifications (from the IETF and other bodies such as the International Telecommunication Union (ITU) or the Distributed Management Task Force (DMTF)) fit into the universe of Information Models and Data Models. This memo documents the main results of the 8th workshop of the Network Management Research Group (NMRG) of the Internet Research Task Force (IRTF) hosted by the University of Texas at Austin. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3444"/>
          <seriesInfo name="DOI" value="10.17487/RFC3444"/>
        </reference>
        <reference anchor="RFC9417">
          <front>
            <title>Service Assurance for Intent-Based Networking Architecture</title>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="J. Quilbeuf" initials="J." surname="Quilbeuf"/>
            <author fullname="D. Lopez" initials="D." surname="Lopez"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="T. Arumugam" initials="T." surname="Arumugam"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document describes an architecture that provides some assurance that service instances are running as expected. As services rely upon multiple subservices provided by a variety of elements, including the underlying network devices and functions, getting the assurance of a healthy service is only possible with a holistic view of all involved elements. This architecture not only helps to correlate the service degradation with symptoms of a specific network component but, it also lists the services impacted by the failure or degradation of a specific network component.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9417"/>
          <seriesInfo name="DOI" value="10.17487/RFC9417"/>
        </reference>
        <reference anchor="RFC9418">
          <front>
            <title>A YANG Data Model for Service Assurance</title>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="J. Quilbeuf" initials="J." surname="Quilbeuf"/>
            <author fullname="P. Lucente" initials="P." surname="Lucente"/>
            <author fullname="P. Fasano" initials="P." surname="Fasano"/>
            <author fullname="T. Arumugam" initials="T." surname="Arumugam"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document specifies YANG modules for representing assurance graphs. These graphs represent the assurance of a given service by decomposing it into atomic assurance elements called subservices. The companion document, "Service Assurance for Intent-Based Networking Architecture" (RFC 9417), presents an architecture for implementing the assurance of such services.</t>
              <t>The YANG data models in this document conform to the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9418"/>
          <seriesInfo name="DOI" value="10.17487/RFC9418"/>
        </reference>
        <reference anchor="RFC9232">
          <front>
            <title>Network Telemetry Framework</title>
            <author fullname="H. Song" initials="H." surname="Song"/>
            <author fullname="F. Qin" initials="F." surname="Qin"/>
            <author fullname="P. Martinez-Julia" initials="P." surname="Martinez-Julia"/>
            <author fullname="L. Ciavaglia" initials="L." surname="Ciavaglia"/>
            <author fullname="A. Wang" initials="A." surname="Wang"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>Network telemetry is a technology for gaining network insight and facilitating efficient and automated network management. It encompasses various techniques for remote data generation, collection, correlation, and consumption. This document describes an architectural framework for network telemetry, motivated by challenges that are encountered as part of the operation of networks and by the requirements that ensue. This document clarifies the terminology and classifies the modules and components of a network telemetry system from different perspectives. The framework and taxonomy help to set a common ground for the collection of related work and provide guidance for related technique and standard developments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9232"/>
          <seriesInfo name="DOI" value="10.17487/RFC9232"/>
        </reference>
        <reference anchor="RFC3418">
          <front>
            <title>Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)</title>
            <author fullname="R. Presuhn" initials="R." role="editor" surname="Presuhn"/>
            <date month="December" year="2002"/>
            <abstract>
              <t>This document defines managed objects which describe the behavior of a Simple Network Management Protocol (SNMP) entity. This document obsoletes RFC 1907, Management Information Base for Version 2 of the Simple Network Management Protocol (SNMPv2). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="62"/>
          <seriesInfo name="RFC" value="3418"/>
          <seriesInfo name="DOI" value="10.17487/RFC3418"/>
        </reference>
        <reference anchor="RFC7011">
          <front>
            <title>Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information</title>
            <author fullname="B. Claise" initials="B." role="editor" surname="Claise"/>
            <author fullname="B. Trammell" initials="B." role="editor" surname="Trammell"/>
            <author fullname="P. Aitken" initials="P." surname="Aitken"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document specifies the IP Flow Information Export (IPFIX) protocol, which serves as a means for transmitting Traffic Flow information over the network. In order to transmit Traffic Flow information from an Exporting Process to a Collecting Process, a common representation of flow data and a standard means of communicating them are required. This document describes how the IPFIX Data and Template Records are carried over a number of transport protocols from an IPFIX Exporting Process to an IPFIX Collecting Process. This document obsoletes RFC 5101.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="77"/>
          <seriesInfo name="RFC" value="7011"/>
          <seriesInfo name="DOI" value="10.17487/RFC7011"/>
        </reference>
        <reference anchor="RFC3164">
          <front>
            <title>The BSD Syslog Protocol</title>
            <author fullname="C. Lonvick" initials="C." surname="Lonvick"/>
            <date month="August" year="2001"/>
            <abstract>
              <t>This document describes the observed behavior of the syslog protocol. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3164"/>
          <seriesInfo name="DOI" value="10.17487/RFC3164"/>
        </reference>
        <reference anchor="RFC8907">
          <front>
            <title>The Terminal Access Controller Access-Control System Plus (TACACS+) Protocol</title>
            <author fullname="T. Dahm" initials="T." surname="Dahm"/>
            <author fullname="A. Ota" initials="A." surname="Ota"/>
            <author fullname="D.C. Medway Gash" initials="D.C." surname="Medway Gash"/>
            <author fullname="D. Carrel" initials="D." surname="Carrel"/>
            <author fullname="L. Grant" initials="L." surname="Grant"/>
            <date month="September" year="2020"/>
            <abstract>
              <t>This document describes the Terminal Access Controller Access-Control System Plus (TACACS+) protocol, which is widely deployed today to provide Device Administration for routers, network access servers, and other networked computing devices via one or more centralized servers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8907"/>
          <seriesInfo name="DOI" value="10.17487/RFC8907"/>
        </reference>
        <reference anchor="RFC2865">
          <front>
            <title>Remote Authentication Dial In User Service (RADIUS)</title>
            <author fullname="C. Rigney" initials="C." surname="Rigney"/>
            <author fullname="S. Willens" initials="S." surname="Willens"/>
            <author fullname="A. Rubens" initials="A." surname="Rubens"/>
            <author fullname="W. Simpson" initials="W." surname="Simpson"/>
            <date month="June" year="2000"/>
            <abstract>
              <t>This document describes a protocol for carrying authentication, authorization, and configuration information between a Network Access Server which desires to authenticate its links and a shared Authentication Server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2865"/>
          <seriesInfo name="DOI" value="10.17487/RFC2865"/>
        </reference>
        <reference anchor="RFC5575">
          <front>
            <title>Dissemination of Flow Specification Rules</title>
            <author fullname="P. Marques" initials="P." surname="Marques"/>
            <author fullname="N. Sheth" initials="N." surname="Sheth"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="B. Greene" initials="B." surname="Greene"/>
            <author fullname="J. Mauch" initials="J." surname="Mauch"/>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <date month="August" year="2009"/>
            <abstract>
              <t>This document defines a new Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute traffic flow specifications. This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix.</t>
              <t>Additionally, it defines two applications of that encoding format: one that can be used to automate inter-domain coordination of traffic filtering, such as what is required in order to mitigate (distributed) denial-of-service attacks, and a second application to provide traffic filtering in the context of a BGP/MPLS VPN service.</t>
              <t>The information is carried via the BGP, thereby reusing protocol algorithms, operational experience, and administrative processes such as inter-provider peering agreements. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5575"/>
          <seriesInfo name="DOI" value="10.17487/RFC5575"/>
        </reference>
        <reference anchor="RFC7854">
          <front>
            <title>BGP Monitoring Protocol (BMP)</title>
            <author fullname="J. Scudder" initials="J." role="editor" surname="Scudder"/>
            <author fullname="R. Fernando" initials="R." surname="Fernando"/>
            <author fullname="S. Stuart" initials="S." surname="Stuart"/>
            <date month="June" year="2016"/>
            <abstract>
              <t>This document defines the BGP Monitoring Protocol (BMP), which can be used to monitor BGP sessions. BMP is intended to provide a convenient interface for obtaining route views. Prior to the introduction of BMP, screen scraping was the most commonly used approach to obtaining such views. The design goals are to keep BMP simple, useful, easily implemented, and minimally service affecting. BMP is not suitable for use as a routing protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7854"/>
          <seriesInfo name="DOI" value="10.17487/RFC7854"/>
        </reference>
        <reference anchor="I-D.netana-nmop-network-anomaly-lifecycle">
          <front>
            <title>An Experiment: Network Anomaly Lifecycle</title>
            <author fullname="Vincenzo Riccobene" initials="V." surname="Riccobene">
              <organization>Huawei</organization>
            </author>
            <author fullname="Antonio Roberto" initials="A." surname="Roberto">
              <organization>Huawei</organization>
            </author>
            <author fullname="Thomas Graf" initials="T." surname="Graf">
              <organization>Swisscom</organization>
            </author>
            <author fullname="Wanting Du" initials="W." surname="Du">
              <organization>Swisscom</organization>
            </author>
            <author fullname="Alex Huang Feng" initials="A. H." surname="Feng">
              <organization>INSA-Lyon</organization>
            </author>
            <date day="3" month="November" year="2024"/>
            <abstract>
              <t>   Network Anomaly Detection is the act of detecting problems in the
   network.  Accurately detect problems is very challenging for network
   operators in production networks.  Good results require a lot of
   expertise and knowledge around both the implied network technologies
   and the connectivity services provided to customers, apart from a
   proper monitoring infrastructure.  In order to facilitate network
   anomaly detection, novel techniques are being introduced, including
   programmatical, rule-based and AI-based, with the promise of
   improving scalability and the hope to keep a high detection accuracy.
   To guarantee acceptable results, the process needs to be properly
   designed, adopting well-defined stages to accurately collect evidence
   of anomalies, validate their relevancy and improve the detection
   systems over time, iteratively.

   This document describes a well-defined approach on managing the
   lifecycle process of a network anomaly detection system, spanning
   across the recording of its output and its iterative refinement, in
   order to facilitate network engineers to interact with the network
   anomaly detection system, enable the "human-in-the-loop" paradigm and
   refine the detection abilities over time.  The major contributions of
   this document are: the definition of three key stages of the
   lifecycle process, the definition of a state machine for each anomaly
   annotation on the system and the definition of YANG data models
   describing a comprehensive format for the anomaly labels, allowing a
   well-structured exchange of those between all the interested actors.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-netana-nmop-network-anomaly-lifecycle-05"/>
        </reference>
        <reference anchor="RFC9182">
          <front>
            <title>A YANG Network Data Model for Layer 3 VPNs</title>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <author fullname="A. Aguado" initials="A." surname="Aguado"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>As a complement to the Layer 3 Virtual Private Network Service Model (L3SM), which is used for communication between customers and service providers, this document defines an L3VPN Network Model (L3NM) that can be used for the provisioning of Layer 3 Virtual Private Network (L3VPN) services within a service provider network. The model provides a network-centric view of L3VPN services.</t>
              <t>The L3NM is meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices. The model can also facilitate communication between a service orchestrator and a network controller/orchestrator.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9182"/>
          <seriesInfo name="DOI" value="10.17487/RFC9182"/>
        </reference>
        <reference anchor="I-D.havel-nmop-digital-map">
          <front>
            <title>Modeling the Digital Map based on RFC 8345: Sharing Experience and Perspectives</title>
            <author fullname="Olga Havel" initials="O." surname="Havel">
              <organization>Huawei</organization>
            </author>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Huawei</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Ahmed Elhassany" initials="A." surname="Elhassany">
              <organization>Swisscom</organization>
            </author>
            <author fullname="Thomas Graf" initials="T." surname="Graf">
              <organization>Swisscom</organization>
            </author>
            <date day="21" month="October" year="2024"/>
            <abstract>
              <t>   This document shares experience in modelling Digital Map based on the
   IETF RFC 8345 topology YANG modules and some of its augmentations.
   The document identifies a set of open issues encountered during the
   modelling phases, the missing features in RFC 8345, and some
   perspectives on how to address them.  For definition of Digital Map
   concepts, requirements and use cases please refer to the "Digital
   Map: Concept, Requirements, and Use Cases" document.

   Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/OlgaHuawei.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-havel-nmop-digital-map-02"/>
        </reference>
        <reference anchor="I-D.lincla-netconf-yang-library-augmentation">
          <front>
            <title>Augmented-by Addition into the IETF-YANG-Library</title>
            <author fullname="Zhuoyao Lin" initials="Z." surname="Lin">
              <organization>Huawei</organization>
            </author>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Huawei</organization>
            </author>
            <author fullname="Ignacio Dominguez Martinez-Casanueva" initials="I. D." surname="Martinez-Casanueva">
              <organization>Telefonica Innovacion Digital</organization>
            </author>
            <date day="4" month="March" year="2024"/>
            <abstract>
              <t>   This document augments the ietf-yang-library in [RFC8525] to provide
   the augmented-by list.  It facilitates the process of obtaining the
   entire dependencies of YANG model, by directly querying the server's
   YANG module.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/Zephyre777/draft-lincla-netconf-yang-library-
   augmentation.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lincla-netconf-yang-library-augmentation-01"/>
        </reference>
        <reference anchor="I-D.ietf-ivy-network-inventory-yang">
          <front>
            <title>A Base YANG Data Model for Network Inventory</title>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Jean-Francois Bouquier" initials="J." surname="Bouquier">
              <organization>Vodafone</organization>
            </author>
            <author fullname="Fabio Peruzzini" initials="F." surname="Peruzzini">
              <organization>FiberCop</organization>
            </author>
            <author fullname="Phil Bedard" initials="P." surname="Bedard">
              <organization>Cisco</organization>
            </author>
            <date day="22" month="July" year="2025"/>
            <abstract>
              <t>   This document defines a base YANG data model for network inventory.
   The scope of this base model is set to be application- and
   technology-agnostic.  The base data model can be augmented with
   application- and technology-specific details.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ivy-network-inventory-yang-08"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
        <reference anchor="RFC8299">
          <front>
            <title>YANG Data Model for L3VPN Service Delivery</title>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="L. Tomotaki" initials="L." surname="Tomotaki"/>
            <author fullname="K. Ogaki" initials="K." surname="Ogaki"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model that can be used for communication between customers and network operators and to deliver a Layer 3 provider-provisioned VPN service. This document is limited to BGP PE-based VPNs as described in RFCs 4026, 4110, and 4364. This model is intended to be instantiated at the management system to deliver the overall service. It is not a configuration model to be used directly on network elements. This model provides an abstracted view of the Layer 3 IP VPN service configuration components. It will be up to the management system to take this model as input and use specific configuration models to configure the different network elements to deliver the service. How the configuration of network elements is done is out of scope for this document.</t>
              <t>This document obsoletes RFC 8049; it replaces the unimplementable module in that RFC with a new module with the same name that is not backward compatible. The changes are a series of small fixes to the YANG module and some clarifications to the text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8299"/>
          <seriesInfo name="DOI" value="10.17487/RFC8299"/>
        </reference>
        <reference anchor="I-D.irtf-nmrg-network-digital-twin-arch">
          <front>
            <title>Network Digital Twin: Concepts and Reference Architecture</title>
            <author fullname="Cheng Zhou" initials="C." surname="Zhou">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Hongwei Yang" initials="H." surname="Yang">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Xiaodong Duan" initials="X." surname="Duan">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Diego Lopez" initials="D." surname="Lopez">
         </author>
            <author fullname="Antonio Pastor" initials="A." surname="Pastor">
         </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Christian Jacquenet" initials="C." surname="Jacquenet">
              <organization>Orange</organization>
            </author>
            <date day="6" month="July" year="2025"/>
            <abstract>
              <t>   Digital Twin technology has been seen as a rapid adoption technology
   in Industry 4.0.  The application of Digital Twin technology in the
   networking field is meant to develop various rich network
   applications, realize efficient and cost-effective data-driven
   network management, and accelerate network innovation.

   This document presents an overview of the concepts of Network Digital
   Twin, provides the basic definitions and a reference architecture,
   lists a set of application scenarios, and discusses such technology's
   benefits and key challenges.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-nmrg-network-digital-twin-arch-11"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-collected-data-manifest">
          <front>
            <title>A Data Manifest for Contextualized Telemetry Data</title>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Huawei</organization>
            </author>
            <author fullname="Jean Quilbeuf" initials="J." surname="Quilbeuf">
              <organization>Huawei</organization>
            </author>
            <author fullname="Diego Lopez" initials="D." surname="Lopez">
              <organization>Telefonica I+D</organization>
            </author>
            <author fullname="Ignacio Dominguez Martinez-Casanueva" initials="I. D." surname="Martinez-Casanueva">
              <organization>Telefonica I+D</organization>
            </author>
            <author fullname="Thomas Graf" initials="T." surname="Graf">
              <organization>Swisscom</organization>
            </author>
            <date day="21" month="July" year="2025"/>
            <abstract>
              <t>   Network platforms use Network Telemetry, such as YANG-Push, to
   continuously stream information, including both counters and state
   information.  This document describes the metadata that ensure that
   the collected data can be interpreted correctly.  This document
   specifies the data manifest, composed of two YANG data models (the
   platform manifest and the non-normative data collection manifest).
   These YANG modules are specified at the network level (e.g., network
   controllers) to provide a model that encompasses several network
   platforms.  The data manifest must be streamed and stored along with
   the data, up to the collection and analytics systems to keep the
   collected data fully exploitable by the data scientists and relevant
   tools.  Additionally, this document specifies an augmentation of the
   YANG-Push model to include the actual collection period, in case it
   differs from the configured collection period.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-collected-data-manifest-09"/>
        </reference>
      </references>
    </references>
    <?line 1146?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Peter Cautley and Anatolii Pererva for 
providing the appendix example. Professor Declan O'Sullivan and Brad Peters for
providing review comments.</t>
    </section>
    <section anchor="appendix">
      <name>Appendix</name>
    </section>
    <section anchor="resource-description-framework-rdf-schema">
      <name>Resource Description Framework (RDF) schema</name>
      <t>The RDF Schema defines the different types of relationship (RDF properties). 
They are defined hierarchically. That allows specific relationships to be 
grouped as more generalized relationships. Queries can be applied at different
levels of specificity.</t>
      <artwork><![CDATA[
:ipfixRefersTo a rdf:Property ;
    rdfs:comment "IPFIX reference to a leaf" ;
    rdfs:subPropertyOf :refersTo .

:ipfixRefersToInterface a rdf:Property ;
    rdfs:comment "IPFIX reference to a leaf" ;
    rdfs:subPropertyOf :ipfixRefersTo .
]]></artwork>
    </section>
    <section anchor="sparql-protocol-and-rdf-query-language-sparql">
      <name>SPARQL Protocol and RDF Query Language (SPARQL)</name>
      <t>SPARQL finds different relationships that exist between data sources e.g. The 
relationship "ipfixRefersToInterface" (defined in the RDF schema) will find 
relationships between any IPFIX data field and the Device Interface. A more 
generalized relationship "ipfixRefersTo" would find all known relationships 
between IPFIX and Device (underlay, overlay) Configuration.</t>
      <section anchor="example-of-ipfix-relationship-query">
        <name>Example Of IPFIX Relationship Query</name>
        <artwork><![CDATA[
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX yang: <http://localhost/yang#>
SELECT ?source_path ?relationship ?target_path
WHERE {
  ?source ?relationship ?target .
  ?relationship rdfs:subPropertyOf* yang:ipfixRefersToInterface .
  ?source yang:path ?source_path .
  ?target yang:path ?target_path .
}
]]></artwork>
        <t>The result for the above query shows 
- the source: IPFIX fields aligned with IANA "IP Flow Information Export (IPFIX) Entities"
  - ingressInterface element Id 10
  - egressInterface element Id 14
- the type of relationship: (specified in the RDF schema)
- the target: YANG path specified in Device Configuration</t>
        <artwork><![CDATA[
+--------------------+-------------------------------------------------+----------------------------------+
| source             | relationship                                    | target                           |
+--------------------+-------------------------------------------------+----------------------------------+
| "ingressInterface" | <http://localhost/yang#ipfixRefersToInterface>  | "ifm/interfaces/interface/index" |
| "egressInterface"  | <http://localhost/yang#ipfixRefersToInterface>  | "ifm/interfaces/interface/index" |
+--------------------+-------------------------------------------------+----------------------------------+
]]></artwork>
      </section>
      <section anchor="example-query-to-find-impacted-services-customers">
        <name>Example Query To Find Impacted Services &amp; Customers</name>
        <t>This query walks from the :Alarm through the affected link to any :Device (via
interfaces), then finds services those devices provide, and finally the customers.</t>
        <artwork><![CDATA[
PREFIX :    <http://example.com/kg/net#>

SELECT DISTINCT ?service ?serviceLabel ?customer ?custLabel WHERE {
  # 1. Identify the outage alarm
  ?alarm     a :Alarm ;
             :affects ?link .

  # 2. Find the two interfaces on that link
  ?link      :connectsEndpoints ?intf .

  # 3. Find devices owning those interfaces
  ?intf      :partOf ?device .

  # 4. Find services provided by those devices
  ?device    :provides ?service .
  ?service   rdfs:label ?serviceLabel .

  # 5. Find the customer consuming each service
  ?service   :consumedBy ?customer .
  ?customer  rdfs:label ?custLabel .
}
]]></artwork>
        <t>What this does:</t>
        <ul spacing="normal">
          <li>
            <t>Selects the alarm and its :affects link.</t>
          </li>
          <li>
            <t>Follows :connectsEndpoints to both interfaces on that link.</t>
          </li>
          <li>
            <t>Jumps from interfaces to their parent devices (:partOf).</t>
          </li>
          <li>
            <t>Gathers all services those devices :provides.</t>
          </li>
          <li>
            <t>Retrieves the customers (:consumedBy) of each service.</t>
          </li>
        </ul>
        <t>Running this over the above data would return:
| service    | serviceLabel       | customer | custLabel    |
| ---------- | ------------------ | -------- | ------------ |
| :L3VPN-100 | "Customer VPN 100" | :CustA   | "Customer A" |
| :L3VPN-200 | "Customer VPN 200" | :CustB   | "Customer B" |</t>
      </section>
    </section>
    <section anchor="shacl">
      <name>SHACL</name>
      <t>SHACL (Shapes Constraint Language) can be used to enhance an RDF-based solution
for network management by providing a formal mechanism for validating the 
structure, content, and constraints of RDF data that models network devices, 
configurations, and relationships. By using SHACL, you can ensure that the data
adheres to predefined business rules, network policies, and industry standards,
thus improving data quality and consistency within a network management system.</t>
      <t>Example of SHACL to validate every router that uses the BGP protocol has a valid 
BGP ASN configured.
~~~~
ex:BGPComplianceShape a sh:NodeShape ;
    sh:targetClass ex:Router ;
    sh:property [
        sh:path ex:routingProtocol ;
        sh:hasValue "bgp" ;
    ] ;
    sh:property [
        sh:path ex:bgpAsn ;
        sh:minCount 1 ;
        sh:datatype xsd:integer ;
        sh:message "Routers using BGP must have a BGP ASN defined." ;
    ] ;
~~~~</t>
      <t>SHACL can also be used to validate relationships between objects, here is an 
example of a rule that says each router must be connected to at least one 
switch.</t>
      <artwork><![CDATA[
ex:RouterSwitchConnectionShape a sh:NodeShape ;
    sh:targetClass ex:Router ;
    sh:property [
        sh:path ex:connectedTo ;
        sh:class ex:Switch ;
        sh:minCount 1 ;
        sh:message "Each router must be connected to at least one switch." ;
    ] ;
]]></artwork>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA71963IbyZXmf0bwHXLlCJtQA6Bu3W3TXrfBi9R0ixRNUt2e
ccxOFIACUFahClNVIAW7teHX2IiZl/OT7PnOJTOrAKrVHvfwh0QCVXk5efLc
L4PBYH+vyZo8PXKPvinK+zydzlP3qkpWC/eySpbpfVm9c7Oycpdpw7+/WaVV
0mRlUT/a30vG4yq9O3LdV+nhN6t6f29aTgoa5MhNq2TWDJbJ5F26GRTLcjV4
Nx/QsIMibcpVPXjyfH9vkjTpvKw2Ry4rZuX+3v5e3STF9N+TvCxoiKZap/TR
erzM6prmbzYr+vT87Palc7SSKk1oD2F1jl51F0mRzNNlWjS02Pv5kbu8eHOF
kSf0RFrU69rGpU08wxfJulmU1dH+nnMD/OPcbJ3nsomLbLJI0pxGxTbk27Ki
Ub9eJ/dpJh9MynXRYBPnVZrTGuTTdJlk+ZFbyghDAcTvFvzecFIud853nBZl
1riTPMnqNJru7C6tNs0iK+YDhnJr2uM0n2frZWtaGeh3aXiPYD4k0O+c9nZR
LpMaJzmLJr25J7DrSp2rmypNGxo5Kyoazz39UpeRNbSGf11XtFFb2JTG/OWT
F593FkoDNn9Jqy0YNTz9cE7T/67WST2IXHexX5f5PK3cN2mep1W03NN03dST
Repu0zx9Z8v2k79Kq2VSbFoTy1BDGep3jbw3nKZu98ynSeG+LTetWQn4uTsh
pJsmnQnjD3W+aVJkhAt3GON3Y3pzOEl2HshVUuale72eEB7HeHB5e9s+jW/T
dHmfzt2z5/FpHCdVQUefT+MDef7ll087S6RLu5DzqFvrXGH63xVN8yDGnM+L
ZJKV7rRcEjKs07/QFamarEj/MjhJ6qRYp3dJtG4cyawsskkXSDerJCtac2cy
8nBqIy91YD4fGUSQg+90U2XjdaP3d3+vKOmUm+wuPcL3oCrhb+dGlzejI5nN
SOBotcppRBAQV87o0IQi0ZVI8V9TejJ4k1Z32SR1L5N13hC2NekEbw2JIJ2d
gUgW7vfluiqSHAMRYN1JuVyuCx29djflJEubjfvcHTx78uxF78i9ePH0y8GL
Fy+eDx/JqiJapLAjjPkLv09IkU6rMsD59+s8S/qEAVN3NXTfJLM87buvs6as
F5kb1Uk6TYYY6Ozs+tuTzq7P3q9yog+4x2fvm5QXTTSmaGqm/NdpTTuhvY6m
yaoR4GSE+1nVrOlJ2tdqTW8xwfXg2dRNuqz7Ao7bKinqZCIbp7ftKbxhgAyk
2j1lmDz9JcHk888/H3z+xRf/RIhUZfIuc18nVZIxQG6/Ob3qwAP4uUwJIyO+
dprVglwYrionKfEgglfMGU+zedYQQG7vM2U/9g1BMMuztJikQ3f55uLG0Yk/
H+Afhs/h+cvzqx0MtsPCCKjLVVkTcWeUeU7geTr4Z4JmC1lwh+gOEAOe8w0a
DAYuGRMg6Czx9+0iqx3x+DUvb5rWEwJRWru6XKaG9quqHBM4a6DMkkhPRTer
vcNl2GEtaMMfL8p7mv6dP4E5JAv56vr0pZsQ+R2nbl3TJuhe1mV+l7pJXuLv
vCxXOlYf89KjBJ4Sd3/i7pPNEIunE52sWZIgQBCJqh0+pT3zroqySR39T0PT
LFW6LO9o4DGRnIr2tB7nWQ1G6hKsyF2/PBnq2zdyV4AYDYMHkg+vmp4jbrZO
HeD3ji6MbmFG5I++ZdLqFk2zqo8ODwmVFusxSNvhMnuXqug0tFNYZtNpnuKv
n7lzInvldM3XS04ldeejY0MBWnbigFn1gqBC0Pj9ukgJA588w+ZSkrF4M/TQ
NMNJ05Ka+zSloQrFSDmvshLg04E25aTM6byJqeA7uuY00nydEa9keex+gdfx
LkBEALaRoqO2YWTQKWEZo0deD0FtXbluJh6LksZvgIZNAs7R3mhDQLNHb+5A
SNJ7wzveIMBg9ypcpP2973S0R+6vf/2KDu/5588///CB1k1ii6NtFE02y2jw
py/85gkH/mOdVTwA00URIunhypPE2bpZE3p8ZLe4JMTTeM+QD2kHJCWHzfcd
pN25I9loIdeoSgkONMZUb4wglgB6aMetW2iv8T6ltRApIgEXHxBloiXqoTHt
yqq6wVj7e5dntydvLl+GZR4oWO2L7/QsX1XletVTqH3x7MXTDx/6MkRS18TR
sCH3L6PLV9GJ5niRxIr5mqARj3zx5rQz8P6ejPzlrz5/gpGvz25kfvmYpEj+
mKlGSYsn4NDO8o07eXN9hgd5gPPB6ZB462wwoctK/yyzDx8YVCM6mntGCkOn
PqHH+8adVQnwZhtVYmp8cHlG2sNNr0+iRO3macMcM9wyugMN3dI85f0VGHec
zR1J/CRQFvO0NlylOfIpzRduWMCUIbFgoq60pZyuvVLQ9C4r17VfNGGJYSUh
YRhekCrGgIzEUaIw4brI5QIU6rTBllvP0+XCGzRFCuFuo3cai/BwIDTqsKUR
qV7uAJAB9I2A4fyV0PFhDAlQh3Oc8iHt4DAZ0w0/pDund2ZKixABYfgxzoKl
tAHaJlIYgPFjf49wmbglwML7nXltdpyAR9CN7fCWfuAjB8rBaEfEVes0jE7b
D/P36eCyguAEXkUveyaTAHh0IyJqIPsaMbvIIordd3na/KJ2OGRaJjY4zWYz
urskLhgtdl52LYWL5h2qSYP/YV0yQtI9cc9JjDTSRr/izjzCwWO5xL2qFe9p
Jmvpjixcj3/f3xPMJHCN/0znQ6snXkYCO61txdJfDnoCJjtNSeYF5ZRxN65e
pROiohO6LctVzqiiF4koWKD+xsAbyIirsmoEBLQzwdVpOiflhm+LjUhajTug
QaZpQ0pCzyi+SSY8xzSdkajj2UO0S9oTb1MWzPIongikqkhTfDxzWVMrvSYe
R5I9SS4VkXuGTvIuBW7Qwojv0HF7wl6TEJImFX4hKNfZGLLVTjjTVV5DKVvg
jmEIT31xtm2g6V5pFSOSTEhNw/cErATcjBAS+04rklFJwPnYuYKVZo1CpxYW
BHgtMhgSDNs6hw4Rc3/v8ePRjlEfP6Zrs1kpyqfviVjVtcA9CUS/XhNfJYi8
LZiv6hEwtF97xvD24nWP7jxEL6KuBS6c0B7QIje6OsfNrrH8nMiKSJn7e3r4
bXANWpLKwBDHoPhr5qLp+wQv9V21ztMap0nAoR3kuCR6o5fJqgsNQhj6Ii+J
vQ4Y+/08IhEQuwXMFGTRHQWoFNnkCAn9+iwECvEj+JlAi+Up3WCTVCkgp9Nn
+uFX3uG0Nd35/+XZJw9tgCTSwwAUeTaZTOSYxpvoKtopGdNnUVs5MO8H0uaJ
p36eTtdCuYks0F1QGr2uKqYFO+kmD/azn7lTrByCW14mtOmqXO7QgvDshSgO
OwRSFnHWkI5oNyw13SUkGCRL2BT4FgM8+3sGB53mLqmYpYpmW/ObSip0kqHo
AQxcIsWk5BI9x6bjK8BjMfWIRD3CejoatkbQXdY/PbnmvwkAZwkB25sscBPA
QGggohl3TLDy9XumQmE+oYj1IiXkuSvzteI/j4tzaJL5PIU9DoyJxSq6LAZ2
/EnoWjByJdO7hGj41E1UeyfqqroXLWMlCq5qLUm++UvqUuJJE9hO8o0/PuJT
2WSdN5mwYj7OEZ6vM3n5nATk+aKBWUEpM2teeI7HrRsBvT/ZacksKnBmAtcG
HIcuFWknjiAK2DDbqRLsCffWzomXnk6zSeNmsMsQvhOmAHzuuiSqcpLQ7Qor
PLg+GfX6bWobrtsEWh8NppD/mi48zcnS7obOpSFI4q7P5xD4SJGSLeL+Er1q
o8l0zY8YuyD1KIc5S8+wL4tnY3dSTVVp52XhdPL0PRie0rnAGCPRj2TFlFVW
oi9ERcDjg4nC3nKEZsRm6pI1FWLY+HKZkvBazHnFq6SB8afWmSvPHIRtMKEi
7LoD+eArPeaz4BP2V/pEViy4cBIGcdeRoCmyOPglqDLxsEAbIjPBtmQnLCxl
Dk0ABb2VCXSHfB1NetKbWLtBdDv9vQw3kiTuBMZqftrTy5q5f3lfmKCMR/v+
3EmxYB43zepVIvS1SmGcoW8yFcXl/Illv86Kd3ISWd3ioE05T4WZ1w70mNTO
hA4CynTCDHRR5sLTTbPdARMcK4+74F3nG1Io7WIOnR6LWdmwrpM1rX9Js0bH
g8fe0kWmhdEF77M4QjwhpyufmpxJr4F3eJgT9yA+zEKzF/UIugWTCaBsLZPS
ReMrRvCc6NR1T8lrhGbYBEn5LD2Lfk1knR7FtTA8pmuKOxYBIhU7ZVnYbO4/
SCzF7KwE2ITg64S7YoKLr7KndTRmrufUJeaqoTOhapH1DlWPz7avYjQNf8fy
Hb0pB7QbSDq6LRdWlZXQW0YOIi60ILrbETUfspGWGDbRLLpMuHdVuEi0AKgV
IApJfp9saJCkZhN2uDTMqctils3XasSItm43IkZYXiTegseB9Klpi8EDEkcs
k7CglnRtADRkkAixXgiDcqPp4qwNbrMgA41LATmtkGEt02IswnpiWdDSmPC2
EGnJPId0ENq2WO+Y9MB8tylpFE8RTXUKwsgN3V8sD5O95G3D8ktXPAOT88yL
jmSGUcX4EMjBEsyQzsHFxKBPkCdevyobueC4oWsmzYFUeVrBt4J01XkQ/aFr
sNjrr7VIpjgp0UGAuLXXFcOowlfSRpQXhtaElN+aMb/W9/ptLaAPnY/BlsPC
EglGjHVpbZwoQhUvJ9Dlrc2IC8U2mQqHBs8RXkZYR+eKvyrIvCoGqEj4MpbK
g1TD0BWIJSy5pcIPwxl6TYNmxTaJkNFCAyAIVSaLFF5NFn5cUAi2h3AHkXIg
EjYJCWIahLjpxxc6q6yGrl5VshuE7uS0hE1UeUWWl8Yr7OkkuJlqxWtBO7px
DVAB4Dgzyyz23Toif9Je8iEU4y2xEibWV+JMSmdM5uV7ptQGZAwGKkxOSEoH
y+bBhllkRltL30+IydLUNGDETnag5yJjMq0qeMa0F7wZglwjbAykj6XaNkXf
zc8SuaFZxYaDZLKTugdxg/cBS8Tb1tisu0RAcxcEdEZGUlpKgud0PTHzGjso
CCcSZZCzZIJtgEKqMAgeSOCFs2AgkjXIK9sBPd/GpQz7M9rqoVwT+hWqnhsB
UtPp7sPdcY373jESZF4h5TWDPLZHeDXmeBMbfRM1T2ydBFOEzlr6OzQuiIGg
SHRrKmMOcDHQwojKwtxHuKewqu3eMGsXCZ4v4GSRpXe8HIJvUS6higUUsMN9
XQpf1kP2KsaJCCaRu8MArbDtSC5ZrXcRFK0vQjVfP5UqmqR+x4qUN8eWBdNu
xaNEFYYhWAJb1KE79Vm5EhdOxJWZ2k2JzlXEp4itL9hitoLrja5QUvEtq2bA
NWISVVqz/AKruBgFaAHTus/SEpSd3pFjNMswypUIE5U7g2p0cHVGhMl/dnBF
f3nZTp44wRMAeBFNy7qFGwXIi7N2f+8Yjqik2pCyxJTsYHRzfN1jU9uIfvnK
HZvllNEv2pPCv6+2NpARhvqYDddKQhiZ+4jVgd2DBQQOwwEbBTgbEQj1rGv3
LmVxhRdOgGp2HK2ciLEMuQDnV6TdTtkMhRWAcMiiT86URBPQwq/0/pWR7kVy
l0b3ztbC4qtabqI36VwaqEJrprpmTiTx5R5HOxND4cnZAOSEHQX0sv3hT6M3
FKNwNK3ngO07SmSdESRhts0EETyI4biqSHKngzPJshQtf5JWTIG92M24wGL7
esVPMM7VTPG97A2FIpJukuWY5EM6xpagFO6gu6B1lVNT+PWwkvh6LqMneOd3
Sc6mZKEOdknD2bKaSpx+YwTEG0rE0kAHzFctUWNonmzoX7rBQWEeyjpFFqQr
WjNQpybQeAkArBx+D2La92DaxYAuM8vP9OsURHvKSAL1oZyKnZPEqUZH9neY
Nkfrmc+rdK7xI3Dw5rgfFk4ia6W9r0ne6fArIeqpIhdRoyqSqETyMltNHVF/
+v+Ogw6ErE7WbDQ1gsVXzZG+siYOVy9KdhDYMb6JIgRogBuSU1jAPWctYNOK
IIg4QVtf4JsReHdD0jkNMlsXghoJjIOiIDtwSQjRZlgj9Yed7yChkBTF/hXE
FjoUKEwCFV0lHCKQN8Jq+KzYMMDiKkFhiREs1Aa2Zi8tYXE6OyzIgi+QTHQV
s3XFJ+QZRKrGw1i5iBkCjGJlFYwfFyb+36hZkWa4rdbNggH7HRvfzYIh6xda
+ZU7Zwpf3kcuC9U0cyVSLCmYWdW/vns0mWnW/q72RwegJEJO6VakfAWCiBjm
FWHIPj95fS6iMbP5yDxNXITAQTehLvM1YEQ8Z1qKygItbyP2o+2FOmMiohPt
2Ddb8e0J1zbQwmDWpF/BFkZYAsnc02ISPu0k6nASDU4ichnSXZColu622yh+
wIudplOZsBde8btp6jSfEZuAWG/P9b3Xkq3seN4ChEgUjUbJCpgwStC64EhR
pSeZVJCBAm/wuhXIGAJGYsZxfiqOS9F+3r6lv2N/QDQn8ciR8MjYkXtwfjW6
6Dm23Qqtkn81/MtAKMOkzcSjPeQ5ok/XdIvZKOjDpgTtM/roHlygAEBpW/50
RLKVI5I9dcXe7QiCWvl85LlWWwuzb5qgNax4opa6xMqWeJ9s+iD7as8Iiktk
HgH2Ma9tmeAJuy5LNp4kTaRt9jteRK9OQoWVawBbDPGmWrQsOAi96wWBzeJ8
Ob64wnU/fnU1eH0TPENi+XBXp29r74rhWJtzElUzDmqsVbdZpPkqWGoicSb4
zcNR6J3yMQbqyzFZCjMEwzRwG0YEQikR7XNRh+U5jnQSl4zSKdzqccrCC90T
lsL4xt2+cadvjhy8yEAMPje2MCD0IbIFN8kc88jtnpfqJPGyFbvmBRvNvjmC
zx3SOTPEcyEzIrZe+luvnvFfvXj65YcP4Y9ffvggg5kPKsQBhuABffrZ82f0
qjoL6w6gG//eMgWDyuplLSP/SeLgOTiFo+A3hCUDwp6aMGUwrkpSnwagN3Mh
PoMnz//t4KMRFdNycvgjBz3sOQ5mVhGIrdVuVNEFQRArQhYAOxg+BlfregFI
X8hg7pgHY7jOK2+1BcJlFrTkjWuTICEmbMsUxG0DoVzVyf184CW/AV4lFbvI
Zmnd/Li9f3ws2jU2bTElcmZ0Sol4jtj3W3DAhudWwdrYUShV6/OaSar+EtzU
HZvkQ1FmMVB2OUgigP8DZ/yx4Wir5uBnFkEH0D3dqQQss4KLAbIQneQZO7YB
6X2c1CQna8yHN/9FzIyvZ4uk6O5xsXNZ71Qep+NYDXSoT971x4cRdGZFoxZK
MV5nOQvV47ycvBOnNxPFprwnOiZHPy+hgyBWIijCQTCgU4y9BPXWoDwRCHq9
hnEsQ+iWUOVbBo5ZatnhQpIpkXDWRy7ETx/fIL42p556sCAOtV5iQX7eek85
blt3GNEcb9k8Gkbx87gRSaMil+3vscMgfT/J196lErnLAQ2xXgb1yMIS2U5C
dG0SR7FDZpuSbkmUjiNdSX4V5dbCEVh4ZG0iUMeb0zc1iRrEMfru9uIlcZqz
25vzvntzSR9cnNE/z19dXfWGbpRb7PwSISAzhKYl4vtjITz6mg6DVKaV+SFY
FdfQ046o4PHXhNVDM20NCU5LCTTynFyOWWOApho8kb4XeZCBUklEMDvWiR+t
5wiktXgb4n5mMQn+XTMbTYnjJmIOJ3WWY9Q6rn6CqUZhYb+jq3PINCsI2vBt
A8yQVNe1qSVZbON3B6QI9bKOPh48uXwebLduh85YTGmlfHkM1Qme4SUuP3Q0
FRyhhPZFYCIJtpoHkMliEVGj9w3uqQJ+cnG4OLmqWZBcZKo8oVHooswSEiwk
VFEkew5Dg4aR1CEEFg58ImKLgo0W03QMaUyUTdG32dE2gUf7kBa8QrCuSnmm
EQIVe2zvECwRx6HFSWEKGESXzOLZCMThkQjMhF1EvGryfc+tC7FqQroEKonl
D5HkhLCgiuymg0eqbSdWxb+OBQgFpCrCrvWYxk758N7AglTLMMT2oWveCXwm
hqUj96YYlxDoQDtI2rl3pymkJ9b9fYhbKQ9p+OSUn+jLrmZpAk6i4fuyHAaZ
PMXS7ArhabX3GiOio+jrNsKTDFAEWQGxio2Ix95AVsAbbqSEQ7BVFYl8T+lw
PnQh7DSKm0cSzkBluYHQQ2KX08G52d7qwZvLi/PDW0JWREjCEGfSI64eqXNy
5/2iEv+9hEh4AWdp1PmgI/ocqhjmRAw7vL05Pa5JP/ZDLgjpmkU08ipbpbny
7oOkjrTIwFc/Uaro8V0+n7nznYcpwM8ktl640HKj7uwQPmLr0YEQcQ1PjhpW
2fYo/hNQfe/Olri2c051SMVikDPmI/CE0VRdDel0t2WJ/cDn7HVBVoGFfADS
2UwtCvYiX/RIY5+W9AIQThkc7G3yBmOj2IxcYrfespuIvtIeYHrDDQC+ZY2o
lYQIni7SMmvmlGW4RC2osotgiuWuV8Tipz60i6Ouy1lDNDE93N9b0Mv41SFo
TiXp8brKgo2yrVXETkNVNs2lhZQ+pVmIomUPosb8WERnxMYtiKIIWKj4ewAi
pSs1NwdJxczVIDSW6q2PluLEserPJ+KPvWD0Ypv4BOGudHPqe5iWjHsjEvk/
6IA0mGWDP6qNSSfBoI37YLsxZ24I4dmaRhCvO4TaU2LP7ZYvNjJAaEhv1aQz
+CGFkPrQt5agBT9E+PD3dD32997EwZ7IFNkycTD/KvNyvtHIt+4SvIWA3VZp
vPBWykxMuDXuXE1HElCHuLfg+t+VeKCmJZ5/2+vHF8d0SIlW5nH8BjjOIVqt
ukBVPIpDVBOwrjyXNbddXrDb1Y2P2TP8D5I0LC2Q++s1q2V/LscSIanCNH30
c8gKfC3cVqDmg7DDbe2b+ETMy4JRahXx5KJE7zPntyD5yJC6WYkAGQtyPkzW
E8qaLcxwtgnXTkTy6YdosjjozAxZR/t7j93F+TEmRcCyj++H4YLJVXBbgpk9
ltgFHxgc8mrEN7Rlx+++fn718vyPLSimucrQOtqTp091tFletsRXGYFQCgll
ElHNrjRd89MvXtiLnD8bB+jhxdvRyejk5jNL+/nVExhqkIo6Oj1/e6MfP/vl
F0jaUkI5Go3cwYiTINVpQZoFvJwLKKYTXdVowsnGtMeepOHIfMevrtxL2sIN
qT06+ueff/m5rhHfkvahTr/HbKIb8KcXwVHsg/cVNr/8/AXsSfT01StY8tge
Ra8EKONLsaLCh3nHsSJqLjc/EBvdWfKRP6M8IaAVKyxBaY3uK5FTFqzw+I4w
LyZDGJtteKzwbGxlQrOisC42Z2uc7s3lxdUhIWHNUXTR7cwsgJ5PGvyHvSvq
N2nfxq9U0xLfo2RWInxB484PGW+3cRRyuuzLmA1zu8xfcAKILY+NVsD8wRQR
q0Ww5Q2FK6W7osmnJIypINSyULeU4KR+x3fcyEybS+t1gw7RolUk+nJCD+IQ
C8TCaJZSK6bLok2GXYEd7K0mPd952dV9xbZejsSAQlkR9UaMPYI7LKWIQAXl
XCL9Mj3BBPLGRuMFZQ0gxyKgx8ik5pUjZ8GFwWk9dK95ApqyanRYkE1+CmgF
KwENfeQe1ZD4s1V495EE9rFNKcQkdAkmXS/l9YHiMZEKNK2PgRpSuyRiNbYj
gxjD8pXNQNvf21ZIvtEPMhmXlebZILPPMLhGpuL1EAdUx/KWLvA8uKs09EQI
piEL32h1wtFb0JnD6WnRi7TzMcIGNQNqlrBJylasUmwkGYLkYgwkiFbTEHoh
I/lwI5F2SZv+Lg0OEm/emWVpPpVoWxevVN2c6gUqxGgoq8WtA85KFDrAKIkx
McAhKRa/aAQ9Rd9jSVNrJIhLyMenduIaV7YWY0A7kCSwIm90tgPFIfJaooAX
c89EjjSDjymoEMchR3uXyOXFjZ70SyWKwV3jnaLgOspHjGdx5BnzqdYq1DEC
18bUPWLl+BGbAmp1cXM4gYQNsUQI+EI4xqFhJByG6hKk4PhtRzfWQx/G30wF
GENDQBvDQLgSlxIsxKzfQKGx1QcmS2AQrmN2+69DShTPHgBs9yuEBwvjV+UX
VgP15LPfofWlxlEADzp+IBapotOfuoNX2TwZZ4xqZ0BN2jyrT3RR5tn8LP7d
vh4Oh+6Ph/8y/FdN1dfomp5ETGAk8w2yaymZSp5mozFOZVY0ZgL2JnCcpNDL
jDPAQzQ6B2qk1S/gFEkg1DJvzXw211aCS5/ZmmabsSVt43bkCWClIgyyqRnS
KEIYjP88mD6DwSfJil2eYLGWzSNjscRv+arsSffarflJduUt7O9ZEnpHIo4C
4nyowSEHcyNWAtVYEEbkzsFn4RvsZMVDGpCkyHYgpWjqVerzmZMieCmCSHQY
EuV2Kz8yFA+iFmFBycg3ZnpLHK1tdD/oq7sVCWXauCbEmU/UeHcenSMIyYmU
qHhdopbBq1Ks1PA1pSsLQOlGfvGy4cXRSIsot9XnuxM8CBC7jUJ5Rjd+Q6IB
BNLM2xVTDbmpN8sVAY5gliZqR7wZnV+2HKMWh7WQS5TkadU4lfjM18SXi/M/
WVqLLN+izED8QjSTbKdSr7HPStrfU9+Dbk/4izp2D+peeM/ncoj/agsuFipO
8qC6hdURLOef1J0nD/90e/HyV8+ejg7/TYLfkG8Kd4N/wuoS/OrpL+H3FVtS
sqrFTso2Hw6H1R2YZqnhVF4zB+rKTfSiHls947IliWaFi20qCmCOApkCXGxn
Bw/uqCdDpVVVVoerMs8mGzGYTUVwVo+ApGEz6RZssIugnherYoFY06nZzry5
V/Jg77LEteAEM4EQdd67YnVZTgU0FxxmNosUDgjhBzo4RyXRt/dVpvraouTj
b9Q8VIYCASxOBW2nTjsB893XQKkEUj4RdAXaj9TKRoQfoKPY5SzlR2NvYDCg
X5JpP1ibQpaPGvjlOGRdbNBSytFeloam0G2s9Bx4NDG9cexlMJaJzTRYyowo
+PokdDWH4gndMobZ8rYYS5wymGgSSus4gCo0SUSOOd2s0J2GwBo8lZJQz2NZ
wK5U93mX+uD5qLiDhq5pkC8pgVySBHLVKJBx+kbjlDcSalhYXaH9PXqzFl8K
HLJRMPlGw4E0RzQKR3Jnyp8tsjsKVJIgEa1b5Q6+Ob7pKUEHGXqdLTPxHbIC
QiTk9usz0TB9BnsIduJn4BFNV3m5SeNCDZ9ge+G3F0jryjFrnIOJMB2Od2r0
SmEVaoQqlUSLzB5b3Ixtis4KyuoxuM3Et14SdZuvMMKOZwZ9Emgg/ezvHaTv
jyJZXSsrlFx1Y04XnU10YkqvrfBETz17bBkkTZX5M3NhLoqRdutyeLnLmBAv
Lbgh025m+e0bd3zmTt5cXL0+uz079fFSDxa4ZIlPxlOJqk4fDJeybPdnJkTg
ShXlHXsyEd2+outGt8J8DrgZpINNtS5MPUly8x/tSu41kwwHozCeWlTvQ1Go
tL/jTZQRHZK75TyDiVfcpaAh7ZSUlhV3V90noQG4Z8YT8iAhBZyQnJZVcmdy
KdEIERaZO6YWKSHL34q7iFNAOiEOkaYt3vA2IY3hF2J1utk5SI2ZcCFBoSDx
9eLgxkR4ImxekrUVnSUv2eet1GmyzGnwvs8XjxxZHSvdKCD0QKQiNbUzkeFw
S5+GD1JNSL8U1DEKVkP8j4R6yLJWUaywUjEaJB5qoWkmthVgU7d7SPTvhjbU
2XLNcY+L9ZLjE1oJT76oDgYbYAo2EkG3gJEkk2o4ppEs2WChwg40Zro4ympR
FZZdHUP3tUXuGifwjmXE5TwAtiMly+E2g3Sbd64DJeUyKAQlRvfCKtQ4Ar4p
pt6dgYA+1JeJhuFCRYJdok34lEQN0QiPZqhmsxbVxucFWC0UqQuyrjR6hXlt
ziGVJgCUceIZknUJtya+DgPi2FaaTDB036ScChyVffGXoA0B0FWE+6Qa6vz4
8Znt8dqWyGM+fhyX8c1qt7UDFm0WUqdO1bwux9fNqfs4ikngkxvaEm4CLBDc
hKljNQmZQ76qVhd48lifDQkaMsv1W/qOfXR9t0Ud/LTXYB43SvRqzLoDYwij
BQW9bFQl976AAsfTQVuR6EEunqDEPMpAS4SVmkZ47u+oyB+Gq1t3V7FV4lzE
BttFWU49MfjWEqoUS3QhF3kbF0Qw5QoO8PAGGwQEg1hK44QDoSKBegDlLLHD
I1t3C9vodm2bAby5vmqKXI05R+3wyVlpjO3F8uhs+2oHRzmRoWiiIFRirlMj
WRdMiDDj21qNtzwWQBOm0TpOYd9O7KC+5J4qY2GCK3Xh3Qj5wwT4Na23qC0w
v21fYXsvKq2Ku0hrQ/lwnTpozNvA4AX81idxa2mzaSuus955IEyuCOjsvQVE
kXczXSOw5reOWItEwiZqfNM4KYuGl2TpacpoyPNxIK8dvuqghxjKYqa9rcEd
cGRO0M21Qm4/inWJCqz0Q9yS7C7JYTz7bQSflFlK52HO+RCLcDMRydKNZFsH
ljoGFYiI1egc48mXPaZgUZ7QIcQGovUsaUGRxQbbLMbHUXFhgNy9IYDCUCs8
Xgg6F4dif76wdU16VWs1h+wxfWFlh3ObPX/hgpms/amYyys4vlGpCIlT514F
rx/iKEi+RcDQypLOVHJSw+WW5KQOhTglntkcYRwuvEZuY6D2BiVguH3VT+Jp
4uRrprWnaiYyXt9alJqGH0pzpyvnFxqlnfqlGluJEhW+LSfJGE9tMPlVABsO
nUBz57+3kpoSHo4R+85L31zjExkbk01IX+QTkTviJ1ekuFEwep7KBEhhx2Qv
FEzZmFeBhpPyEs54Cdx2WRSt+vAJcq2W8j6TYsRs4a9Az0RCXBc+fdO1Y0Hj
gj1VuhCnJL9zuqGXaJ2tLJ5vdspi20Kkajoi0YZxKw65gts0ELbgy8rsKEWq
RZlpjLUzJNZzmDqSaJrUB3caW48yeiy8NhLqAMWI96hbguNf6ljYS++YvPtT
lhLY7Zm8DCyhnaup5Q5VYgRqkXPMxOzNU3sNtuIqSszYLKXRqm7cZVVZeG0C
q4iix7EIOsJxxvJC2KFEXnez4EJBGskd8/WFdpUDiK8XEb3R+bWmQ/KvHJV+
RXdkghk0HDWyTCfu2ZOnX4CjpOBSdG0Ra8zRLsDvkjB+vcRMqM2hPo1a61FE
iacY6pKVAjZu8clykIfgM4fQRGV2uGCphE+C2y3xuZzAS2J9ekwc6smSdWYf
nHeudV9p2FrqZGraAVhXKlVaiIAxx6wJAARMrQidaukKJGQbYFBMUINT7+/v
h/NyMEuyilMc8MsgPHpodzJaqzt42dvfi3KX7OL5CokcOxQXvOvEUfpspL7a
NTmeQ3V14TRS8VKj90Sk5zxcaJ+QUejUtmwCAKK5u0RgDIqwWUp1Oy1Yu4NR
T6vobBfd46I4cvPiNSU6gJjOuSiQ6Kh+NWIU2FqBBtwhwGFguKk6VUjNatWK
rIPQ3sYId3DePojoYtZR5mZWMMnQrIdUCmC1ZpC7GYfyacmYIekHyna6bMYi
F+30OwU16FDVIPFQRZWOTYI2COT2e7umvcUfSCqUiobeuxjlPrG/QIicmvWm
u6IrVS0Cl2qFr7L5aZIWMAmYUTgVGhNdnZCAcI9rvUFDC0TqCbgsD2RarhoL
pBtXqCRJ6rfyG4SovEuJzHGJGr6sdkNxYzWGldANxIprpUhqsnfBPP3cKcED
aZFAL78+LVaKgoMctOdrCnh7GpScTvlb0rZgQ48plk9YFIKFWVrk6geIlSB/
fHwRybL45jh69QSevnbmEG+xYyCtLRGETTT30Jb+jHseGTjLsLs2/5Fq/UMI
XpBuNvqBLvX0JYd/SvlutyEOUXeflMNHHTwuYJ+XjdroJj6CjZNmAZnZOrfq
bMsVuqrUUj37Mi1f/Fl4isSaaR6L+oGixFYtihKstwKt7po4DxXAs8gNKW8k
7rs4KprdiBzogzYk6+VYylNw/f+aKzSZywOOCqbgwTBcontISEvsilhwBPJ5
taqfsDT0GFIwB0er0Curl9M0dFVzvgRRWx0+77bnivYMcq5gxkKhROxyrZGC
y1vcWdyCmHptMFnvplzzeKSuZSIL4RRrsYSzzVXhIMgwXs9paUr22lfFtvSt
jKTiTvdQ7Baqy81ccH56X/wS9/m75ydOG0sliJq6+Xp08tod0H8rOpgTL3l7
r04vltdjyVycd+zwIIonUYazhGRyla2x8Fd5OWau8JbN7oh8kNYClTc/ZeEj
DNk9M644Br85J1PnpLTkKn5My+Lvf/t/DVuh4EWW6CBSJmur2d6pipQtRdsW
iIy9RvuYrTQw9zCz76zxOGXnsHt7fX54fn2uK2JrcQYdjKDz9vq1knRJfOBS
Dsz/QiQ1v4YH4bvyFe2sJCHXjrgTZ3jWSDIJmnzwCYdVvkyt2wJWJr62xlMo
KFKoDZe0Eq8lylhflDhdAfD+nl1qDRZRoNSSUlQw7ZglY4J93w9gaRpZrgaV
m6vR9R9eiw4B3PJZflIpQ1MZ/v63/6QzZEkc9rn673/7L460oi2KHiAOqVNb
QpSEh51xcI1qqbWQYrYV1K30O0k/tJB1XGqtFqJJMpG4df98YopRUD851Wmq
qgeTaCYN/Paf6O8Bwj1D0i6NMdRsq6w8rKYz/v5wMudy24eEahDM/p0zloaL
ZpmTiHGAYR73GFcEcvwS3T/5A181Xc8/24MLSf/X9ROkBStuBAsRACrEfiH1
kPI1SabuEX1mTi5E20mSN7BclDyV7nEMotmwWBI1r8E3NZo6uIM3373u0583
faYYPYv84q4RmJgjrUQko/tuYSMn2WqhhVRAoxRbPG7UGsYNEov6Y+V9n+fs
MmKh2cyjx8k7VbAg+wDtEYOr6w2Urct5Y67Ng8W3JdjYLFOa7aJcWrkg6iwT
r5uAWkXgnpbOGWElLy3MRwS6TlFgTKR5RVjxFAFl1bDWamRjRmEz17vv0rG7
DekyNzgVkxtbD0U5NXJ0duLsg6zL1YJV3sSy+VvxX31XLxJxw4twS9cWdsdQ
iQVRIR2Tu9d2Ro1UuaWJuDpcZKybtZopSoQmZtGas30toCf0QmP91BR8n47b
Rh4rvdeg1Mjc/KmsMvjQLu/mUy8bF3VhD2jcJEfscOpjqINdN4AzSvFReJr/
TRnCERf15xLblkkXOMjhuaRxileV7XI7nhID6keGcQc0mXpK18JJrWwcK7zm
CPM5CPZmzZKjiOGo4bXY1OJ3sDnW6qS6jxEnYwL8FsxOS6FakwodeOP5bV+N
oBnX6EzygfZ20VYB8FCx2LRKSw23RzYMV7sJUQ2cMRjwyUvsIsRiaatk7sWl
snynPZI+CbiktwJ2kpRXC6OirYl7hQ1pEJm4gqBXmgJAu4lTcREe763E5ucs
6TBFfdBMCqXz9OVRWOVpZKpuBWNgdx9/yoGV9ORa1CxyQpBGsR4PPmI3BuNe
VGo7dmU6SZVMtM4OQVAljnZZQZZo2Y0Qyr2xWxNqHxv2H/2+XBSCoCjdXBaP
lAUwH7VSEqRjE3HnfqYSJAOeEIKzxKMoTD1HHwBCNN90ogqtuhC+J96mtr3c
/KF1sglho7oeWVu9HvPIbIkVEwrX56mj87k5YhYkagQ+Dn8x0G96UgujdutV
KWKadJG4E/1YQj00EBSh65GlPd5ZQHMgTOhDtiCkZb/WBN6MtidXlVXmw17P
UMGfB7bIFt0nyiDwOdBA01l9JJtnyo4/7TFtAoA4VVoVS9uZtiqMrfMHrcX0
zH5F66i2I6/l+HmaYNvWZfBFU/FKMVhcbcKi2n6duER/1XLZW4agr+j33esj
ZoHmmWqFpuFO7fySZRuiEMUCdohaI/Dt/Aotjg6Y00GHOC1/1tJURVdrmNny
YRSapUvz+Da/RK/qWPhkaVqwPf744AGX0H0JaCgG9Xwm8Ce8mgTqz3KKMltO
sOmxj40d/G3KAkn5YdToB0KvmqLExiA7XGpKtMAR+L9DBBnN7GNYp1n9Z6Qc
GDb3RXrxsI59O21RJvIwtLHEsOMPEC6OTAS9insN4Q7z1y2E0ScPPu0NrRvH
30jEa+7H8taLllLUjmqB5VfaYFgAA0YSrjjUVXP0+gqdd2DxGatmqlkH7eZb
gKIkmSsBZbrP1J04F5iaL0rCC+pIWIbGTJp82JoWXFaZcKiRrJH/RxRbBRgi
YqPws9IX6dQwQz7wOHfZhEtMAz9DbCBvibhemBT1Yaf0m5mgH7XZQIcmtk7H
pfC50DaXYskha6h/r22uFelBDdOlD5rW6j9CHL/mShaE9CT7viS855q+F0mx
hp97LTL1Kwigha8Zf8U2WNrbhA69xwk6+3v+fD0zFALfD/nnLeE8cq4Zqgd7
EeH7InnAssNWH1LlCIJqBHrw0V633agSS0V484n6OksthpiY+9cbJRgR1D5l
0Y2e6kuLEikRyP6ajjvYtFXNQpBoXW+iF4dDv+0Eqm2o7bioY9NVGQaBqXZr
ofGMyRT6X219dtShMsYAKRv+NRLLVsPpBkwf1TgktaJMc+SkPKCRt3rzLNbA
Q+Td2AHvYwC2yhboyf8seFC0SrF/WboLhOLdtlFQEDl/PlY6mYlum7s2tAGr
5gVQNPx5i3x/jnPp+6rQNS1ysuhZfGbUFjMUprbyCDSJptg51AO5i1wISePr
HZtYl7jxfDWqC3eA1POt+t3uks3MPQ+KbwOCtYIxnIBiN3dUcmmG0TYX9CZV
sUMJ9TKd0+p3RBywlgvVLq6XWq28zgrouCvpUNiw0T86UhwKxrMgoyvFK86u
2Y667XvE01JX4p5Bkp13yFVxjpqvsKSZ8LwtolptPYBN4pw/A60wZJAhxlsL
bX/7enQpg0vWWxGaFnJxiDrqeVBLVd/obRJHi1TTC03Y0NBcG8QwTw1HO84I
vcqmdkIeDkndEkEiZ6nySxLTo8MNRMZs94jB2ap/Pwsg8bHwvKP9PY6c3AYL
r1XiHvye5MaASnQk+kSRkIAIROpgYFZ7DPEpI4QjJ63cCm5HlSWFFrdiT8tA
PC12DH0PCQ24lOdJCU5R568bRK547A9iC5UmSMfueJjUA6ynMdR9RTyFbWPt
E2mdB+avwrGIpqJSHuZ6oBRS7c8votdyKyPHzyxP5lE4vzqpvEi7zERe6bKU
0MSlE5AES4tgxV1W5vY4wgVUlLXVJtMlSR5cogABHQQCXykK9kcdPnQcCyQB
2WwIYEYYiYqSp1kyL0oOhbab4e1vXkXhNDhNs7cXp+FFX24eORuwgwa4dtZq
C40sQiTeZu8Nep1a1S3YDZUCM4PxIJIQX1k4H1E/QhMf7RG0Qd3L/p4mUqsW
4qIT842PYlUlKxizVIYAUeIT67YhkShmca1h9VyQp2xtqilXkqku5tvvFpu2
mErodc3J3ZYuHEVPfAc72VeWMougMXz6LYpRjkIoyynbZz/S/1GTPURA5Uiz
0AjOpFSfKuz7wV1ErOIk7gd3ymrqwwI11yLcEe4mHlwvt3uNId+EOGi6ugcf
t2n1Hj9uuSdCMWnfxtJpY62Wuaqju8yQVDRWayNoHbv17P0dyiHHTrLOQgtg
4S+s3+ty8Qb7O5QtNrJwBCfpRqYrcfp8qw9aOyyw1T0Qy1CjMq2Dt+TbOo61
pUbKeU2slRXEHhc+43WZVO/Wq0Mr6IulQFpEbK2UjDM529c8i9I5g+0Vu+9M
JLsSVcNmk0QumMT8jHHsGxv9LI5IYtCm2x0RE+2Xoa6Hj6ty6MeUwzlmTepC
rahWtXNWKrWb2APdd7YjhI62wR+5LtTirm71FsHrGlzddsV6WR1q2kZRtWKa
zPMWlgg75OyS0GLQst/yEGnLlqiDYJXEtcFiHj9+8x1pcTttXL2wJS75ENzD
sUnSB9daeJznWCy2ctSMlhZ1gadEEdEi0nsbcaD+3sWSBKW7E+78SS2tzkTv
nKLpiiI66sx5h6VE6MQd0oWU5NpKaRJaKW0nzKlh5CP4AdDH0Pb3NFDkkPyM
+xkqbHOcu+RyaK0MreDSlSpZAgcuhCBpyXSOSoEIqu3ohwROtqsHElbcaaAj
g1jnHK5JhLY4Hs1ke+EeWFKlz1FrpXl71dGoT2SI3BGz3b4JnWAN7ewitUlM
HdJwbsug7xQct7Y8W1GLI7mPvjPJddSYEC9exrF90iWL9sY7fqifYaeIYeit
57MQmhbGtKmJht93/KFiWIs5U7h8voxOvK/QJS3YzIwI+iNE41WjvCFsT5mc
VdfdFhhazRvlFKyZMqJjJVcvKoZontsH23X4BZ1wObDUvYHwaok6vLyXWMBW
/xjUqbLPpB0lrR4rEjYUFe7yzXsjm6HP74ULMZ2UGuGuGeiFFICXtCQpthti
YPr+thjiIh8nds3QRRWvjrM2UmZddaGbZUjMksJGEmwOz6oeQsTlVRuKuG+V
LktQfs/JOXg+tbSMNfcfZWk+VyO4BmVEqaNiT4ays66DmMTaKRNxb0jjCjUq
UmicgtZDYTHqgbQ6RXlJyBeSbsfaEjbkShce0twvJ2BZKNFs9P0l10W8km7W
Ji2MfHzzdcic0q4f7cbXsYbfybMKpNrK6DE5ZMGhVR6o4/r1Rj2Woo92Co6t
a9CqoSdi43aH3b7w+05P5u1+uu1eult9kTWHw5oeRjTc/Rzi2MFNT5dozEks
lZ0yIZ3kG8l2HRMevJvikuFIx0lVcbBeXI2lDZsgGoVGXRKvmnDpIZWQ491J
spzxgJAJKBoWiG6cjjvehMI/u5sjoGJPp3piyDdp8V8aScreKQYeV9mUY3Me
6g92uUultbjVViMw5Sfa8cmEwLgrbKtXlw2jyBf1GPXI9saLWnSa7ZI3O4UT
FiOiKF9Fk6jK2o6UuHUUy8772JUOxqLMeks+a+0m0D8v1ycF6dMyl7EhyTfW
5M3GXCPdjmex5KQZQqi3m3K9bVmYbzXaCswgNG0kiTZkOPLaSDFRI0hQiZSR
Hxjx10wFJzVJ2ORi3EBShNHZj4fI61S9sObaVKEmmIblvmhxv6WS/hafggWk
sJgHV2qvPM6MX4NkCqtjERrlnUU3ixme+AKMmLKaz74NiV7Aiw80dW6rK8q/
3IH0subaJn2Ufe2pTi1g8q1Qt8LI4oagR1tI0FXugoAk2tYMNcB9VRd/8T2/
agkrXtfzuopPBenUNYsU2SQPir/ARmuc0VKi67TjNiE3muSoPJSNUcWvU5u7
33KAWe/zmF6H0IVzKwTJbFkSYlext9nKk6NgWE/KLnEoefHO5+9dXtwcvrm5
kU6QKAZgFRqJhDoh3mK8GpcNylutV1wZ0FcfOzAvVk8OUqv+ueObGzVvSeEf
8X1zz85QFYaWfJda4C17MUrxDBRWPd1qX+eoMuU72WlDFauIMXQnJGHNkMtl
VTQO/D64WBprytymheDIHnesSqLBeH3aLqHdgcxmhfOKw7KtfHWynntfrLh4
g92pL+UOxI+g5jWL4+YKsurUtNBW/mwqqaP+Bp6KYEdMqZz7rlItWV3iUsRk
pZlOthifMUb77SaWiGt7mYinY8l+CMQREKGbLMospNOE3JRptBYNoNPMJbG8
xt9rBSmud6JmK5Y3K19Et0rnGTszVV8Tu997SYQab9pGGS1/SQIitz9QXUuU
mrRuhmjGp5VnEMksMPejqmCcizKjaLy/FzA2ZAebNrnxTdKQKq9eJr8F5oqS
lSnJY34qLyR4IcUPbbblv//tP70i/ve//Zcc9Tfd4xEXstR/Mdw8UdjCiSI5
cqE/TAz8ftz50+r9crJusKz4FbfAeMs16dD8B8UB07hlQFwL/SBj1tfXFjzq
IJe7UHtXfwE13yR1E718l8oOQnI6Ez1f2OnF87UPUBOVBKwasCoev1a9lWBV
Gmp5qi0Miebohwwe5ALbNJL2EefUsOMKhqvYFendougcR+sce8rgxcwcwaIJ
SktC7pMWc/QgqYObgT7M42t1RPihtOyCxaezBUdbXTodlRuZZHcbX7LSP8Ez
fPhgUuktKn0HPwnvnPCISTGyAEzh8r3s+Yk6TsbX0oRfPHn2BNIx01NQxHQ5
FmHCKrtJUZVuIb8NJ2rriaIj9tV5zGY0PsAq9eFtYjFyU61Wo7B0rWn/7Fe/
ou1xtVDOgrmX0n9ci9hndTR60tykS3tBwfcnW3dfacE//I6tSNPwUqKdWto/
x1+Eupdaluf++aTvyypaWZv9PbShrXw0+B8vXrdj/QOQY4hGVYcDpecqdhhg
mqaobE+wTqfcOsuLiSTAZoheTuxNlrzMY8SjHPzL+SUSLrAU9kiy3SNRg+Za
4vHFfBhK9DFFsfBurSwvxKqDS1iewpNjZHnw0HXHujZotNpG61lJRwg4+EPf
Da4Ohni0viTYEGOq09y3t7p+do2p1PRN5y5tueNyzXFhebn3r8Txp2vlBCwP
XU26swg3owBqthA5Tp9ZJc2i1oia9iC+z4sCDC/98QqPRw246JSQC56LFbTh
kmRgZ6zfWqaHdUCtue0vEVjwDzHXeCsnzS14GNuDRHEi9OfMRnN1TmNjCSf3
RkYdsWSZXcgMGZra3UgNpVw5m+1DIqAhv07DPtT4w/YfCYj2LWLVVG8d3rgg
FyxDVXlvqXO3C4lYgTcmDGl7TkOVH+gCRI/tCHVoRF2U+VryjbRfj+aoaf0s
T0WtQ/YyJdlyc6gtUrRXVb0WE1I4r3Is7VxR0w6jz3x6P1cgSrWOp6/XXIsl
g0BhtSu5/unGLZntSy3HWdZo+omJmEmr/Jnm7MGxxzn6dpk5PxYXV0Kh1JpD
947Il3OWlrxVptNdldLcwTKV4x6lHLuW4hahw0Ctphk0FVhFbykJ2xqZo7E3
DgqD6YwjbNkCUAgcD7xYW+3bRer52sZXkOISm++iI1TxSIqcNlHd01bDYTEK
q/WpY5QOVrRgcGfpJwqel0H4RZaGpaCPRLd6NsCakayH+xcnH9VgTGdgkhe3
eDPCBzbZ7QcZyi5gi+iwiVCpsTTKxCKZNGmDKeGGnFUWS9q+24Qy4CK5y+Z4
K7a3dRpXdatFqlSFJ8WCoJlUal9Bpy+z+YYub0n72bjuMYlf0SsWA+qDfuRg
4zw8lQa6tbblyt9G7YER4+V8WWptrja1soShtDW+1ZZrUyM9NPrzL57QXPMq
TVuadac9PKvVkvICfKBTCLlePjjCgpG4yqeVVtgq0VmrVD9VyeP/0g+0/x/8
+f6HHvjEUd5YYWItfP2PjfLfWctnA/m50/8Hn33SKLLewwfX8NCi2qNEdv/w
UgSKTxslbCLagFI4/Pxm+9udo3z/4B8f+/ajo9jCPtsJ3e9Hch8Of2CUj37o
vr/RGuefPorkOjz06KeOcq1BDYGt/COjfPxTHiU63rsYjrtxdwfMeZQdc32/
cw0PfWqjvIxoaev5CBD+09CEszNKhKD4+c1ntoHWF/zpb7sPf//P3FGAkwfa
Q3CUT/HB/4kuVPukv//Iwj723P/AKA/Suh81yoOUgZ8L7BD58i2nUguRf0t/
WtNx/vlNtKbv2VTv0K++v793cClmiv725Pjz9j4rdi7u+8jUTztCNzHneju2
8FFa972bX16c9/F2bxsu0U+LCHdp3ceh+6k/P9EofuV33S185Cfa7mcP3cYf
9fP9D49izsr/3iifvJatE/2RP5+ZRCUVrklteFun7oSrkiBKqquPmA7K4nuk
CTUI1xRlbbRDhmvXSjPlhWVwTU6T8j4zC1Lm7jQ7FSKIjaucW0GgmEBV5r5O
6s+6TUoiw0urKrqV+UcoeqiArcJ6E1lrWJg1AdC+L9Vg54Ve+byTgmVuNdUq
rCdH6utkNfdxO52s4g7L1dxbJs25jue4zfKHD8PbtiIXQoL29xawcJRzuH9q
8Xybjs+NRsVMm/hSVpZ0K5W5O2m++3vWs95qmcQutF9HZde3YJqEdMlQx0FK
8nMSd/BbWzyQpn3sCuMUlTM0Qm7VvQy2+WRcc5mu4DsYbzSZj9smN6HTQBzt
3N60loBnYxCpSN5QHZ0Wh2/Mk2qap5rRLi5n7aqQpR5M7KfPJQS4XeShnd9T
hLVvZ1onW3Hvnh1dJKsfDsjYDh4KaA+br+I5W/8ZqRNnpXxLDrKKmoiYKhqS
i0p1KPpaHdBSfb5EiCnlMhG+JKR6rr9OWjEEtFkkQ4mRvfVodEFguS9XdXI/
H/gA0gGeGSCnd5bWDbZc+3gta8qA7VpdTjmx3bVH1Q8fckUQmiS4X2nFtYE0
TPLtYoY7HFEhlYPBD40YDTwJIy0WSZDGlueDdR4/PiJBIuuJUdOiWMWT5gvv
/0VxlyhgwxkSK0uNl63J/cQFO8g+YShAnR31XCDOg4FLqy5BUKIjHXULa2uO
5YQDtOMMyQfccwEoaTQIG7QwsuTke/Bb4UlUADDIcS+aQzVi8EoljAkOVuQk
JNXSUh2zybtUuzgZtfPtPA74mmR6qw93psxoZe/ORlrZEpz6ZERMsAie6zsO
uw5h+4bkUdybGUUV3+6joaz4OyBussQ1vjCv0pFIraDm89DU3Dgy54t5LyjM
jVLsbFWK1W5nslCrlqlmWPj8n8Ta13cSjHjcSRMVlYbXwjviRz7r/MxMZ5Jb
M2K2LYusIueEryYfujIU5t2qU48O3qhcajlODzrpv4JBviVmimj2TlGroXuj
fiRkCkpfTB+3L92YdIli1T94c3w66vXVVu/D1hVpO61tWrkTUt8e6E6cVHrA
aCKqxcmLJ8mqKO+KfozNrVF46zl3L6pbOQCRndOkjmCc03jAvvqTxNPjkVGo
hq8hH3y4vmz/dqAzwCKOTE3tbxYVx5zQ/6m6J2p22WiJyIukiX1u6L2RSafD
vuPBZuVkbQGIJn2FGFY2lVoUt0RTaeE07YSdaYMw1PasuOq5dd+OagYKYUuq
dFHy3RxiZWJlicTEI3RSTO7KTNwlnYY9y/ZGdPX1Ips1HBtm4QXxJiD4sWRw
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

-->

</rfc>
