[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-seo-657502-105":3,"detail-sidebar-cat-0-en-105":80,"doc-detail-657502-en":130},{"code":4,"msg":5,"data":6},0,"ok",{"site_id":7,"language":8,"slug":9,"title":10,"keywords":11,"description":12,"schema_data":13,"social_meta":73,"head_meta":75,"extra_data":77,"updated_unix":79},105,"en","rmldoc-documenting-mapping-rules-for-knowledge-graph-construction","RMLdoc - Documenting Mapping Rules for Knowledge Graph Construction","","RMLdoc is a Python package that generates detailed, human-readable Markdown documentation for knowledge graph mappings expressed in R2RML, RML, or YARRRML. It converts and validates mapping inputs, extracts key metadata, namespaces, and mapping rule sets, and structures the results into documentation using templates. Diagrams illustrating triples and joins are automatically produced with Mermaid, improving maintainability, comprehension, and proper attribution of mapping rules.",{"@graph":14,"@context":72},[15,34,55],{"@type":16,"itemListElement":17},"BreadcrumbList",[18,23,27,31],{"item":19,"name":20,"@type":21,"position":22},"https://docshare.wps.com","Home","ListItem",1,{"item":24,"name":25,"@type":21,"position":26},"https://docshare.wps.com/document/","Document",2,{"item":28,"name":29,"@type":21,"position":30},"https://docshare.wps.com/document/research-report/","Research & Report",3,{"item":32,"name":10,"@type":21,"position":33},"https://docshare.wps.com/document/rmldoc-documenting-mapping-rules-for-knowledge-graph-construction/657502/",4,{"url":32,"name":10,"@type":35,"image":36,"author":41,"headline":10,"publisher":44,"fileFormat":47,"inLanguage":8,"description":12,"dateModified":48,"datePublished":49,"encodingFormat":47,"isAccessibleForFree":50,"interactionStatistic":51},"DigitalDocument",{"url":37,"@type":38,"width":39,"height":40},"https://docshare.wps.com/thumbnails/rmldoc-documenting-mapping-rules-for-knowledge-graph-construction/657502.png","ImageObject",300,407,{"name":42,"@type":43},"Finn","Person",{"url":19,"name":45,"@type":46},"DocShare","Organization","application/pdf","2026-10-30","2026-10-26",true,{"@type":52,"interactionType":53,"userInteractionCount":26},"InteractionCounter",{"@type":54},"ViewAction",{"@type":56,"mainEntity":57},"FAQPage",[58,64,68],{"name":59,"@type":60,"acceptedAnswer":61},"What is RMLdoc and what does it generate?","Question",{"text":62,"@type":63},"RMLdoc generates human-readable documentation in Markdown for knowledge graph mapping rules. It explains each mapping and includes visual diagrams for triples and joins.","Answer",{"name":65,"@type":60,"acceptedAnswer":66},"Which mapping languages are supported by RMLdoc?",{"text":67,"@type":63},"RMLdoc supports mappings described in R2RML, RML, and YARRRML. YARRRML inputs are first translated into RML before further processing.",{"name":69,"@type":60,"acceptedAnswer":70},"How does RMLdoc build the documentation from an input mapping?",{"text":71,"@type":63},"It processes the mapping as an RDF graph, validates for grammar issues, queries for metadata/namespaces/rule sets, and then serializes structured results into a Markdown document using templates. Mermaid diagrams accompany documented triples and join conditions.","https://schema.org",{"og:url":32,"og:type":74,"og:title":10,"og:site_name":45,"og:description":12},"article",{"robots":76,"canonical":32},"index,follow",{"doc_id":78,"site_id":7},657502,1793073343,{"code":4,"msg":81,"data":82},"success",[83,87,91,95,100,105,110,114,119,122,126],{"id":22,"doc_module":4,"doc_module_name":25,"category_name":84,"show_sort_weight":85,"slug":86},"Story & Novel",90,"story-novel",{"id":26,"doc_module":4,"doc_module_name":25,"category_name":88,"show_sort_weight":89,"slug":90},"Literature",80,"literature",{"id":33,"doc_module":4,"doc_module_name":25,"category_name":92,"show_sort_weight":93,"slug":94},"Exam",70,"exam",{"id":96,"doc_module":4,"doc_module_name":25,"category_name":97,"show_sort_weight":98,"slug":99},5,"Comic",60,"comic",{"id":101,"doc_module":4,"doc_module_name":25,"category_name":102,"show_sort_weight":103,"slug":104},6,"Technology",50,"technology",{"id":106,"doc_module":4,"doc_module_name":25,"category_name":107,"show_sort_weight":108,"slug":109},7,"Healthcare",40,"healthcare",{"id":111,"doc_module":4,"doc_module_name":25,"category_name":29,"show_sort_weight":112,"slug":113},8,30,"research-report",{"id":115,"doc_module":4,"doc_module_name":25,"category_name":116,"show_sort_weight":117,"slug":118},9,"Religion & Spirituality",20,"religion-spirituality",{"id":117,"doc_module":4,"doc_module_name":25,"category_name":120,"show_sort_weight":117,"slug":121},"World Cup","world-cup",{"id":123,"doc_module":4,"doc_module_name":25,"category_name":124,"show_sort_weight":123,"slug":125},10,"Lifestyle","lifestyle",{"id":127,"doc_module":4,"doc_module_name":25,"category_name":128,"show_sort_weight":96,"slug":129},19,"General","general",{"code":4,"msg":81,"data":131},{"doc_id":78,"user_id":132,"nickname":42,"user_avatar":133,"doc_module":4,"category_id":111,"category_name":29,"doc_title":10,"doc_description":12,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":26,"is_deleted":4,"is_public":22,"is_downloadable":22,"audit_status":22,"page_count":96,"language":139,"language_code":8,"site_id":7,"html_lang":8,"table_of_contents":140,"faqs":141,"seo_title":142,"seo_description":12,"update_tm":143,"read_time":144},34359740700684,"https://ap-avatar.wpscdn.com/avatar/1f400023980c374ae676?_k=1777273430885731487","RMLdoc: Documenting Mapping Rules for Knowledge Graph Construction  \nJhon Toledo 1, Ana Iglesias-Molina 1, David Chaves-Fraga2, and  \nDaniel Garijo 1  \n1 Ontology Engineering Group, Universidad Polit´ecnica de Madrid, Spain  \n{ja.toledo,ana.iglesiasm,[daniel.garijo](daniel.garijo}@upm.es)[}](daniel.garijo}@upm.es)[@upm.es](daniel.garijo}@upm.es)  \n2 Grupo de Sistemas Intelixentes, Universidade de Santiago de Compostela, Spain  \ndavid .chaves@usc .es  \nAbstract. In this demo we present RMLdoc, a Python package designed to generate documentation for RML mappings when constructing knowledge graphs from heterogeneous sources. Given an input mapping file written in R2RML, RML, or YARRRML, RMLdoc will generate a detailed Markdown documentation explaining each mapping with corresponding diagrams, in a human readable manner. Thanks to RMLdoc, we aim to shed light in the knowledge graph construction process, making mappings easier to maintain and understand by knowledge engineers.  \nCode repository: [https://github.com/oeg-upm/rmldoc/](https://github.com/oeg-upm/rmldoc/)  \nDemo: [https://w3id.org/rmldoc/example](https://w3id.org/rmldoc/example)  \nKeywords: Documentation · Knowledge Graph Construction · RML.  \n1 Introduction  \nKnowledge Graphs (KGs) are commonly constructed by transforming a set of heterogeneous data sources (e.g., CSV, JSON files) into RDF graphs. These transformations are performed by relating all input sources with the target ontology terms, and can be described using declarative mapping languages such asthe W3C recommendation R2RML3 or its widely adopted extension RML [7] . Institutions such as the European Railway Agency4 or the European Commission (e.g. , in the EU Public Procurement Data Space5 ) describe their transformations using these languages in some of their projects.  \nKnowledge engineers are usually responsible for developing the mapping rules needed to construct KGs. In many cases, these engineers rely on graphical interfaces (e.g, RMLEditor [5]) and human-friendly serializations like YARRRML [4] or Mapeathor [6] to aid them in the creation of mapping rules. However, the mapping documents resultant from these efforts are, in many cases, complex and hard to interpret, which reduces their reusability by other engineers. Furthermore, there is a lack of tools to generate a comprehensive and human-readable  \n3 [https://www.w3.org/TR/r2rml/](https://www.w3.org/TR/r2rml/)  \n4 [https://data-interop.era.europa.eu/](https://data-interop.era.europa.eu/)  \n5 [https://europa.eu/](https://europa.eu/) ! qx9WxQ  \n2 Toledo et al.  \ndocumentation of mapping rules. This situation delegates mappings as secondclass resources in the KG development process, without documentation (scattered comments in the mapping document at most) or essential metadata (e.g. , version, creators, license) .  \nIn this paper, we present RMLdoc [8],6 an open source Python package designed to create a human-readable documentation of the mapping rules used to construct a Knowledge Graph. RMLdoc supports mapping rules described in R2RML, RML, and YARRRML, helping practitioners better understand the relationships between the original data sources and the ontology terms. To the best of our knowledge, this is the first approach that proposes the generation of human-readable mapping documentation. RMLdoc takes one step closer towards completing technological support for KG-driven ecosystems.  \n2 Mapping Documentation with RMLdoc  \nRMLdoc processes R2RML, RML and YARRRML mappings to generate a human-readable documentation as follows:  \nMapping upload and processing. The tool takes as input an existing mapping written in R2RML, RML or YARRRML. The mappings documents are processed as RDF graphs. In the case of receiving YARRRML, these mappings are first translated into RML using Yatter.7 Then, mappings are validated to check for grammar errors, and next they are loaded internally as a graph. RMLdoc supports both the original proposal of RML [3] and the spe","cbCaiefRVLuwie4L","https://ap.wps.com/l/cbCaiefRVLuwie4L","pdf",702221,"English","# Introduction\n# Mapping Documentation with RMLdoc\n## Mapping upload and processing\n## Querying and information extraction\n## Serialization and writing","[{\"question\":\"What is RMLdoc and what does it generate?\",\"answer\":\"RMLdoc generates human-readable documentation in Markdown for knowledge graph mapping rules. It explains each mapping and includes visual diagrams for triples and joins.\"},{\"question\":\"Which mapping languages are supported by RMLdoc?\",\"answer\":\"RMLdoc supports mappings described in R2RML, RML, and YARRRML. YARRRML inputs are first translated into RML before further processing.\"},{\"question\":\"How does RMLdoc build the documentation from an input mapping?\",\"answer\":\"It processes the mapping as an RDF graph, validates for grammar issues, queries for metadata/namespaces/rule sets, and then serializes structured results into a Markdown document using templates. Mermaid diagrams accompany documented triples and join conditions.\"}]","RMLdoc - Documenting Mapping Rules for Knowledge Graph Construction | PDF",1792981480,13]