Internet-Draft An Ontology for RFCs December 2022
Petit-Huguenin Expires 22 June 2023 [Page]
Workgroup:
Network Working Group
Published:
Intended Status:
Experimental
Expires:
Author:
M. Petit-Huguenin
Impedance Mismatch LLC

An Ontology for RFCs

Abstract

This document defines an ontology that describes the specifications published by the RFC Editor, together with ancillary documents.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 22 June 2023.

1. Introduction

This document defines an ontology that describes the specifications published by the RFC Editor, together with ancillary documents like errata and RFC series.

This effort is the continuation of the RFC-Prolog [RFC-Prolog] database that was described in one of the position papers presented at the IAB Workshop on Analyzing IETF Data (AID) [RFC9307]. The schema in that database was simplified and reformulated as an ontology.

Note that for the time being, the file containing the ontology is available in the git repository described in Appendix A.2.

2. The RFC Ontology

The RFC Ontology extends the Bibliographic Ontology [BIBO] and reuse elements from the Friend of a friend [FOAF] and DCMI Metadata Terms [DCTERMS] ontologies.

Table 1
Name bcp
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/bcp
Type property
Label BCP
Comment The BCP this RFC is part of.
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Bcp
Table 2
Name corrects
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/corrects
Type property
Label Corrects
Comment The RFC that this errata corrects.
Subproperty of http://purl.org/ontology/bibo/annotates
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Errata
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Table 3
Name currentStatus
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/currentStatus
Type property
Label Current RFC status
Comment The current status of this RFC.
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/RfcStatus
Table 4
Name errataStatus
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/errataStatus
Type property
Label Errata status
Comment The status of an errata.
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Errata
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/ErrataStatus
Table 5
Name fyi
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/fyi
Type property
Label FYI
Comment The FYI this RFC is part of.
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Fyi
Table 6
Name informativelyReferences
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/informativelyReferences
Type property
Label Informatively References
Comment An informative reference in an RFC.
Subproperty of http://purl.org/ontology/bibo/cites
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Table 7
Name normativelyReferences
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/normativelyReferences
Type property
Label Normatively References
Comment A normative reference in an RFC.
Subproperty of http://purl.org/ontology/bibo/cites
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Table 8
Name obsoletedBy
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/obsoletedBy
Type property
Label Obsoleted By
Comment The RFC that obsoleted this RFC.
Subproperty of http://purl.org/dc/terms/isReplacedBy
Inverse of https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/obsoletes
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Table 9
Name obsoletes
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/obsoletes
Type property
Label Obsoletes
Comment An RFC that this RFC obsoletes.
Subproperty of http://purl.org/dc/terms/replaces
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Table 10
Name processedBy
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/processedBy
Type property
Label Processed by
Comment The person or organization that processed that errata.
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Errata
Range Includes http://xmlns.com/foaf/0.1/Agent
Table 11
Name publicationStatus
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/publicationStatus
Type property
Label RFC publication status
Comment The status of this RFC at the time it was published.
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/RfcStatus
Table 12
Name reportedBy
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/reportedBy
Type property
Label Reported by
Comment The person or organization that reported that errata.
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Errata
Range Includes http://xmlns.com/foaf/0.1/Agent
Table 13
Name std
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/std
Type property
Label STD
Comment The STD this RFC is part of.
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Std
Table 14
Name stream
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/stream
Type property
Label RFC stream
Comment The stream that approved that RFC.
Table 15
Name type
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/type
Type property
Label Errata type
Comment The type of the errata.
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Errata
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/ErrataType
Table 16
Name updatedBy
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/updatedBy
Type property
Label Updated By
Comment An RFC that this RFC updated.
Inverse of https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/updates
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Table 17
Name updates
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/updates
Type property
Label Updates
Comment An RFC that this RFC updates.
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Range Includes https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Table 18
Name area
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/area
Type datatype
Label IETF area
Comment The IETF area that produced that RFC.
Range Includes http://www.w3.org/2001/XMLSchema#string
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Table 19
Name initials
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/initials
Type datatype
Label Initials
Comment The initials of an author of an RFC.
Range Includes http://www.w3.org/2000/01/rdf-schema#Literal
Has Domain http://xmlns.com/foaf/0.1/Person
Table 20
Name keyword
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/keyword
Type datatype
Label RFC keyword
Comment One of the keywords of an RFC. See https://www.ietf.org/topics/keywords/.
Range Includes http://www.w3.org/2001/XMLSchema#string
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Table 21
Name processedOn
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/processedOn
Type datatype
Label Processed on
Comment The date this errata was processed.
Subproperty of http://purl.org/dc/terms/date
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Errata
Table 22
Name reportedOn
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/reportedOn
Type datatype
Label Reported on
Comment The date this errata was repported.
Subproperty of http://purl.org/dc/terms/date
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Errata
Table 23
Name wg
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/wg
Type datatype
Label IETF WG
Comment The IETF Working Group that produced that RFC.
Range Includes http://www.w3.org/2001/XMLSchema#string
Has Domain https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Table 24
Name Bcp
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Bcp
Type class
Label BCP
Comment The Best Current Pratice (BCP) series of RFCs.
subClassOf http://purl.org/ontology/bibo/Series
Table 25
Name Errata
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Errata
Type class
Label RFC errata
Comment An errata for an RFC, published by the RFC Editor at https://www.rfc-editor.org/errata.php.
subClassOf http://purl.org/ontology/bibo/Note
Table 26
Name ErrataStatus
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/ErrataStatus
Type class
Label RFC Errata Status
Comment The current status of an RFC errata.
Table 27
Name ErrataType
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/ErrataType
Type class
Label RFC Errata Type
Comment The type of errata published by the RFC Editor.
Table 28
Name Fyi
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Fyi
Type class
Label FYI
Comment The For Your Information (FYI) series of RFCs.
subClassOf http://purl.org/ontology/bibo/Series
Table 29
Name Rfc
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Rfc
Type class
Label IETF RFC
Comment A document published by the RFC Editor at https://www.rfc-editor.org/.
subClassOf http://purl.org/ontology/bibo/Standard
Table 30
Name RfcStatus
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/RfcStatus
Type class
Label RFC Status
Comment The status of an RFC.
Table 31
Name Std
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Std
Type class
Label STD
Comment The Standard (STD) series of RFCs.
subClassOf http://purl.org/ontology/bibo/Series
Table 32
Name Stream
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Stream
Type class
Label RFC Stream
Comment The community, known as "stream", that originated an RFC. See https://www.rfc-editor.org/info/rfc8729.
Table 33
Name bestCurrentPractice
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/bestCurrentPractice
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/RfcStatus
Label Best Current Practice RFC status
Comment An RFC that standardizes practices and the results of community deliberations.
Table 34
Name draftStandard
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/draftStandard
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/RfcStatus
Label Draft Standard RFC status
Comment The status of an RFC from which at least two independent and interoperable implementations from different code bases have been developed, and for which sufficient successful operational experience has been obtained.
Table 35
Name editorial
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/editorial
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/ErrataType
Label Editorial errata
Comment A spelling, grammar, punctuation, or syntax error in an RFC. See https://www.rfc-editor.org/errata-definitions/.
Table 36
Name editorialStream
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/editorialStream
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Stream
Label Editorial stream
Comment RFC approved by the editorial stream editor.
Table 37
Name experimental
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/experimental
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/RfcStatus
Label Experimental RFC status
Comment An RFC that is part of some research or development effort. See https://www.rfc-editor.org/info/rfc2026.
Table 38
Name held
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/held
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/ErrataStatus
Label Held status
Comment Status of an errata held for a future document update. See https://www.rfc-editor.org/errata-definitions/.
Table 39
Name historic
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/historic
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/RfcStatus
Label Historic RFC status
Comment An RFC that has been superseded by a more recent specification or is for any other reason considered to be obsolete.
Table 40
Name iabStream
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/iabStream
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Stream
Label IAB stream
Comment RFC approved by the IAB. See https://www.rfc-editor.org/info/rfc4845.
Table 41
Name ietfStream
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/ietfStream
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Stream
Label IETF stream
Comment RFC approved by the IETF. See https://www.rfc-editor.org/info/rfc2026 and successors.
Table 42
Name independentStream
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/independentStream
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Stream
Label Independent stream
Comment RFC approved by the independent editor. See https://www.rfc-editor.org/info/rfc2026.
Table 43
Name informational
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/informational
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/RfcStatus
Label Informational RFC status
Comment An RFC that is published for the general information of the Internet community, and does not represent an Internet community consensus or recommendation.
Table 44
Name internetStandard
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/internetStandard
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/RfcStatus
Label Internet Standard RFC status
Comment An RFC for which significant implementation and successful operational experience has been obtained.
Table 45
Name irtfStream
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/irtfStream
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/Stream
Label IRTF stream
Comment RFC approved by the IRTF. See https://www.rfc-editor.org/info/rfc5743.
Table 46
Name proposedStandard
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/proposedStandard
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/RfcStatus
Label Proposed Standard RFC status
Comment An RFC that is generally stable, has resolved known design choices, is believed to be well-understood, has received significant community review, and appears to enjoy enough community interest to be considered valuable.
Table 47
Name rejected
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/rejected
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/ErrataStatus
Label Rejected status
Comment The status of an RFC errata that has been rejected as invalid. See https://www.rfc-editor.org/errata-definitions/.
Table 48
Name reported
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/reported
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/ErrataStatus
Label Reported status
Comment The initial status of an RFC errata. See https://www.rfc-editor.org/errata-definitions/.
Table 49
Name technical
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/technical
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/ErrataType
Label Technical errata
Comment An error in the technical content of an RFC. See https://www.rfc-editor.org/errata-definitions/.
Table 50
Name verified
URI https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/verified
Type https://datatracker.ietf.org/doc/draft-petithuguenin-rfc-ontology-00/ErrataStatus
Label Verified status
Comment The status of an RFC errata that has been verified as being correct. See https://www.rfc-editor.org/errata-definitions/.

3. IANA Considerations

No IANA considerations in this document.

4. Security Considerations

The information in that document are derived from publicly available databases, so they do not present more security risk.

5. Informative References

[BIBO]
D'Arcus, B., Giasson, F., and DCMI Usage Board, "Bibliographic Ontology", , <https://www.dublincore.org/specifications/bibo/>.
[DCTERMS]
DCMI Usage Board, "DCMI Metadata Terms", , <https://www.dublincore.org/specifications/dublin-core/dcmi-terms/>.
[Flora-2]
Department of Computer Science Stony Brook University, "Knowledge Representation Reasoning with Flora-2", , <https://flora.sourceforge.net>.
[FOAF]
Brickley, D. and L. Miller, "FOAF Vocabulary Specification 0.99", , <https://web.archive.org/web/20220518003509/http://xmlns.com/foaf/spec/20140114.html>.
[RFC-Prolog]
Petit-Huguenin, M., "The RFC Prolog Database", , <https://www.iab.org/wp-content/IAB-uploads/2021/11/Petit-Huguenin.txt>.
[RFC9307]
ten Oever, N., Cath, C., Kühlewind, M., and C. S. Perkins, "Report from the IAB Workshop on Analyzing IETF Data (AID) 2021", RFC 9307, DOI 10.17487/RFC9307, , <https://www.rfc-editor.org/info/rfc9307>.

Appendix A. Implementation

An implementation of the RFC ontology using the programming language Flora-2 [Flora-2] is provided.

The "rfcs.flr" file contains the list of all RFCs, BCPs, STDs, and FYIs.

The following example shows an RFC metadata encoded in Flora-2:

\"https://www.rfc-editor.org/info/rfc9306":rfc#Rfc
  [ rfc#number -> 9306
  , terms#title ->
'Vendor-Specific LISP Canonical Address Format (LCAF)'
  , terms#creator -> {\#1, \#2, \#3, \#4, \#5}
  , bibo#authorList -> [\#1, \#2, \#3, \#4, \#5]
  , terms#date -> '2022-10'
  , terms#format ->
{'text/html', 'text/plain', 'application/pdf', 'text/xml'}
  , rfc#keyword -> {'lisp', 'lcaf', 'internal', 'domain',
'organization', 'private'}
  , bibo#abstract -> 'This document describes a ...'
  , terms#isVersionOf ->
\"https://datatracker.ietf.org/doc/draft-ietf-lisp-vendor-lcaf-12"
  , rfc#updates -> {\"https://www.rfc-editor.org/info/rfc8060"}
  , rfc#publicationStatus -> rfc#experimental
  , rfc#currentStatus -> rfc#experimental
  , rfc#stream -> rfc#ietf
  , rfc#area -> 'rtg'
  , rfc#wg -> 'lisp'
  , bibo#doi -> '10.17487/RFC9306'
  , rfc#normativelyReferences ->
    { \"https://ieeexplore.ieee.org/document/6847097"
    , \"https://www.rfc-editor.org/info/rfc2119"
    , \"https://www.rfc-editor.org/info/rfc8060"
    , \"https://www.rfc-editor.org/info/rfc8126"
    , \"https://www.rfc-editor.org/info/rfc8174"
    , \"https://www.rfc-editor.org/info/rfc9300"
    , \"https://www.rfc-editor.org/info/rfc9301"
    }
    ]
  , \#1:foaf#Person
    [ foaf#name -> 'Alberto Rodriguez-Natal'
    , foaf#familyName -> 'Rodriguez-Natal'
    , rfc#initials -> 'A.'
    ]
  , \#2:foaf#Person
    [ foaf#name -> 'Vina Ermagan'
    , foaf#familyName -> 'Ermagan'
    , rfc#initials -> 'V.'
    ]
  , \#3:foaf#Person
    [ foaf#name -> 'Anton Smirnov'
    , foaf#familyName -> 'Smirnov'
    , rfc#initials -> 'A.'
    ]
  , \#4:foaf#Person
    [ foaf#name -> 'Vrushali Ashtaputre'
    , foaf#familyName -> 'Ashtaputre'
    , rfc#initials -> 'V.'
    ]
  , \#5:foaf#Person
    [ foaf#name -> 'Dino Farinacci'
    , foaf#familyName -> 'Farinacci'
    , rfc#initials -> 'D.'
    ]
  .

Comments on some non-obvious encoding:

  • "terms#creator" contains the set of authors. This uses a Skolem symbol to represents the fact that we do not have a resource for the person, but we want to define it only once (equivalent to a blank node). The mathematically inclined can think of this as an existential quantifier ("there exists a person named...​").
  • "terms#editor", not present in this example, would contain the set of editors.
  • "bibo#authorList" contains the ordered list of all authors and editors.
  • "rfc#normativelyReferences" or "rfc#informativeReferences" are difficult to parse in RFCs that were not published in xml2rfc format, so this is currently work in progress.

The following example shows a BCP encoded in Flora-2:

\"https://www.rfc-editor.org/info/bcp0003":rfc#Bcp
  [ rfc#number -> 3
  , bibo#hasPart ->
    { \"https://www.rfc-editor.org/info/rfc1915"
    }
  ].

STD and FYI are encoded similarly, substituting respectively "rfc#Std" and "rfc#Fyi" to "rfc#Bcp".

The "errata.flr" file contains the list of all Errata.

The following example shows an Errata encoded in Flora-2:

\"https://www.rfc-editor.org/errata/eid5866":rfc#Errata
  [ rfc#id -> 5866
  , rfc#corrects -> \"https://www.rfc-editor.org/info/rfc0005"
  , rfc#type -> rfc#editorial
  , rfc#status -> rfc#verified
  , rfc#reportedBy -> \#:foaf#Person[foaf#name -> 'Martin Thomson']
  , rfc#reportedOn -> "2019-09-26"^^\date
  , rfc#processedBy -> \#:foaf#Person[foaf#name -> 'Benjamin Kaduk']
  , rfc#processedOn -> "2019-09-26"^^\date
  ].

A.1. Examples of Queries

The examples that follow can be executed in the Flora-2 REPL ("runflora" or "runflora.bat").

The files must be loaded after starting the REPL:

[schema,+rfcs,+errata].

Note that loading the files should take a minute the first time, but around one second after that. Queries should not take more than a few hundred milliseconds to run.

Listing all the April Fools's Day RFCS:

?:rfc#Rfc[rfc#number -> ?rfc, terms#date -> ?_d],
  ?_d[endsWith('-04-01')]@\btp.

Listing all the RFCs that cites RFC 5234, normatively or informatively:

?_abnf:rfc#Rfc[rfc#number -> 5234], ?:rfc#Rfc[bibo#cites -> ?_abnf,
  rfc#number -> ?rfc, terms#title -> ?rfc].

More examples will be provided in future versions of this draft. Suggestions are welcome.

A.2. Distribution

The files are distributed as a git repository that can be cloned with the following command:

git clone git://shalmaneser.org/VejlapAknul1 rfc-ontology-flora2

This git repository is mirrored in various locations over the world, with the GPS coordinates in decimal degrees of all these locations stored in the DNS as a TXT resource record. The "dig +dnssec txt shalmaneser.org" command can be used to find these locations and substitute the closest subdomain in the git URL above.

The git repository is updated most Mondays before 23:59:59 UTC with a new commit that covers new RFCs, Errata, or changes in status. The date of the next planned update is added of the comment of each commit.

The "update" script that is used to update the files is distributed in the git repository, so they these files can be updated in case the current maintainer is unable to do so. The list of tools to install prior to running the script is in that script.

The code in that repository is licensed under an AGPL3+ license.

Acknowledgements

Thanks to John Levine and Robert Sparks for their help in gathering the information used for populating the knowledge graphs.

Author's Address

Marc Petit-Huguenin
Impedance Mismatch LLC