<?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.24 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mackey-nmop-kg-for-netops-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="Knowledge Graph NetOps">Knowledge Graph Framework for Network Operations</title>
    <seriesInfo name="Internet-Draft" value="draft-mackey-nmop-kg-for-netops-02"/>
    <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>Huawei</organization>
      <address>
        <postal>
          <country>Belgium</country>
        </postal>
        <email>benoit.claise@huawei.com</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="March" day="03"/>
    <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="3" month="November" year="2024"/>
            <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-19"/>
        </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>TIM</organization>
            </author>
            <author fullname="Phil Bedard" initials="P." surname="Bedard">
              <organization>Cisco</organization>
            </author>
            <date day="28" month="February" 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.  However, the data model is designed with
   appropriate provisions to ease future augmentations with application-
   and technology-specific details.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ivy-network-inventory-yang-05"/>
        </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="28" month="February" 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-10"/>
        </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="3" month="March" year="2025"/>
            <abstract>
              <t>   Network platforms use Model-driven 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 data collection manifest).  These YANG
   modules are specified at the network (e.g. controller) level 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 in order to keep the collected data
   fully exploitable by the data scientists and relevant tools.
   Additionally, this document proposes 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-06"/>
        </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>
      <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>
    </section>
    <section anchor="result">
      <name>RESULT</name>
      <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="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:
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
nwMNNJ3VR7J5puz40x7TJgCIU6VVsbSdaavC2Dp/0FpMz+xXtI5qO/Jajp+n
CbZtXQZfNBWvFIPF1SYsqu3XiUv0Vy2XvWUI+op+3705YhZonqlWaBru1M4v
WbYhClEsYIeoNQLfzq/Q4uiAOR10iNPyZy1NVXS1hpktH0ahWbo0j+/uS/Sq
joVPlqYF2+OPDx5xCT2UgIZiUM9nAn/Eq0mg/iynKLPlBJse+9jYwd+mLJCU
H0eNfiD0qilKbAyyw6WmRAscgf87RJDRzD6GdZrVf0LKgWFzX6QXD+vYt9MW
ZSIPQxtLDDv+AOHiyETQ67jXEO4wf91CGH3y4OPe0Lpx/I1EvOZ+LG+9aClF
7agWWH6lDYYFMGAk4YpDXTVHr6/QeQcWn7Fqppp10G6+BShKkrkSUKb7TN2J
c4Gp+aIkvKCOhGVozKTJh61pwWWVCYcayRr5f0SxVYAhIjYKPyt9kU4NM+QD
j3OXTbjENPAzxAbylojrhUlRH3ZKv5kJ+lGbDXRoYut0XAqfC21zKZYcsob6
99rmWpEe1DBd+qBprf4jxPFrrmRBSE+y7yvCe67pe5EUa/i51yJTv4YAWvia
8ddsg6W9TejQe5ygs7/nz9czQyHw/ZB/3hLOI+eaoXqwFxG+L5JHLDts9SFV
jiCoRqBHH+11240qsVSEN5+or7PUYoiJuX+9UYIRQe1TFt3oqb60KJESgeyv
6biDTVvVLASJ1vUmenE49NtOoNqG2o6LOjZdlWEQmGq3FhrPmEyh/9XWZ0cd
KmMMkLLhXyOxbDWcbsD0UY1DUivKNEdOygMaeas3z2INPETejR3wPgZgq2yB
nvwvggdFqxT7l6W7QCjebRsFBZHz52Olk5notrlrQxuwal4ARcOfd8j35ziX
vq8KXdMiJ4uexWdGbTFDYWorj0CTaIqdQz2Q+8iFkDS+3rGJdYkbz1ejunAH
SD3fqt/tLtnM3POg+DYgWCsYwwkodnNHJZdmGG1zQW9SFTuUUC/TOa1+R8QB
a7lQ7eJ6qdXK66yAjruSDoUNG/2jI8WhYDwLMrpWvOLsmu2o275HPC11Je4Z
JNl5h1wV56j5CkuaCc/bIqrV1gPYJM75M9AKQwYZYry10Pa3b0aXMrhkvRWh
aSEXh6ijnge1VPWN3iZxtEg1vdCEDQ3NtUEM89RwtOOM0Ktsaifk4ZDULREk
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
u5EaSrlyNtuHREBDfp2Gfajxh+0/EhDtW8Sqqd46vHFBLliGqvLBUufuFhKx
Am9MGNL2nIYqP9AFiB7bEerQiLoo87XkG2m/Hs1R0/pZnopah+xlSrLl5lBb
pGivqnotJqRwXuVY2rmiph1Gn/n0fq5AlGodT1+vuRZLBoHCaldy/dONWzLb
l1qOs6zR9BMTMZNW+TPN2YNjj3P07TJzfiwuroRCqTWH7h2RL+csLXmrTKe7
LqW5g2Uqxz1KOXYtxS1Ch4FaTTNoKrCK3lIStjUyR2NvHBQG0xlH2LIFoBA4
Hnmxttq3i9TztY2vIMUlNt9FR6jikRQ5baK6p62Gw2IUVutTxygdrGjB4M7S
TxQ8L4PwiywNS0EfiW71bIA1I1kP9y9OPqjBmM7AJC9u8WaED2yy2w8ylF3A
FtFhE6FSY2mUiUUyadIGU8INOasslrR9twllwEVyn83xVmxv6zSu6laLVKkK
T4oFQTOp1L6CTl9m8w1d3pL2s3HdYxK/olcsBtQH/cjBxnl4Kg10a23Llb+L
2gMjxsv5stTaXG1qZQlDaWt8qy3XpkZ6aPSXnz+jueZVmrY06057eFarJeUF
+ECnEHK9fHCEBSNxlU8rrbBVorNWqX6qksf/pR9o/z/68/2PPfCRo1xZYWIt
fP33jfLfWcsnA/m51/8Hn3zUKLLew0fX8Nii2qNEdv/wUgSKjxslbCLagFI4
/Pxm+9udo3z/6B8f+vaDo9jCPtkJ3e9Hch8Of2SUD37ovr/VGucfP4rkOjz2
6MeOcqNBDYGt/D2jfPhTHiU63vsYjrtxdwfMeZQdc32/cw2PfWqjvIpoaev5
CBD+09CEszNKhKD4+c0ntoHWF/zpb7sPf/+P3FGAkwfaY3CUT/HB/4kuVPuk
v//Awj703P/AKI/Sup80yqOUgZ8L7BD58i2nUguRf0t/WtNx/vlNtKbv2VTv
0K++v793cClmiv725Pjz7iErdi7u+8jUTztCNzHneju28EFa972bX16c9/F2
bxsu0U+LCHdp3Yeh+7E/P9MofuX33S184Cfa7ieP3caf9PP9j49izsr/3igf
vZatE/2JP5+YRCUVrklteFun7oSrkiBKqquPmA7K4nukCTUI1xRlbbRDhmvX
SjPlhWVwTU6T8j4zC1Lm7jQ7FSKIjaucW0GgmEBV5r5O6i+6TUoiw0urKrqV
+UcoeqiArcJ6E1lrWJg1AdC+L9Vg54Ve+byTgmVuNdUqrCdH6utkNQ9xO52s
4g7L1dxbJs25jue4zfIPPwzv2opcCAna31vAwlHO4f6pxfNtOj43GhUzbeJL
WVnSrVTm7qT57u9Zz3qrZRK70H4dlV3fgmkS0iVDHQcpyc9J3MFvbfFAmvax
K4xTVM7QCLlV9zLY5pNxzWW6gu9gvNFkPm6b3IROA3G0c3vTWgKejUGkInlD
dXRaHL4xT6ppnmpGu7ictatClnowsZ8+lxDgdpGHdn5PEda+nWmdbMW9e3Z0
kax+PCBjO3gooD1svornbP1npE6clfItOcgqaiJiqmhILirVoehrdUBL9fkS
IaaUy0T4kpDquf46acUQ0GaRDCVG9taj0QWB5b5c1cnDfOADSAd4ZoCc3lla
N9hy7eO1rCkDtmt1OeXEdtceVT98yBVBaJLgfqUV1wbSMMm3ixnucESFVA4G
PzRiNPAkjLRYJEEaW54P1nn69IgEiawnRk2LYhVPmi+8/2fFXaKADWdIrCw1
XrYm9xMX7CD7iKEAdXbUc4E4DwYurboEQYmOdNQtrK05lhMO0I4zJB9xzwWg
pNEgbNDCyJKT78FvhSdRAcAgx71oDtWIwSuVMCY4WJGTkFRLS3XMJu9S7eJk
1M638zjga5LprT7cmTKjlb07G2llS3DqkxExwSJ4ru857DqE7RuSR3FvZhRV
fHuIhrLi74C4yRI3+MK8SkcitYKaz0NTc+PInC/mvaAwN0qxs1UpVrudyUKt
WqaaYeHzfxJrX99JMOJxJ01UVBpeC++IH/ms8zMznUluzYjZtiyyipwTvpp8
6MpQmHerTj06eKNyqeU4Peik/woG+ZaYKaLZO0Wthu5K/UjIFJS+mD5uX7ox
6RLFqn9wdXw66vXVVu/D1hVpO61tWrkTUt8e6E6cVHrAaCKqxcmLJ8mqKO+K
fozNrVF46zl3L6pbOQCRndOkjmCc03jAvvqTxNPjkVGohq8hH3y4vmz/dqAz
wCKOTE3tbxYVx5zQ/6m6J2p22WiJyIukiX1u6L2RSafDvuPBZuVkbQGIJn2F
GFY2lVoUt0RTaeE07YSdaYMw1PasuOq5dd+OagYKYUuqdFHy3RxiZWJlicTE
I3RSTO7LTNwlnYY9y/ZGdPX1Ips1HBtm4QXxJiD4sWRwn1YqG0RHxLuzR2Lm
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
l/1//z76RSHrAAA=

-->

</rfc>
