<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">OWL2Gen: Towards a Configurable Ontology Generator for Benchmarking</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Gunjan</forename><surname>Singh</surname></persName>
							<email>gunjans@iiitd.ac.in</email>
							<affiliation key="aff0">
								<orgName type="department">Knowledgeable Computing and Reasoning Lab</orgName>
								<orgName type="institution">IIIT-Delhi</orgName>
								<address>
									<country key="IN">India</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ashwat</forename><surname>Kumar</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Knowledgeable Computing and Reasoning Lab</orgName>
								<orgName type="institution">IIIT-Delhi</orgName>
								<address>
									<country key="IN">India</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Sumit</forename><surname>Bhatia</surname></persName>
							<email>sumit.bhatia@adobe.com</email>
							<affiliation key="aff1">
								<orgName type="institution">Adobe Research</orgName>
								<address>
									<settlement>New Delhi</settlement>
									<country key="IN">India</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Raghava</forename><surname>Mutharaju</surname></persName>
							<email>raghava.mutharaju@iiitd.ac.in</email>
							<affiliation key="aff0">
								<orgName type="department">Knowledgeable Computing and Reasoning Lab</orgName>
								<orgName type="institution">IIIT-Delhi</orgName>
								<address>
									<country key="IN">India</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">OWL2Gen: Towards a Configurable Ontology Generator for Benchmarking</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">B087071BC53C4F09B614A4BBA8E0BBAA</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T18:56+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>OWL 2</term>
					<term>Ontology Generator</term>
					<term>Ontology Reasoner</term>
					<term>Benchmarking</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Recent advancements in OWL 2 reasoners have significantly enhanced their capabilities. However, scaling challenges persist, especially with expressive profiles such as OWL 2 DL. Effective benchmarking is essential to address these challenges. We discuss our effort towards establishing a configurable ontology generator, OWL2Gen, that empowers users to custom-build benchmark ontologies by specifying the types of axioms they need and their respective counts. With a user-friendly interface that lists all OWL 2 constructs, OWL2Gen offers an adaptable approach to ontology generation, facilitating more detailed and nuanced performance evaluations. The code and documentation are available under the Apache 2.0 License at https://github.com/kracr/owl2gen.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>In the past decade, there has been remarkable progress in the development of reasoners that support expressive ontology languages such as OWL 2. Despite the advancements, OWL 2 reasoners still struggle to scale well, especially for expressive language profiles like OWL 2 DL <ref type="bibr" target="#b0">[1]</ref>. To build high-quality reasoners, developers need to identify and improve performance bottlenecks in their existing systems. A reasoner benchmark aids developers in evaluating their system's performance, addressing limitations, and paving the way for further research to enhance performance and functionality. In particular, a reasoner needs to be evaluated from several aspects, such as (a) Coverage, i.e., support for different OWL 2 language constructs and their combinations, as well as support for various OWL 2 profiles (EL, QL, and RL) <ref type="bibr" target="#b1">[2]</ref>; (b) Scalability, i.e., the ability to handle large and expressive ontologies; (c) Performance, i.e., evaluation under constraints such as reasoning time and memory consumption.</p><p>Current benchmarks, such as LUBM <ref type="bibr" target="#b2">[3]</ref>, UOBM <ref type="bibr" target="#b3">[4]</ref>, and OWL2Bench <ref type="bibr" target="#b4">[5]</ref>, offer a certain degree of flexibility but remain limited in scope. They allow users to assess reasoner performance by generating ABoxes of varying sizes while the TBox remains fixed. OntoBench <ref type="bibr" target="#b5">[6]</ref> provides a web interface for selecting OWL 2 constructs but lacks comprehensive scalability and performance evaluation. PyGraft <ref type="bibr" target="#b6">[7]</ref> generates domain-agnostic ontologies but does not cover all OWL 2 constructs.</p><p>To address these limitations, we present our configurable Ontology Generator, OWL2Gen. Inspired by OntoBench, we provide an interface that allows users to select and specify both the choice of constructs and their individual counts, facilitating the generation of custom-built ontologies. It leverages existing OWL 2 DL TBoxes to generate ontologies, providing a practical evaluation scenario. OWL2Gen's user-friendly interface simplifies ontology creation, making it accessible to users with varying levels of familiarity with OWL.</p><p>In the following sections, we describe OWL2Gen's methodology and outline our plans for future enhancements, aiming to expand its capabilities for comprehensive and enhanced benchmarking of OWL 2 reasoners.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">OWL2Gen</head><p>OWL2Gen is a user-friendly application designed for flexible and configurable ontology generation. The frontend, detailed in Section 2.1, is developed using HTML, CSS, and JavaScript, and it interacts with a Java-based backend through a REST interface. The backend, outlined in Section 2.2, is implemented using the Spring Framework and utilizes the OWL API<ref type="foot" target="#foot_0">1</ref> to create customized ontologies.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Graphical User Interface (GUI)</head><p>The graphical interface of OWL2Gen is designed for simplicity and efficiency, catering to users with varying levels of expertise to easily generate customized ontologies. As shown in Figure <ref type="figure" target="#fig_0">1</ref>, the main interface features a configuration panel that lists all OWL 2 constructs, grouped into eight distinct categories according to the OWL 2 Quick Reference Guide<ref type="foot" target="#foot_1">2</ref> . This structure mirrors the one used in OntoBench. The categories are arranged within frames in the GUI, and predefined buttons allow users to quickly select presets, such as choosing all elements within a specific category.</p><p>Once the user selects the desired OWL 2 constructs, they can specify the quantity needed for each selected construct. After configuring the desired settings, the user can click the "Generate" button. At this point, OWL2Gen communicates with the backend via the REST API, where the user's configuration is processed and transformed into a fully functional ontology.</p><p>OWL2Gen supports various OWL serialization formats, making it adaptable to various applications and system requirements. Users can select their preferred serialization format from a drop-down menu, which includes all formats supported by the OWL API, which currently include Turtle, Manchester, Functional, OWL/XML, and RDF/XML.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Methodology</head><p>The methodology leverages existing OWL 2 DL TBoxes to generate ontologies, allowing users to either provide their own input ontologies or use the default ones provided. In this approach, we first create separate buckets for each OWL 2 construct, all initially empty. Once the user selects the input base ontologies, axioms belonging to different constructs are sorted into the corresponding buckets. For example, axioms like Faculty ⊑ ∃ worksFor.College would be placed in the existential restriction bucket. These axioms serve as the foundation for generating new ontologies. If the user selects existential restriction, axioms from this bucket will be picked for inclusion in the new ontology.</p><p>If the required count for a construct is less than or equal to the available axioms, they are used directly. However, if the required count exceeds the number of axioms in the bucket, new axioms are generated by replacing term(s) in the original axiom. For instance, introducing a new class Faculty_1 can lead to generating an axiom like Faculty_1 ⊑ ∃worksFor.College. This approach ensures consistency and readability by aligning the naming conventions with the original vocabulary. The decision on which terms to replace is influenced by factors such as maximizing class reuse and ensuring sufficient connections between entities to avoid unnecessary new classes. Our generation pipeline leverages data structures that rank potential axioms based on the usage frequency of the entities involved in the axiom and the interconnections among them so far. These structures are consulted before generating new axioms, optimizing class and property reuse while maintaining complex connections. Additionally, we introduce some randomness into the process, such as determining whether Faculty and Faculty_1 should both be subclasses of Employee or if they should be subclasses of Employee and Employee_1, respectively.</p><p>Since we rely on an existing input TBox, some axioms may include related hierarchical or domain/range axioms. For example, alongside Faculty ⊑ ∃worksFor.College, additional axioms such as Faculty ⊑ Employee, College ⊑ University, and University ⊑ Organization might be relevant. To account for this, we provide users the option to retain these hierarchical and domain/range connections in the generated ontology, ensuring a more complete and coherent structure that better reflects real-world relationships and reasoning scenarios.</p><p>Furthermore, while reasoners may handle one set of axioms generated for certain constructors efficiently, a different set of axioms with the same constructors could cause computational blow-ups due to unforeseen interactions. To address this variability, we generate four distinct ontologies in each run. Given that each constructor's bucket contains multiple axioms, this approach enables the creation of varied ontologies. Further details on the approach and design choices are available in the documentation at https://github.com/kracr/owl2gen.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3.">Use Case Scenarios</head><p>The OWL2Gen ontology generator presents many use cases that significantly enhance research and practical applications in ontology engineering. The key application lies in benchmarking various ontology reasoning systems, including conventional and emerging neuro-symbolic reasoners. Since, the generation algorithm leverages an input ontology, users can generate ontologies in two ways: first, by applying the same set of OWL 2 constructs to the same input ontology, and second, by using the same constructs across different input ontologies. This results in ontologies with varying structural characteristics, even with identical constructs. Researchers can compare these generated ontologies and observe how they exhibit different performance characteristics, highlighting the impact on reasoning efficiency. Additionally, users can generate ontologies by gradually increasing the count of individual constructs or combinations of constructs. This iterative process helps in systematically identifying bottlenecks in reasoning performance.</p><p>Further, the generator allows users to create ontologies that range from simple structures with fewer axioms to more complex designs with intricate relationships. This variation enables researchers to investigate specific cases where smaller ontologies, despite their simplicity, may challenge reasoning engines due to unexpected complexities in their design. Conversely, larger ontologies, which are often more structured, can demonstrate faster reasoning times, providing insights into how these systems handle scalability and efficiency.</p><p>Moreover, the configurable nature of OWL2Gen enables users to produce ontologies tailored to the unique requirements of neuro-symbolic reasoners, which integrate neural networks with symbolic reasoning. By generating ontologies that reflect the particular demands of neurosymbolic tasks, users can explore how these systems respond to different structural designs and reasoning scenarios.</p><p>Additionally, OWL2Gen enhances the benchmarking of visualization tools by providing a rich variety of generated ontologies that can be used to assess and compare their effectiveness. By creating ontologies with diverse structures and complexities, researchers can evaluate how well different visualization platforms represent intricate relationships and semantics. This process not only helps identify the strengths and weaknesses of visualization tools but also drives improvements in their design. For beginners, OWL2Gen offers a user-friendly interface to experiment with various ontology configurations and understand their implications. In sensitive domains, it can simulate ontologies that meet specific regulatory requirements, enabling safe and compliant exploration of data relationships. This multifaceted utility positions OWL2Gen as a vital asset for academic research and practical applications across diverse fields.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Conclusion and Future Work</head><p>In this paper, we present our initial efforts to develop a configurable ontology generator that supports all OWL 2 language constructs. Currently, our tool enables the generation of scalable ontologies based on input TBoxes; however, it requires users to provide a complete TBox with all necessary constructs upfront, which limits flexibility for various applications. To address this limitation, we are working on a more general approach to enhance the tool's usability. Our vision is to create a configurable ontology generator that dynamically adapts to varying input requirements without needing a fully predefined TBox. We also plan to expand support for various OWL 2 profiles (EL, QL, RL) to ensure compliance with syntactic and semantic constraints. Additionally, we aim to support incremental ontology building, allowing users to start with basic constructs and progressively add complexity based on insights from an integrated visualization tool, which will provide users with valuable insights into the generated ontology's complexity.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: The configuration panel of OWL2Gen. Each construct includes a checkbox and an input field for specifying the count. Users can also select all constructs within a category or choose to select all the OWL 2 constructs from the top.</figDesc><graphic coords="3,89.29,84.19,416.69,195.50" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">https://owlapi.sourceforge.net/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">https://www.w3.org/TR/2012/REC-owl2-quick-reference-20121211/</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Owl 2 web ontology language primer</title>
		<author>
			<persName><forename type="first">P</forename><surname>Hitzler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Krötzsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Parsia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">F</forename><surname>Patel-Schneider</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Rudolph</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">W3C recommendation</title>
		<imprint>
			<biblScope unit="volume">27</biblScope>
			<biblScope unit="page">123</biblScope>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">OWL 2 profiles: An introduction to lightweight ontology languages</title>
		<author>
			<persName><forename type="first">M</forename><surname>Krötzsch</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-642-33158-9_4</idno>
		<ptr target="https://doi.org/10.1007/978-3-642-33158-9_4.doi:10.1007/978-3-642-33158-9\_4" />
	</analytic>
	<monogr>
		<title level="m">Reasoning Web. Semantic Technologies for Advanced Query Answering -8th International Summer School 2012</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><surname>Krennwallner</surname></persName>
		</editor>
		<meeting><address><addrLine>Vienna, Austria</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2012">September 3-8, 2012. 2012</date>
			<biblScope unit="volume">7487</biblScope>
			<biblScope unit="page" from="112" to="183" />
		</imprint>
	</monogr>
	<note>Proceedings</note>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">LUBM: A Benchmark for OWL Knowledge Base Systems</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Guo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Pan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Heflin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Web Semantics</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="page" from="158" to="182" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Towards a Complete OWL Ontology Benchmark</title>
		<author>
			<persName><forename type="first">L</forename><surname>Ma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Yang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Qiu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Xie</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Pan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Liu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Semantic Web: Research and Applications</title>
				<meeting><address><addrLine>Berlin Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="125" to="139" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">OWL2Bench: A Benchmark for OWL 2 Reasoners</title>
		<author>
			<persName><forename type="first">G</forename><surname>Singh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Bhatia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Mutharaju</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Semantic Web -ISWC 2020 -19th International Semantic Web Conference, ISWC 2020</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">OntoBench: Generating Custom OWL 2 Benchmark Ontologies</title>
		<author>
			<persName><forename type="first">V</forename><surname>Link</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Lohmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">F</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Semantic Web Conference</title>
				<imprint>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="122" to="130" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Pygraft: Configurable generation of synthetic schemas and knowledge graphs at your fingertips</title>
		<author>
			<persName><forename type="first">N</forename><surname>Hubert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Monnin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>D'aquin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Monticolo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Brun</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Semantic Web -21st International Conference, ESWC 2024</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Hersonissos, Crete, Greece</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2024">May 26-30, 2024. 2024</date>
			<biblScope unit="volume">14665</biblScope>
			<biblScope unit="page" from="3" to="20" />
		</imprint>
	</monogr>
	<note>Proceedings, Part II</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
