This PR extends BURP with two important new features:
Implemented logic to support rml:XPathReferenceFormulation for iterating XML data using an XPath expression along with a map of XML namespaces and prefixes. With this implementation, test cases like RMLSTC0007d are now supported in BURP. This feature is required for the second feature introduced in this PR
Added support for NETCONF sources as another type of logical source in RML. This extension builds upon the YANG Server ontology, which allows for representing YANG servers and YANG operations. NETCONF RFC 6241 is a network protocol that enables managing YANG servers (e.g., network devices, network controllers) using SSH as the transport protocol and XML as the format for encoding YANG data.
In the integration with RML, the YANG query (ys:Query) operation is identified as the logical source for building the knowledge graph. A YANG query can filter data in YANG server using an XPath expression (with map of namespaces) or an XML subtree. Then with RML, the filtered XML data is iterated using the specified XPath expression (in case of having an XPath filter in the YANG query, the same value of the filter will also be used for the RML iteration over the retrieved XML data).
Please, also note that YANG subscriptions are not supported yet.
An additional comment regarding the support of NETCONF sources is that I have included some example RML mappings in src/test/resources/rml-io/YANG. Note that to execute these tests a NETCONF-enabled server must be available. I'm afraid I'm not familiar with the procedure followed in the W3C KGC for defining test cases. Please, feel free to decide where to place these tests and let me know how to refine them.
Hi,
This PR extends BURP with two important new features:
Implemented logic to support
rml:XPathReferenceFormulation
for iterating XML data using an XPath expression along with a map of XML namespaces and prefixes. With this implementation, test cases likeRMLSTC0007d
are now supported in BURP. This feature is required for the second feature introduced in this PRAdded support for NETCONF sources as another type of logical source in RML. This extension builds upon the YANG Server ontology, which allows for representing YANG servers and YANG operations. NETCONF RFC 6241 is a network protocol that enables managing YANG servers (e.g., network devices, network controllers) using SSH as the transport protocol and XML as the format for encoding YANG data.
In the integration with RML, the YANG query (
ys:Query
) operation is identified as the logical source for building the knowledge graph. A YANG query can filter data in YANG server using an XPath expression (with map of namespaces) or an XML subtree. Then with RML, the filtered XML data is iterated using the specified XPath expression (in case of having an XPath filter in the YANG query, the same value of the filter will also be used for the RML iteration over the retrieved XML data).Please, also note that YANG subscriptions are not supported yet.
An additional comment regarding the support of NETCONF sources is that I have included some example RML mappings in
src/test/resources/rml-io/YANG
. Note that to execute these tests a NETCONF-enabled server must be available. I'm afraid I'm not familiar with the procedure followed in the W3C KGC for defining test cases. Please, feel free to decide where to place these tests and let me know how to refine them.Many thanks!