Repository navigation
Publishing instructions out of date #188
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't workingdocumentationImprovements or additions to documentationImprovements or additions to documentation
Description
Affected version
HEAD
Bug description
Per Gemini:
To discover, aggregate, or publish RDF metadata describing open-source software projects (using DOAPâDescription of a Projectâor similar ontologies), the current ecosystem relies on decentralized hosting and modern web registries rather than centralized DOAP-specific directories.
Here is how you can publish or locate this metadata today:
1. Publishing Open-Source Metadata
Instead of registering a project in a standalone directory, publish the DOAP file directly within the project's ecosystem and rely on standard Web of Data mechanisms:
- Host in the Root Repository: Store the project's
doap.rdfordoap.ttldirectly in the root of its public repository (e.g., GitHub, GitLab, or Codeberg). - Embed Structured Data (JSON-LD): Embed project metadata using JSON-LD with the [schema.org
SoftwareApplication](https://schema.org/SoftwareApplication?utm_source=gemini)or[SoftwareSourceCode](https://schema.org/SoftwareSourceCode?utm_source=gemini)vocabularies in the HTML head of the project's documentation or landing page:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "ProjectName",
"codeRepository": "https://github.com/example/project",
"programmingLanguage": "Java",
"license": "https://www.apache.org/licenses/LICENSE-2.0"
}
</script>Search engine crawlers automatically index schema.org metadata.
2. Discovering and Querying Open-Source Metadata
To retrieve structured metadata across open-source software without defunct directories:
- Wikidata SPARQL Endpoint: Wikidata maintains structured metadata on thousands of open-source software projects, including properties like homepages, repository locations, software licenses, programming languages, and developers.
- Endpoint:
[https://query.wikidata.org/](https://query.wikidata.org/) - Example SPARQL query for open-source Java projects on Wikidata:
SELECT ?item ?itemLabel ?repo WHERE {
?item wdt:P31 wd:Q7397; # instance of software
wdt:P275 ?license; # has a license
wdt:P277 wd:Q251; # programming language: Java
wdt:P1324 ?repo. # source code repository
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
LIMIT 100
- Package Manager Registries & APIs: Ecosystem-specific package managers expose structured metadata natively via REST APIs (e.g., Maven Central Search API, PyPI JSON API, or npm Registry API).
- Software Heritage Graph: The Software Heritage project archives public source code repositories along with their metadata, accessible via their Web API and public datasets.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingdocumentationImprovements or additions to documentationImprovements or additions to documentation
Activity