The Description of a Project vocabulary (DOAP)

The Description of a Project (DOAP) vocabulary is an RDF/OWL-based ontology for machine-readable description of software projects, particularly open source initiatives [1] [2]. It models core project entities such as Project, Person, Revision, Repository, and License, capturing essential metadata about software development and distribution [1] [2]. DOAP enables representation of project attributes including name, description, homepage, version control systems, issue tracking systems, programming languages, release history, and developer or maintainer information [1] [2]. The vocabulary facilitates integration of project data across diverse repositories, forges, and development platforms, supporting automated project discovery, dependency analysis, and ecosystem mapping [1]. DOAP enables research on software development practices, project evolution, and open source community dynamics through structured, interoperable metadata [1].

Example Usage: Describe an open source project with DOAP properties such as foaf:name for the project name, doap:repository for the code repository URL, doap:programming-language for the implementation language, doap:maintainer for the developer or maintainer agent, and doap:license for the project license [1] [2]. Metrics & Statistics ————————–

Graph Statistics

Total Nodes

496

Total Edges

634

Root Nodes

1

Leaf Nodes

435

Knowledge Coverage Statistics

Classes

14

Individuals

0

Properties

0

Hierarchical Metrics

Maximum Depth

1

Minimum Depth

0

Average Depth

0.75

Depth Variance

0.19

Breadth Metrics

Maximum Breadth

3

Minimum Breadth

1

Average Breadth

2.00

Breadth Variance

1.00

LLMs4OL Dataset Statistics

Term Types

0

Taxonomic Relations

14

Non-taxonomic Relations

0

Average Terms per Type

0.00

Usage Example

Use the following code to import this ontology programmatically:

from ontolearner.ontology import DOAP

ontology = DOAP()
ontology.load("path/to/DOAP-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

References