Document Components Ontology (DoCO)

DoCO, the Document Components Ontology, is an OWL 2 DL ontology that provides a general-purpose structured vocabulary of document elements. DoCO has been designed as a general unifying ontological framework for describing different aspects related to the content of scientific and other scholarly texts. Its primary goal has been to improve the interoperability and shareability of academic documents (and related services) when multiple formats are actually used for their storage. The ontology defines a wide range of document components, such as sections, paragraphs, figures, tables, references, and metadata elements, supporting detailed semantic annotation of document structure. DoCO enables automated document processing, content extraction, and knowledge management in digital libraries, publishing platforms, and research repositories. By providing a standardized vocabulary, DoCO facilitates the integration of scholarly content across diverse formats and platforms, enhancing discoverability and reuse of academic knowledge.

Example Usage: Annotate a scientific article with DoCO terms to specify its sections (introduction, methods, results, discussion), figures, tables, and references, enabling automated extraction and semantic search of document components.

Metrics & Statistics

Graph Statistics

Total Nodes

442

Total Edges

922

Root Nodes

12

Leaf Nodes

73

Knowledge Coverage Statistics

Classes

137

Individuals

0

Properties

7

Hierarchical Metrics

Maximum Depth

25

Minimum Depth

0

Average Depth

8.29

Depth Variance

25.91

Breadth Metrics

Maximum Breadth

35

Minimum Breadth

1

Average Breadth

14.54

Breadth Variance

110.71

LLMs4OL Dataset Statistics

Term Types

0

Taxonomic Relations

59

Non-taxonomic Relations

7

Average Terms per Type

0.00

Usage Example

Use the following code to import this ontology programmatically:

from ontolearner.ontology import DoCO

ontology = DoCO()
ontology.load("path/to/DoCO-ontology.rdf")

# Extract datasets
data = ontology.extract()

# Access specific relations
term_types = data.term_typings
taxonomic_relations = data.type_taxonomies
non_taxonomic_relations = data.type_non_taxonomic_relations