diff --git a/.github/workflows/action-test-before-PR.yml b/.github/workflows/action-test-before-PR.yml
new file mode 100644
index 0000000..5750903
--- /dev/null
+++ b/.github/workflows/action-test-before-PR.yml
@@ -0,0 +1,34 @@
+name: Run SOMEF tests before PR
+
+on:
+ pull_request:
+ branches:
+ - main #should be this branch or master?
+ workflow_dispatch:
+jobs:
+ test:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v2
+
+ - name: Set up Python
+ uses: actions/setup-python@v2
+ with:
+ python-version: "3.11"
+
+ - name: Install Poetry
+ run: curl -sSL https://install.python-poetry.org | python3 -
+
+ - name: Install dependencies
+ run: poetry install
+
+ - name: Download NLTK data
+ run: poetry run python -m nltk.downloader wordnet omw-1.4 punkt punkt_tab stopwords
+
+ - name: Configure SOMEF
+ run: poetry run somef_core configure -a
+
+ - name: Run pytest
+ run: poetry run pytest -v src/somef_core/test/
diff --git a/.gitignore b/.gitignore
index 9523bbe..af8bdf7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,12 @@
build/*
dist/*
env*/*
+somef_core_env/
.vscode/
.ipynb_checkpoints/
config.json
__pycache__/
+**/__pycache__/
.DS_Store
Lib/*
Scripts/*
@@ -13,7 +15,7 @@ Scripts/*
*.ttl
env_3.9/*
src/somef_core/create_corpus_for_NER.py
-src/somef.egg-info/*
+src/somef_core.egg-info/*
local_tests/*
Dockerfile_old
repos.txt
diff --git a/CITATION.cff b/CITATION.cff
index b806beb..2b0dd79 100644
--- a/CITATION.cff
+++ b/CITATION.cff
@@ -1,9 +1,16 @@
-title: "SOMEF: Software metadata extraction framework"
-license: Apache-2.0
+# This CITATION.cff file was generated with cffinit.
+# Visit https://bit.ly/cffinit to generate yours today!
+
+cff-version: 1.2.0
+title: 'SOMEF: Software metadata extraction framework'
+message: >-
+ If you use this software, please cite both the article
+ from preferred-citation and the software itself.
+type: software
authors:
- family-names: Garijo
given-names: Daniel
- orcid: "http://orcid.org/0000-0003-0454-7145"
+ orcid: 'https://orcid.org/0000-0003-0454-7145'
- family-names: Mao
given-names: Allen
- family-names: Dharmala
@@ -20,18 +27,16 @@ authors:
given-names: Jenifer
- family-names: Mendoza
given-names: Juanje
-
-cff-version: 1.2.0
-message: "If you use this software, please cite both the article from preferred-citation and the software itself."
+license: Apache-2.0
preferred-citation:
authors:
- family-names: Kelley
given-names: Aidan
- family-names: Garijo
given-names: Daniel
- title: "A Framework for Creating Knowledge Graphs of Scientific Software Metadata"
+ title: A Framework for Creating Knowledge Graphs of Scientific Software Metadata
type: article
- journal: "Quantitative Science Studies"
- pages: "1-37"
+ journal: Quantitative Science Studies
+ pages: 1-37
year: 2021
doi: 10.1162/qss_a_00167
diff --git a/Dockerfile b/Dockerfile
index a986e1f..2f23ee2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,7 +6,7 @@ RUN curl -sSL https://install.python-poetry.org | python3 -
RUN pip install poetry-plugin-shell
-WORKDIR "/somef-core"
+WORKDIR "/somef_core"
RUN poetry install
diff --git a/README.md b/README.md
index 45c57b6..9bde117 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,15 @@
# Software Metadata Extraction Framework CORE (SOMEF-core)
-TO DO: Add other badges.
-
-[](https://somef-core.readthedocs.io/en/latest/?badge=latest)
-
+[](https://somef.readthedocs.io/en/latest/?badge=latest)
+[](https://badge.fury.io/py/somef) [](https://badge.fury.io/py/somef) [](https://zenodo.org/badge/latestdoi/190487675) [](https://mybinder.org/v2/gh/KnowledgeCaptureAndDiscovery/somef/HEAD?filepath=notebook%2FSOMEF%20Usage%20Example.ipynb) [](https://www.repostatus.org/#active)
A command line interface for automatically extracting relevant metadata from code repositories (readme, configuration files, documentation, etc.).
-This repository is extracted from https://github.com/SciCodes/somef-core/issues
+This repository is extracted from https://github.com/SciCodes/somef-core/
+**Demo:** See a [demo running somef as a service](https://somef.linkeddata.es), through the [SOMEF-Vider tool](https://github.com/SoftwareUnderstanding/SOMEF-Vider/).
**Authors:** Daniel Garijo, Allen Mao, Miguel Ángel García Delgado, Haripriya Dharmala, Vedant Diwanji, Jiaying Wang, Aidan Kelley, Jenifer Tabita Ciuciu-Kiss, Luca Angheluta and Juanje Mendoza.
@@ -19,6 +18,13 @@ This repository is extracted from https://github.com/SciCodes/somef-core/issues
Given a readme file (or a GitHub/Gitlab repository) SOMEF will extract the following categories (if present), listed in alphabetical order:
- **Acknowledgement**: Text acknowledging funding sources or contributors
+- **Application domain**: The application domain of the repository. Current supported domains include: Astrophysics, Audio, Computer vision, Graphs, Natural language processing, Reinforcement learning, Semantc web, Sequential. Domains are not mutually exclusive. These domains have been extracted from [awesome lists](https://github.com/topics/awesome-list) and [Papers with code](https://paperswithcode.com/). Find more information in our [documentation](https://somef.readthedocs.io/en/latest/)
+- **Authors**: Person(s) or organization(s) responsible for the project. We recognize the following properties:
+ - Name: name of the author (including last name)
+ - Given name: First name of an author
+ - Family name: Last name of an author
+ - Email: email of author
+ - URL: website or ORCID associated with the author
- **Build file**: Build file(s) of the project. For example, files used to create a Docker image for the target software, package files, etc.
- **Citation**: Preferred citation as the authors have stated in their readme file. SOMEF recognizes Bibtex, Citation File Format files and other means by which authors cite their papers (e.g., by in-text citation). We aim to recognize the following properties:
- Title: Title of the publication
@@ -43,7 +49,7 @@ Given a readme file (or a GitHub/Gitlab repository) SOMEF will extract the follo
- **Forks url**: Links to forks made of the project
- **Full name**: Name + owner (owner/name)
- **Full title**: If the repository is a short name, we will attempt to extract the longer version of the repository name
-- **Identifier**: Identifier associated with the software (if any), such as Digital Object Identifiers. DOIs associated with publications will also be detected.
+- **Identifier**: Identifier associated with the software (if any), such as Digital Object Identifiers and Software Heritage identifiers (SWH). DOIs associated with publications will also be detected.
- **Images**: Images used to illustrate the software component
- **Installation instructions**: A set of instructions that indicate how to install a target repository
- **Invocation**: Execution command(s) needed to run a scientific software component
@@ -52,6 +58,7 @@ Given a readme file (or a GitHub/Gitlab repository) SOMEF will extract the follo
- **License**: License and usage terms of a software component
- **Logo**: Main logo used to represent the target software component
- **Name**: Name identifying a software component
+- **Ontologies**: URL and path to the ontology files present in the repository
- **Owner**: Name and type of the user or organization in charge of the repository
- **Package distribution**: Links to package sites like pypi in case the repository has a package available.
- **Package files**: Links to package files used to wrap the project in a package.
@@ -69,18 +76,23 @@ Given a readme file (or a GitHub/Gitlab repository) SOMEF will extract the follo
- Link to the tarball zip and code of the release
- **Repository status**: Repository status as it is described in [repostatus.org](https://www.repostatus.org/).
- **Requirements**: Pre-requisites and dependencies needed to execute a software component
+- **Run**: Running instructions of a software component. It may be wider than the `invocation` category, as it may include several steps and explanations.
+- **Runtime platform**: specifies runtime platform or script interpreter dependencies required to run the project..
+- **Script files**: Bash script files contained in the repository
- **Stargazers count**: Total number of stargazers of the project
- **Support**: Guidelines and links of where to obtain support for a software component
- **Support channels**: Help channels one can use to get support about the target software component
+- **Type**: type of software (command line application, notebook, ontology, scientific workflow, etc.)
- **Usage examples**: Assumptions and considerations recorded by the authors when executing a software component, or examples on how to use it
+- **Workflows**: URL and path to the computational workflow files present in the repository
We use different supervised classifiers, header analysis, regular expressions, the GitHub/Gitlab API to retrieve all these fields (more than one technique may be used for each field) and language specific metadata parsers (e.g., for package files). Each extraction records its provenance, with the confidence and technique used on each step. For more information check the [output format description](https://somef.readthedocs.io/en/latest/output/)
## Documentation
-The documentation for somef-core is available at [https://somef-core.readthedocs.io/en/latest/](https://somef-core.readthedocs.io/en/latest/)
+See full documentation for somef-core is available at [https://somef-core.readthedocs.io/en/latest/](https://somef-core.readthedocs.io/en/latest/)
-## Cite SOMEF and SOMEF-core:
+## Cite SOMEF-core:
Journal publication (preferred):
@@ -132,7 +144,7 @@ To run somef_core, please follow the next steps:
Clone this GitHub repository
```
-git clone https://github.com/KnowledgeCaptureAndDiscovery/somef-core.git
+git clone https://github.com/SciCodes/somef-core.git
```
We use [Poetry](https://python-poetry.org/) to ensure library compatibility. It can be installed as follows:
@@ -145,32 +157,36 @@ This option is recommended over installing Poetry with pip install.
Now Poetry will handle the installation of SOMEF-core and all its dependencies configured in the `toml` file.
-To test the correct installation of poetry run:
+To test the correct installation of poetry run (poetry version `> 2.0.0`):
```
poetry --version
```
-Install somef and all their dependencies.
+Install somef-core and all their dependencies.
```
cd /somef_core
poetry install
```
-Now we need to access our virtual environment, to do so you have to install the [poetry plugin shell](https://github.com/python-poetry/poetry-plugin-shell) and run the following command:
+Now we need to access our virtual environment, to do so you can run the following command:
+```bash
+poetry env activate
```
-pip install poetry-plugin-shell
-```
-After `shell` is set up, you can run the following comand to access the virtual environment
-```
-poetry shell
+If the environment is not active, paste the command shown when `poetry env activate` is run, typically something like the command below:
+
+```bash
+source /path_to_env/ENV_NAME/bin/activate
```
-Test SOMEF installation
+
+To learn more about poetry environment management, visit their official documentation [here](https://python-poetry.org/docs/managing-environments/).
+
+Test the SOMEF-core installation run:
```bash
-somef --help
+somef_core --help
```
If everything goes fine, you should see:
@@ -189,7 +205,31 @@ Commands:
## Installing through Docker
-We are working on this section
+We provide a Docker image with SOMEF already installed. To run through Docker, you may build the Dockerfile provided in the repository by running:
+
+```bash
+docker build -t somef .
+```
+
+Or just use the Docker image already built in [DockerHub](https://hub.docker.com/r/kcapd/somef):
+
+```bash
+docker pull kcapd/somef
+```
+
+Then, to run your image just type:
+
+```bash
+docker run --rm -it kcapd/somef
+```
+
+And you will be ready to use SOMEF (see section below). If you want to have access to the results we recommend [mounting a volume](https://docs.docker.com/storage/volumes/). For example, the following command will mount the current directory as the `out` folder in the Docker image:
+
+```bash
+docker run -it --rm -v $PWD/:/out kcapd/somef
+```
+
+If you move any files produced by somef into `/out`, then you will be able to see them in your current directory.
## Configure
@@ -228,6 +268,9 @@ Options:
-h, --help Show this message and exit.
```
+### Updating SOMEF
+
+If you update SOMEF to a newer version, we recommend you `configure` again the library (by running `somef configure`). The rationale is that different versions may rely on classifiers which may be stored in a different path.
## Usage
@@ -239,6 +282,7 @@ Usage: somef_core describe [OPTIONS]
Running the Command Line Interface
Options:
+ -t, --threshold FLOAT Threshold to classify the text [required]
Input: [mutually_exclusive, required]
-r, --repo_url URL Github/Gitlab Repository URL
-d, --doc_src PATH Path to the README file source
@@ -250,6 +294,15 @@ Options:
output will be in JSON
-c, --codemeta_out PATH Path to an output codemeta file
+ -g, --graph_out PATH Path to the output Knowledge Graph export
+ file. If supplied, the output will be a
+ Knowledge Graph, in the format given in the
+ --format option chosen (turtle, json-ld)
+
+ -f, --graph_format [turtle|json-ld]
+ If the --graph_out option is given, this is
+ the format that the graph will be stored in
+
-p, --pretty Pretty print the JSON output file so that it
is easy to compare to another JSON output
file.
@@ -264,6 +317,11 @@ Options:
will be stored at the
desired path
+ -all, --requirements_all Export all detected requirements, including
+ text and libraries (default).
+
+ -v, --requirements_v Export only requirements from structured
+ sources (pom.xml, requirements.txt, etc.)
-h, --help Show this message and exit.
```
@@ -273,9 +331,29 @@ Options:
The following command extracts all metadata available from [https://github.com/dgarijo/Widoco/](https://github.com/dgarijo/Widoco/).
```bash
-somef_core describe -r https://github.com/dgarijo/Widoco/ -o test.json
+somef_core describe -r https://github.com/dgarijo/Widoco/ -o test.json -t 0.8
```
+Try SOMEF in Binder with our sample notebook: [](https://mybinder.org/v2/gh/KnowledgeCaptureAndDiscovery/somef/HEAD?filepath=notebook%2FSOMEF%20Usage%20Example.ipynb)
+
## Contribute:
If you want to contribute with a pull request, please do so by submitting it to the `dev` branch.
+
+## Next features:
+
+To see upcoming features, please have a look at our [open issues](https://github.com/SciCodes/somef-core/issues) and [milestones](https://github.com/SciCodes/somef-core/milestones)
+
+## Extending SOMEF categories:
+
+To run a classifier with an additional category or remove an existing one, a corresponding path entry in the config.json should be provided and the category type should be added/removed in the category variable in `cli.py`.
+
+## Metadata Support
+
+SOMEF supports the extraction and analysis of metadata in package files of several programming languages. Current support includes: `setup.py` and `pyproject.toml` for Python, `pom.xml` for Java, `.gemspec` for Ruby, `DESCRIPTION` for R, `bower.json` for JavaScript, HTML or CSS, `.cabal` for Haskell, `cargo.toml` for RUST, `composer` for PHP, `.juliaProject.toml` for Julia , `AUTHORS`, `codemeta.json`, `publiccode.yml`, `dockerfile` and `citation.cff`
+This includes identifying dependencies, runtime requirements, and development tools specified in project configuration files.
+
+## Limitations
+
+SOMEF is designed to work primarily with repositories written in English.
+Repositories in other languages may not be processed as effectively, and results could be incomplete or less accurate.
diff --git a/docs/author 2.md b/docs/author 2.md
new file mode 100644
index 0000000..fd00768
--- /dev/null
+++ b/docs/author 2.md
@@ -0,0 +1,113 @@
+The following metadata fields can be extracted from a AUTHORS file.
+These fields are defined in the [Authors file specification](https://opensource.google/documentation/reference/releasing/authors/), and are mapped according to the [CodeMeta crosswalk for AUTHORS files](https://github.com/codemeta/codemeta/blob/master/crosswalks/codemeta-V2.csv).
+
+| Software metadata category | SOMEF metadata JSON path | AUTHORS metadata file field |
+|-------------------------------|---------------------------------------------|------------------------------|
+| authors - value | authors[i].result.value | *(1)* value |
+| authors - name | authors[i].result.name | *(2)* name |
+| authors - email | authors[i].result.email | *(3)* email |
+| authors - given name | authors[i].result.given_name | *(4)* if type person |
+| authors - last name | authors[i].result.last_name | *(5)* if type person |
+
+---
+
+*(1)*
+- Regex: line.strip()
+- Example: `Jane Doe `
+- Result: `Jane Doe `
+
+*(2)*
+- line[:email_match.start()].strip()
+- Example: `Jane Doe `
+- Result: `Jane Doe`
+
+*(3)*
+- Regex: re.search(r'<([^>]+)>', line)
+- Example: `Jane Doe `
+- Result: `jane.doe@example.org`
+
+*(4)*
+- First part of name
+- Example: `Jane Doe `
+- Result: `Jane`
+
+*(5)*
+- Second part of name
+- Example: `Jane Doe `
+- Result: `Doe`
+
+## Supported files of authors.
+
+The following filenames are recognized and processed automatically:
+
+* `AUTHORS`
+* `AUTHORS.md`
+* `AUTHORS.txt`
+
+These files are expected to be located at the root of the repository. Filenames are matched case-insensitively.
+
+## Purpose and Format
+
+These files typically contain a list of individuals and/or organizations that have contributed to the project. While there is no universal standard for formatting, a widely referenced convention is Google's guidance:
+
+🔗 [Google Open Source: Authors Files Protocol](https://opensource.google/documentation/reference/releasing/authors/)
+
+The content may be structured as:
+
+* Simple plain text, with one contributor per line.
+* Markdown-formatted text (`.md` files).
+* Lines including contributor names, emails (e.g., `Name `), and sometimes affiliations.
+
+### Examples of Valid Entries
+
+```text
+Jane Doe
+John Smith
+Acme Corporation
+Google Inc.
+```
+
+### Examples of NON Valid Entries
+
+```text
+JetBrains <>
+Microsoft
+Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung
+scrawl - Top contributor
+Tom
+```
+## What Is Read vs. Discarded
+
+When processing these files, the parser will:
+
+**Include** lines that:
+
+* Contain person names, optionally with emails (`Name `).
+* Clearly refer to organizations (e.g., "Google LLC", "OpenAI Inc.").
+
+**Discard** lines that:
+
+* Are headers, decorative separators, or markdown formatting (`#`, `*`, `=`, etc.).
+* Contain only URLs or links.
+* Are single words with no email and no organizational keyword (e.g., `JetBrains <>`).
+* Are markdown or structured noise (`---`, `{}`, etc.).
+* Contain more than four words and are not recognized as organizations — to avoid capturing generic or descriptive sentences (e.g., This line not is an author).
+
+### Special Cases
+
+* Entries with only a first name and an email are accepted but must not assign an empty `last_name`.
+* Lines starting with `-` or `*` are considered lists, but only parsed if the content matches expected author patterns.
+* Blocks enclosed in `{}` are stripped before parsing.
+* Any line matching known organization suffixes (`Inc.`, `LLC`, `Ltd.`, `Corporation`) is treated as an organization, even if no email is present.
+* Some organization names (e.g., Open Source Initiative) may be mistakenly treated as person names if they do not contain a company designator or email. To improve detection, it is recommended to use names like Open Source Initiative Inc.
+* In such cases, only the meaningful part (typically the name) is extracted before any descriptive annotations.
+For example, the line:
+Tom Smith (Tom) - Project leader 2010-2018
+Will be interpreted as:
+{
+ "type": "Person",
+ "name": "Tom Smith",
+ "value": "Tom Smith",
+ "given_name": "Tom",
+ "last_name": "Smith"
+}
diff --git a/docs/author.md b/docs/author.md
new file mode 100644
index 0000000..fd00768
--- /dev/null
+++ b/docs/author.md
@@ -0,0 +1,113 @@
+The following metadata fields can be extracted from a AUTHORS file.
+These fields are defined in the [Authors file specification](https://opensource.google/documentation/reference/releasing/authors/), and are mapped according to the [CodeMeta crosswalk for AUTHORS files](https://github.com/codemeta/codemeta/blob/master/crosswalks/codemeta-V2.csv).
+
+| Software metadata category | SOMEF metadata JSON path | AUTHORS metadata file field |
+|-------------------------------|---------------------------------------------|------------------------------|
+| authors - value | authors[i].result.value | *(1)* value |
+| authors - name | authors[i].result.name | *(2)* name |
+| authors - email | authors[i].result.email | *(3)* email |
+| authors - given name | authors[i].result.given_name | *(4)* if type person |
+| authors - last name | authors[i].result.last_name | *(5)* if type person |
+
+---
+
+*(1)*
+- Regex: line.strip()
+- Example: `Jane Doe `
+- Result: `Jane Doe `
+
+*(2)*
+- line[:email_match.start()].strip()
+- Example: `Jane Doe `
+- Result: `Jane Doe`
+
+*(3)*
+- Regex: re.search(r'<([^>]+)>', line)
+- Example: `Jane Doe `
+- Result: `jane.doe@example.org`
+
+*(4)*
+- First part of name
+- Example: `Jane Doe `
+- Result: `Jane`
+
+*(5)*
+- Second part of name
+- Example: `Jane Doe `
+- Result: `Doe`
+
+## Supported files of authors.
+
+The following filenames are recognized and processed automatically:
+
+* `AUTHORS`
+* `AUTHORS.md`
+* `AUTHORS.txt`
+
+These files are expected to be located at the root of the repository. Filenames are matched case-insensitively.
+
+## Purpose and Format
+
+These files typically contain a list of individuals and/or organizations that have contributed to the project. While there is no universal standard for formatting, a widely referenced convention is Google's guidance:
+
+🔗 [Google Open Source: Authors Files Protocol](https://opensource.google/documentation/reference/releasing/authors/)
+
+The content may be structured as:
+
+* Simple plain text, with one contributor per line.
+* Markdown-formatted text (`.md` files).
+* Lines including contributor names, emails (e.g., `Name `), and sometimes affiliations.
+
+### Examples of Valid Entries
+
+```text
+Jane Doe
+John Smith
+Acme Corporation
+Google Inc.
+```
+
+### Examples of NON Valid Entries
+
+```text
+JetBrains <>
+Microsoft
+Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung
+scrawl - Top contributor
+Tom
+```
+## What Is Read vs. Discarded
+
+When processing these files, the parser will:
+
+**Include** lines that:
+
+* Contain person names, optionally with emails (`Name `).
+* Clearly refer to organizations (e.g., "Google LLC", "OpenAI Inc.").
+
+**Discard** lines that:
+
+* Are headers, decorative separators, or markdown formatting (`#`, `*`, `=`, etc.).
+* Contain only URLs or links.
+* Are single words with no email and no organizational keyword (e.g., `JetBrains <>`).
+* Are markdown or structured noise (`---`, `{}`, etc.).
+* Contain more than four words and are not recognized as organizations — to avoid capturing generic or descriptive sentences (e.g., This line not is an author).
+
+### Special Cases
+
+* Entries with only a first name and an email are accepted but must not assign an empty `last_name`.
+* Lines starting with `-` or `*` are considered lists, but only parsed if the content matches expected author patterns.
+* Blocks enclosed in `{}` are stripped before parsing.
+* Any line matching known organization suffixes (`Inc.`, `LLC`, `Ltd.`, `Corporation`) is treated as an organization, even if no email is present.
+* Some organization names (e.g., Open Source Initiative) may be mistakenly treated as person names if they do not contain a company designator or email. To improve detection, it is recommended to use names like Open Source Initiative Inc.
+* In such cases, only the meaningful part (typically the name) is extracted before any descriptive annotations.
+For example, the line:
+Tom Smith (Tom) - Project leader 2010-2018
+Will be interpreted as:
+{
+ "type": "Person",
+ "name": "Tom Smith",
+ "value": "Tom Smith",
+ "given_name": "Tom",
+ "last_name": "Smith"
+}
diff --git a/docs/bower 2.md b/docs/bower 2.md
new file mode 100644
index 0000000..8318067
--- /dev/null
+++ b/docs/bower 2.md
@@ -0,0 +1,39 @@
+The following metadata fields can be extracted from a bower.json file.
+These fields are defined in the [Bower specification](https://github.com/bower/spec/blob/master/json.md), currently at version **4.0.0**, and are mapped according to the [CodeMeta crosswalk for bower.json](https://github.com/codemeta/codemeta/blob/master/crosswalks/NodeJS.csv).
+
+| Software metadata category | SOMEF metadata JSON path | BOWER.JSON metadata file field |
+|-----------------------------|---------------------------------------|---------------------|
+| authors | authors[i].result.value | authors[] |
+| description | description[i].result.value | description |
+| has_package_file | has_package_file[i].result.value | URL of the bower.json file |
+| homepage | homepage[i].result.value | homepage |
+| license | license[i].result.value | license |
+| name | name[i].result.value | name |
+| keywords | keywords[i].result.value | keywords |
+| requirements - value | requirements[i].result.value | "dependencies": {"paq":"version"} -> paq: version *(1)* |
+| requirements - name | requirements[i].result.name | "dependencies": {"paq":"version"} -> paq |
+| requirements - version | requirements[i].result.version | "dependencies": {"paq":"version"} -> version |
+| requirements - dependency type | requirements[i].result.dependency_type | dependencies -> runtime , devDependencies -> dev |
+| version | version[i].result.value | version |
+
+
+---
+
+*(1)*
+
+- Example:
+```
+ "dependencies": {
+ "jquery": "^3.1.1",
+ "bootstrap": "^3.3.7",
+ "moment": "^2.17.1",
+ "components-font-awesome": "^4.7.0",
+ "font-awesome": "^4.7.0",
+ "materialize": "^0.97.8"
+ }
+ ```
+ First item results:
+ - Result value: "jquery: ^3.1.1"
+ - Result name": "jquery"
+ - Result version": "^3.1.1"
+ - Result dependency_type": "runtime" because it is "dependencies"s
\ No newline at end of file
diff --git a/docs/bower.md b/docs/bower.md
new file mode 100644
index 0000000..8318067
--- /dev/null
+++ b/docs/bower.md
@@ -0,0 +1,39 @@
+The following metadata fields can be extracted from a bower.json file.
+These fields are defined in the [Bower specification](https://github.com/bower/spec/blob/master/json.md), currently at version **4.0.0**, and are mapped according to the [CodeMeta crosswalk for bower.json](https://github.com/codemeta/codemeta/blob/master/crosswalks/NodeJS.csv).
+
+| Software metadata category | SOMEF metadata JSON path | BOWER.JSON metadata file field |
+|-----------------------------|---------------------------------------|---------------------|
+| authors | authors[i].result.value | authors[] |
+| description | description[i].result.value | description |
+| has_package_file | has_package_file[i].result.value | URL of the bower.json file |
+| homepage | homepage[i].result.value | homepage |
+| license | license[i].result.value | license |
+| name | name[i].result.value | name |
+| keywords | keywords[i].result.value | keywords |
+| requirements - value | requirements[i].result.value | "dependencies": {"paq":"version"} -> paq: version *(1)* |
+| requirements - name | requirements[i].result.name | "dependencies": {"paq":"version"} -> paq |
+| requirements - version | requirements[i].result.version | "dependencies": {"paq":"version"} -> version |
+| requirements - dependency type | requirements[i].result.dependency_type | dependencies -> runtime , devDependencies -> dev |
+| version | version[i].result.value | version |
+
+
+---
+
+*(1)*
+
+- Example:
+```
+ "dependencies": {
+ "jquery": "^3.1.1",
+ "bootstrap": "^3.3.7",
+ "moment": "^2.17.1",
+ "components-font-awesome": "^4.7.0",
+ "font-awesome": "^4.7.0",
+ "materialize": "^0.97.8"
+ }
+ ```
+ First item results:
+ - Result value: "jquery: ^3.1.1"
+ - Result name": "jquery"
+ - Result version": "^3.1.1"
+ - Result dependency_type": "runtime" because it is "dependencies"s
\ No newline at end of file
diff --git a/docs/cabal 2.md b/docs/cabal 2.md
new file mode 100644
index 0000000..d72be9f
--- /dev/null
+++ b/docs/cabal 2.md
@@ -0,0 +1,61 @@
+The following metadata fields can be extracted from a cabal file.
+These fields are defined in the [Cabal specification](https://cabal.readthedocs.io/en/3.10/cabal-package.html), currently at version **3.10** and are mapped according to the [Codemeta crosswalk for cabal](https://github.com/codemeta/codemeta/blob/master/crosswalks/Cabal.csv).
+
+| Software metadata category | SOMEF metadata JSON path | CABAL metadata file field |
+|-------------------------------|---------------------------------------|-----------------------------------------|
+| description | description[i].result.value | synopsis / description *(1)*|
+| development_status | development_status[i].result.value | stability |
+| has_package_file | has_package_file[i].result.value | URL of the filename.cabal file |
+| homepage | homepage[i].result.value | homepage *(2)* |
+| issue_tracker | issue_tracker[i].result.value | bug-reports |
+| license | license[i].result.value | Regex license *(3)* |
+| package_id | package_id[i].value | name *(4)* |
+| requirements - value | requirements[i].result.value | *(5)* |
+| requirements - name | requirements[i].result.name | library.build-depends name *(5.1)* |
+| requirements - version | requirements[i].result.version | library.build-depends version *(5.2)* |
+| requirements - development type | requirements[i].result.development_type | "runtime" |
+| version | version[i].result.value | version *(6)* |
+
+---
+
+*(1)*
+- Regex: `r'description:\s*(.*?)(?=\n\S|\Z)' → group[1]`
+- Example: `description: text description`
+- Result: `text description`
+
+*(2)*
+- Regex: `re.search(r'homepage:\s*(.*)' → group[1]`
+- Example: `homepage: https://github.com/joshuaclayton/unused#readme`
+- Result: `https://github.com/joshuaclayton/unused#readme`
+
+*(3)*
+- Regex: `r'license:\s*(.*)' → group[1]`
+- Example: `license: BSD-3-Clause`
+- Result: `BSD-3-Clause`
+
+*(4)*
+- Regex: `r'name:\s*(.*)' → group[1]`
+- Example: `name: unused`
+- Result: `unused`
+
+*(5)*, *(5.1)*, *(5.2)*
+
+- Regex 1: `r'library\s*\n(.*?)(?=\n\S|\Z)' → group[1]` --> first look into library
+- Regex 2: `r'build-depends:\s*(.*?)(?=\n\s*(?:[A-Za-z0-9_-]+\s*:|if\s|\Z)) ' → group[1]` --> build-depends into library content
+- Regex 3: `r'^([a-zA-Z0-9-_]+)\s*(.*?)$'` --> extract groups for name and version
+- Example:
+```
+library
+ build-depends:
+ Cabal-syntax ^>= 3.17,
+ array >= 0.4.0.1 && < 0.6
+```
+- Result value: `Cabal-syntax ^>= 3.17`
+- Result name: `Cabal-syntax`
+- Result version: `^>= 3.17`
+
+*(6)*
+- Regex: `r'version:\s*(.*)' → group[1]`
+- Example: `version: 0.10.0.0`
+- Result: `0.10.0.0`
+
diff --git a/docs/cabal.md b/docs/cabal.md
new file mode 100644
index 0000000..d72be9f
--- /dev/null
+++ b/docs/cabal.md
@@ -0,0 +1,61 @@
+The following metadata fields can be extracted from a cabal file.
+These fields are defined in the [Cabal specification](https://cabal.readthedocs.io/en/3.10/cabal-package.html), currently at version **3.10** and are mapped according to the [Codemeta crosswalk for cabal](https://github.com/codemeta/codemeta/blob/master/crosswalks/Cabal.csv).
+
+| Software metadata category | SOMEF metadata JSON path | CABAL metadata file field |
+|-------------------------------|---------------------------------------|-----------------------------------------|
+| description | description[i].result.value | synopsis / description *(1)*|
+| development_status | development_status[i].result.value | stability |
+| has_package_file | has_package_file[i].result.value | URL of the filename.cabal file |
+| homepage | homepage[i].result.value | homepage *(2)* |
+| issue_tracker | issue_tracker[i].result.value | bug-reports |
+| license | license[i].result.value | Regex license *(3)* |
+| package_id | package_id[i].value | name *(4)* |
+| requirements - value | requirements[i].result.value | *(5)* |
+| requirements - name | requirements[i].result.name | library.build-depends name *(5.1)* |
+| requirements - version | requirements[i].result.version | library.build-depends version *(5.2)* |
+| requirements - development type | requirements[i].result.development_type | "runtime" |
+| version | version[i].result.value | version *(6)* |
+
+---
+
+*(1)*
+- Regex: `r'description:\s*(.*?)(?=\n\S|\Z)' → group[1]`
+- Example: `description: text description`
+- Result: `text description`
+
+*(2)*
+- Regex: `re.search(r'homepage:\s*(.*)' → group[1]`
+- Example: `homepage: https://github.com/joshuaclayton/unused#readme`
+- Result: `https://github.com/joshuaclayton/unused#readme`
+
+*(3)*
+- Regex: `r'license:\s*(.*)' → group[1]`
+- Example: `license: BSD-3-Clause`
+- Result: `BSD-3-Clause`
+
+*(4)*
+- Regex: `r'name:\s*(.*)' → group[1]`
+- Example: `name: unused`
+- Result: `unused`
+
+*(5)*, *(5.1)*, *(5.2)*
+
+- Regex 1: `r'library\s*\n(.*?)(?=\n\S|\Z)' → group[1]` --> first look into library
+- Regex 2: `r'build-depends:\s*(.*?)(?=\n\s*(?:[A-Za-z0-9_-]+\s*:|if\s|\Z)) ' → group[1]` --> build-depends into library content
+- Regex 3: `r'^([a-zA-Z0-9-_]+)\s*(.*?)$'` --> extract groups for name and version
+- Example:
+```
+library
+ build-depends:
+ Cabal-syntax ^>= 3.17,
+ array >= 0.4.0.1 && < 0.6
+```
+- Result value: `Cabal-syntax ^>= 3.17`
+- Result name: `Cabal-syntax`
+- Result version: `^>= 3.17`
+
+*(6)*
+- Regex: `r'version:\s*(.*)' → group[1]`
+- Example: `version: 0.10.0.0`
+- Result: `0.10.0.0`
+
diff --git a/docs/cargo 2.md b/docs/cargo 2.md
new file mode 100644
index 0000000..f50fc83
--- /dev/null
+++ b/docs/cargo 2.md
@@ -0,0 +1,41 @@
+The following metadata fields can be extracted from a cargo.toml file.
+These fields are defined in the [Cargo.toml specification](https://doc.rust-lang.org/cargo/reference/manifest.html), and are mapped according to the [CodeMeta crosswalk for cargo.toml](https://github.com/codemeta/codemeta/blob/master/crosswalks/Cargo.csv).
+
+| Software metadata category | SOMEF metadata JSON path | CARGO.TOML metadata file field |
+|-------------------------------|--------------------------------------------|------------------------------|
+| authors - value | authors[i].result.value | package.authors |
+| authors - name | authors[i].result.name | package.authors *(1)* |
+| authors - email | authors[i].result.email | package.authors *(2)* |
+| code_repository | code_repository[i].result.value | package.repository |
+| description | description[i].result.value | package.description |
+| has_package_file | has_package_file[i].result.value | URL of the cargo.toml file |
+| keywords | keywords[i].result.value | package.keywords |
+| license - value | license[i].result.value | package.license |
+| license - spdx id | license[i].result.spdx_id | package.license *(3)* |
+| license - name | license[i].result.name | package.license *(4)* |
+| package_id | package_id[i].result.value | package.name |
+| requirements - value | requirements[i].result.value | target.dependencies or depencencies name = version |
+| requirements - name | requirements[i].result.name | target.dependencies or depencencies name |
+| requirements - version | requirements[i].result.version | target.dependencies or depencencies version |
+| requirements - development type | requirements[i].result.development_type | target.dependencies or dependencies (version, git, path, other) |
+| version - value | version[i].result.value | package.version |
+| version - tag | version[i].result.tag | package.version |
+
+---
+
+*(1)*
+- Regex: `re.search(r'<([^>]+)>', author_str)`--> look in package.authors, them from init until email init.
+- Example: `authors = ["rustdesk "]`
+- Result: `rustdesk`
+
+*(2)*
+- Regex: `re.search(r'<([^>]+)>', author_str)`--> look in package.authors
+- Example: `authors = ["rustdesk "]`
+- Result: `info@rustdesk.com`
+
+*(3)*, *(4)*
+- Look for expressions in a local dictionary with all the reference and spdx_id
+- Example: `license = "Apache-2.0"`
+- Result spdx_id: `Apache-2.0`
+- Result name: `Apache License 2.0`
+
diff --git a/docs/cargo.md b/docs/cargo.md
new file mode 100644
index 0000000..f50fc83
--- /dev/null
+++ b/docs/cargo.md
@@ -0,0 +1,41 @@
+The following metadata fields can be extracted from a cargo.toml file.
+These fields are defined in the [Cargo.toml specification](https://doc.rust-lang.org/cargo/reference/manifest.html), and are mapped according to the [CodeMeta crosswalk for cargo.toml](https://github.com/codemeta/codemeta/blob/master/crosswalks/Cargo.csv).
+
+| Software metadata category | SOMEF metadata JSON path | CARGO.TOML metadata file field |
+|-------------------------------|--------------------------------------------|------------------------------|
+| authors - value | authors[i].result.value | package.authors |
+| authors - name | authors[i].result.name | package.authors *(1)* |
+| authors - email | authors[i].result.email | package.authors *(2)* |
+| code_repository | code_repository[i].result.value | package.repository |
+| description | description[i].result.value | package.description |
+| has_package_file | has_package_file[i].result.value | URL of the cargo.toml file |
+| keywords | keywords[i].result.value | package.keywords |
+| license - value | license[i].result.value | package.license |
+| license - spdx id | license[i].result.spdx_id | package.license *(3)* |
+| license - name | license[i].result.name | package.license *(4)* |
+| package_id | package_id[i].result.value | package.name |
+| requirements - value | requirements[i].result.value | target.dependencies or depencencies name = version |
+| requirements - name | requirements[i].result.name | target.dependencies or depencencies name |
+| requirements - version | requirements[i].result.version | target.dependencies or depencencies version |
+| requirements - development type | requirements[i].result.development_type | target.dependencies or dependencies (version, git, path, other) |
+| version - value | version[i].result.value | package.version |
+| version - tag | version[i].result.tag | package.version |
+
+---
+
+*(1)*
+- Regex: `re.search(r'<([^>]+)>', author_str)`--> look in package.authors, them from init until email init.
+- Example: `authors = ["rustdesk "]`
+- Result: `rustdesk`
+
+*(2)*
+- Regex: `re.search(r'<([^>]+)>', author_str)`--> look in package.authors
+- Example: `authors = ["rustdesk "]`
+- Result: `info@rustdesk.com`
+
+*(3)*, *(4)*
+- Look for expressions in a local dictionary with all the reference and spdx_id
+- Example: `license = "Apache-2.0"`
+- Result spdx_id: `Apache-2.0`
+- Result name: `Apache License 2.0`
+
diff --git a/docs/codemetajson 2.md b/docs/codemetajson 2.md
new file mode 100644
index 0000000..6fb84c8
--- /dev/null
+++ b/docs/codemetajson 2.md
@@ -0,0 +1,46 @@
+The following metadata fields can be extracted from a codemeta.json file.
+These fields are defined in the [Codemeta specification](https://github.com/codemeta/codemeta/blob/master/crosswalk.csv), currently at version **3.0**, and are mapped according to the properties and classes defined in the CodeMeta vocabulary.
+
+| Software metadata category | SOMEF metadata JSON path | CODEMETA.JSON metadata file field |
+|-------------------------------|------------------------------|--------------------------------------------|
+| application_domain | application_domain[i].result.value | applicationCategory |
+| authors - value | authors[i].result.value | author.name or author.givenName + author.familyName |
+| authors - email | authors[i].result.email | author.email |
+| authors - affiliation | authors[i].result.affiliation | author.affiliation |
+| authors - identifier | authors[i].result.identifier | author.identifier or author.@id |
+| citation - value | citation[i].result.value | referencePublication.name or referencePublication.title |
+| citation - title | citation[i].result.title | referencePublication.name or referencePublication.title |
+| citation - url | citation[i].result.url | referencePublication.url |
+| citation - date published | citation[i].result.date_published | referencePublication.datePublished
+| citation - doi | citation[i].result.doi | referencePublication.identifier |
+| code_repository | code_repository[i].result.value | codeRepository |
+| continuous_integration | continuous_integration[i].result.value | contIntegration |
+| date_created | date_created[i].result.value | dateCreated |
+| date_updated | date_updated[i].result.value | dateModified |
+| date_published | date_published[i].result .value | datePublished |
+| description | description[i].result.value | description |
+| development_status | development_status[i].result.value | developmentStatus |
+| download_url | download_url[i].result.value | downloadUrl |
+| has_package_file | has_package_file[i].result.value | URL of the codemeta.json file |
+| funding - funder | funding[i].result.funder | funding.funder or funding.funder.name |
+| funding - funding | funding[i].result.funding | String.fundingIdentifier |
+| identifier | identifier[i].result.value | identifier |
+| issue_tracker | issue_tracker[i].result.value | issueTracker |
+| keywords | keywords[i].result.value | keywords |
+| license - value | license[i].result .value | license.name |
+| license - url | license[i].result.url | license.url |
+| license - spdx id | license[i].result.spdx_id | license.identifier if "spdx.org/licenses/ |
+| license - identifier | license[i].result.identifier | license.identifier or https://spdx.org/licenses/{license} |
+| name | name[i].result.value | name |
+| programming_languages - value | programming_languages[i].result.value | programmingLanguage.name |
+| programming_languages - name | programming_languages[i].result.name | programmingLanguage.name |
+| programming_languages - version | programming_languages[i].result.version | programmingLanguage.version |
+| programming_languages - url | programming_languages[i].result.url | programmingLanguage.url |
+| readme_url | readme_url[i].result.value | readme |
+| requirements - value | requirements[i].result.value | softwareRequirements or softwareRequirements.name == softwareRequirements.version |
+| requirements - name | requirements[i].result.name | softwareRequirements or softwareRequirements.name or softwareRequirements.identifier |
+| requirements - version | requirements[i].result.version | softwareRequirements or softwareRequirements.version |
+| version | version[i].result.value | softwareVersion or version |
+
+
+
\ No newline at end of file
diff --git a/docs/codemetajson.md b/docs/codemetajson.md
new file mode 100644
index 0000000..6fb84c8
--- /dev/null
+++ b/docs/codemetajson.md
@@ -0,0 +1,46 @@
+The following metadata fields can be extracted from a codemeta.json file.
+These fields are defined in the [Codemeta specification](https://github.com/codemeta/codemeta/blob/master/crosswalk.csv), currently at version **3.0**, and are mapped according to the properties and classes defined in the CodeMeta vocabulary.
+
+| Software metadata category | SOMEF metadata JSON path | CODEMETA.JSON metadata file field |
+|-------------------------------|------------------------------|--------------------------------------------|
+| application_domain | application_domain[i].result.value | applicationCategory |
+| authors - value | authors[i].result.value | author.name or author.givenName + author.familyName |
+| authors - email | authors[i].result.email | author.email |
+| authors - affiliation | authors[i].result.affiliation | author.affiliation |
+| authors - identifier | authors[i].result.identifier | author.identifier or author.@id |
+| citation - value | citation[i].result.value | referencePublication.name or referencePublication.title |
+| citation - title | citation[i].result.title | referencePublication.name or referencePublication.title |
+| citation - url | citation[i].result.url | referencePublication.url |
+| citation - date published | citation[i].result.date_published | referencePublication.datePublished
+| citation - doi | citation[i].result.doi | referencePublication.identifier |
+| code_repository | code_repository[i].result.value | codeRepository |
+| continuous_integration | continuous_integration[i].result.value | contIntegration |
+| date_created | date_created[i].result.value | dateCreated |
+| date_updated | date_updated[i].result.value | dateModified |
+| date_published | date_published[i].result .value | datePublished |
+| description | description[i].result.value | description |
+| development_status | development_status[i].result.value | developmentStatus |
+| download_url | download_url[i].result.value | downloadUrl |
+| has_package_file | has_package_file[i].result.value | URL of the codemeta.json file |
+| funding - funder | funding[i].result.funder | funding.funder or funding.funder.name |
+| funding - funding | funding[i].result.funding | String.fundingIdentifier |
+| identifier | identifier[i].result.value | identifier |
+| issue_tracker | issue_tracker[i].result.value | issueTracker |
+| keywords | keywords[i].result.value | keywords |
+| license - value | license[i].result .value | license.name |
+| license - url | license[i].result.url | license.url |
+| license - spdx id | license[i].result.spdx_id | license.identifier if "spdx.org/licenses/ |
+| license - identifier | license[i].result.identifier | license.identifier or https://spdx.org/licenses/{license} |
+| name | name[i].result.value | name |
+| programming_languages - value | programming_languages[i].result.value | programmingLanguage.name |
+| programming_languages - name | programming_languages[i].result.name | programmingLanguage.name |
+| programming_languages - version | programming_languages[i].result.version | programmingLanguage.version |
+| programming_languages - url | programming_languages[i].result.url | programmingLanguage.url |
+| readme_url | readme_url[i].result.value | readme |
+| requirements - value | requirements[i].result.value | softwareRequirements or softwareRequirements.name == softwareRequirements.version |
+| requirements - name | requirements[i].result.name | softwareRequirements or softwareRequirements.name or softwareRequirements.identifier |
+| requirements - version | requirements[i].result.version | softwareRequirements or softwareRequirements.version |
+| version | version[i].result.value | softwareVersion or version |
+
+
+
\ No newline at end of file
diff --git a/docs/composer 2.md b/docs/composer 2.md
new file mode 100644
index 0000000..a3ac6e6
--- /dev/null
+++ b/docs/composer 2.md
@@ -0,0 +1,25 @@
+The following metadata fields can be extracted from a composer.json file.
+These fields are defined in the [Composer.json specification](https://getcomposer.org/doc/04-schema.md), currently at version **2.8.12**, and are mapped to CodeMeta properties following the internal mapping implemented in the parser, since no dedicated CodeMeta crosswalk for composer.json exists.
+
+| Software metadata category | SOMEF metadata JSON path | COMPOSER.JSON metadata file field |
+|-------------------------------|-----------------------------------|-----------------------------------|
+| authors - value | authors[i].result.value | authors.name |
+| authors - name | authors[i].result.name | authors.name |
+| authors - name | authors[i].result email | authors.email |
+| authors - url | authors[i].result.url | authors.homepage |
+| authors - role | authors[i].result.role | authors.role |
+| code_repository | code_repository[i].result.value | repository or repository.url |
+| description | description[i].result.value | description |
+| has_package_file | has_package_file[i].result.value | URL of the composer.json file |
+| homepage | homepage[i].result.value | homepage |
+| keywords | keywords[i].result.value | keywords |
+| license - value | license[i].result.value | license |
+| license - spdx id | license[i].result.spdx_id | license(name:value) -> license.value if spdx_id |
+| license - name | license[i].result.name | license(name:value) -> license.name |
+| package_id | package_id[i].result.value | name |
+| requirements - value | requirements[i].result.value | require.name require.version or require-dev.name reire-dev.version |
+| requirements - name | requirements[i].result.name | require.name or require-dev.name |
+| requirements - version | requirements[i].result.version | require.version or require-dev.version |
+| requirements - dependency type | requirements[i].result.dependency_type | require = runtime or require-dev = dev |
+| version - value | version[i].result.value | version |
+| version - tag | version[i].result.tag | version |
diff --git a/docs/composer.md b/docs/composer.md
new file mode 100644
index 0000000..a3ac6e6
--- /dev/null
+++ b/docs/composer.md
@@ -0,0 +1,25 @@
+The following metadata fields can be extracted from a composer.json file.
+These fields are defined in the [Composer.json specification](https://getcomposer.org/doc/04-schema.md), currently at version **2.8.12**, and are mapped to CodeMeta properties following the internal mapping implemented in the parser, since no dedicated CodeMeta crosswalk for composer.json exists.
+
+| Software metadata category | SOMEF metadata JSON path | COMPOSER.JSON metadata file field |
+|-------------------------------|-----------------------------------|-----------------------------------|
+| authors - value | authors[i].result.value | authors.name |
+| authors - name | authors[i].result.name | authors.name |
+| authors - name | authors[i].result email | authors.email |
+| authors - url | authors[i].result.url | authors.homepage |
+| authors - role | authors[i].result.role | authors.role |
+| code_repository | code_repository[i].result.value | repository or repository.url |
+| description | description[i].result.value | description |
+| has_package_file | has_package_file[i].result.value | URL of the composer.json file |
+| homepage | homepage[i].result.value | homepage |
+| keywords | keywords[i].result.value | keywords |
+| license - value | license[i].result.value | license |
+| license - spdx id | license[i].result.spdx_id | license(name:value) -> license.value if spdx_id |
+| license - name | license[i].result.name | license(name:value) -> license.name |
+| package_id | package_id[i].result.value | name |
+| requirements - value | requirements[i].result.value | require.name require.version or require-dev.name reire-dev.version |
+| requirements - name | requirements[i].result.name | require.name or require-dev.name |
+| requirements - version | requirements[i].result.version | require.version or require-dev.version |
+| requirements - dependency type | requirements[i].result.dependency_type | require = runtime or require-dev = dev |
+| version - value | version[i].result.value | version |
+| version - tag | version[i].result.tag | version |
diff --git a/docs/description 2.md b/docs/description 2.md
new file mode 100644
index 0000000..87c5eb8
--- /dev/null
+++ b/docs/description 2.md
@@ -0,0 +1,86 @@
+The following metadata fields can be extracted from a DESCRIPTION file.
+These fields are defined in the [DESCRIPTON specification](https://r-pkgs.org/description.html), and are mapped according to the [CodeMeta crosswalk for DESCRIPTION files based in R Package](https://github.com/codemeta/codemeta/blob/master/crosswalks/R%20Package%20Description.csv).
+
+| Software metadata category | SOMEF metadata JSON path | DESCRIPTION metadata file field |
+|-------------------------------|---------------------------------|---------------------|
+| authors | authors[i].result.value | Authors *(1)* |
+| authors | authors[i].result.email | Authors *(2)* |
+| code_repository | code_repository[i].result.value | URL *(3)* |
+| description | description[i].result.value | Description *(3)* |
+| has_package_file | has_package_file[i].result.value | URL of the DESCRIPTION file |
+| homepage | homepage[i].result.value | URL *(3)* |
+| issue_tracker | issue_tracker[i].result.value | BugReports *(5)* |
+| license | license[i].result.value | License *(6)* |
+| package_id | package_id[i].result.value | Package *(6)* |
+| version | version[i].result.value | Version *(7)* |
+
+---
+
+*(1)*, *(2)* ,
+- Regex 1: `r'Authors@R:\s*c\(([\s\S]*?)\)\s*$' → group[1]`
+- Regex 2: `find in group[1] all persons and extract first name (or organition), last name and email`
+- Example:
+```
+ Authors@R: c(
+ person("Hadley", "Wickham", , "hadley@posit.co", role = "aut",
+ comment = c(ORCID = "0000-0003-4757-117X")),
+ person("Winston", "Chang", role = "aut",
+ comment = c(ORCID = "0000-0002-1576-2126"))
+ )
+```
+
+- Result:
+```
+{'result': {'value': 'Hadley Wickham', 'type': 'Agent', 'email': 'hadley@posit.co'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'https://example.org/DESCRIPTION'}, {'result': {'value': 'Winston Chang', 'type': 'Agent'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'https://example.org/DESCRIPTION'}
+```
+
+*(3)*
+- Regex: `'URL:\s*([^\n]+(?:\n\s+[^\n]+)*)'`
+- if github.com or gitlab.com --> code_repository
+- if not --> homepage
+
+- Example:
+```
+URL: https://ggplot2.tidyverse.org,
+ https://github.com/tidyverse/ggplot2
+```
+
+- Result code_repository: `'result': {'value': 'https://github.com/tidyverse/tidyverse', 'type': 'Url'}`
+- Result hompeage: `'result': {'value': 'https://tidyverse.tidyverse.org', 'type': 'Url'}}`
+
+
+*(3)*
+- Regex: `r'Description:\s*([^\n]+(?:\n\s+[^\n]+)*)', content)`
+- Example:
+```Description: A system for 'declaratively' creating graphics, based on "The
+ Grammar of Graphics". You provide the data, tell 'ggplot2' how to map
+ variables to aesthetics, what graphical primitives to use, and it
+ takes care of the details.
+```
+- Result:
+```
+A system for 'declaratively' creating graphics, based on "The
+ Grammar of Graphics". You provide the data, tell 'ggplot2' how to map
+ variables to aesthetics, what graphical primitives to use, and it
+ takes care of the details.
+```
+
+*(5)*
+- Regex: `'BugReports:\s*([^\n]+)'`
+- Example: `BugReports: https://github.com/tidyverse/ggplot2/issues`
+- Result: `https://github.com/tidyverse/ggplot2/issues`
+
+*(5)*
+- Regex: `r'License:\s*([^\n]+)'``
+- Example: `License: MIT + file LICENSE`
+- Result: `MIT + file LICENSE`
+
+*(6)*
+- Regex: `r'Package:\s*([^\n]+)`
+- Example: `Package: ggplot2`
+- Result: `ggplot2`
+
+*(6)*
+- Regex: `r'Version:\s*([^\n]+)'`
+- Example: `Version: 2.0.0.9000`
+- Result: `2.0.0.9000`
diff --git a/docs/description.md b/docs/description.md
new file mode 100644
index 0000000..87c5eb8
--- /dev/null
+++ b/docs/description.md
@@ -0,0 +1,86 @@
+The following metadata fields can be extracted from a DESCRIPTION file.
+These fields are defined in the [DESCRIPTON specification](https://r-pkgs.org/description.html), and are mapped according to the [CodeMeta crosswalk for DESCRIPTION files based in R Package](https://github.com/codemeta/codemeta/blob/master/crosswalks/R%20Package%20Description.csv).
+
+| Software metadata category | SOMEF metadata JSON path | DESCRIPTION metadata file field |
+|-------------------------------|---------------------------------|---------------------|
+| authors | authors[i].result.value | Authors *(1)* |
+| authors | authors[i].result.email | Authors *(2)* |
+| code_repository | code_repository[i].result.value | URL *(3)* |
+| description | description[i].result.value | Description *(3)* |
+| has_package_file | has_package_file[i].result.value | URL of the DESCRIPTION file |
+| homepage | homepage[i].result.value | URL *(3)* |
+| issue_tracker | issue_tracker[i].result.value | BugReports *(5)* |
+| license | license[i].result.value | License *(6)* |
+| package_id | package_id[i].result.value | Package *(6)* |
+| version | version[i].result.value | Version *(7)* |
+
+---
+
+*(1)*, *(2)* ,
+- Regex 1: `r'Authors@R:\s*c\(([\s\S]*?)\)\s*$' → group[1]`
+- Regex 2: `find in group[1] all persons and extract first name (or organition), last name and email`
+- Example:
+```
+ Authors@R: c(
+ person("Hadley", "Wickham", , "hadley@posit.co", role = "aut",
+ comment = c(ORCID = "0000-0003-4757-117X")),
+ person("Winston", "Chang", role = "aut",
+ comment = c(ORCID = "0000-0002-1576-2126"))
+ )
+```
+
+- Result:
+```
+{'result': {'value': 'Hadley Wickham', 'type': 'Agent', 'email': 'hadley@posit.co'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'https://example.org/DESCRIPTION'}, {'result': {'value': 'Winston Chang', 'type': 'Agent'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'https://example.org/DESCRIPTION'}
+```
+
+*(3)*
+- Regex: `'URL:\s*([^\n]+(?:\n\s+[^\n]+)*)'`
+- if github.com or gitlab.com --> code_repository
+- if not --> homepage
+
+- Example:
+```
+URL: https://ggplot2.tidyverse.org,
+ https://github.com/tidyverse/ggplot2
+```
+
+- Result code_repository: `'result': {'value': 'https://github.com/tidyverse/tidyverse', 'type': 'Url'}`
+- Result hompeage: `'result': {'value': 'https://tidyverse.tidyverse.org', 'type': 'Url'}}`
+
+
+*(3)*
+- Regex: `r'Description:\s*([^\n]+(?:\n\s+[^\n]+)*)', content)`
+- Example:
+```Description: A system for 'declaratively' creating graphics, based on "The
+ Grammar of Graphics". You provide the data, tell 'ggplot2' how to map
+ variables to aesthetics, what graphical primitives to use, and it
+ takes care of the details.
+```
+- Result:
+```
+A system for 'declaratively' creating graphics, based on "The
+ Grammar of Graphics". You provide the data, tell 'ggplot2' how to map
+ variables to aesthetics, what graphical primitives to use, and it
+ takes care of the details.
+```
+
+*(5)*
+- Regex: `'BugReports:\s*([^\n]+)'`
+- Example: `BugReports: https://github.com/tidyverse/ggplot2/issues`
+- Result: `https://github.com/tidyverse/ggplot2/issues`
+
+*(5)*
+- Regex: `r'License:\s*([^\n]+)'``
+- Example: `License: MIT + file LICENSE`
+- Result: `MIT + file LICENSE`
+
+*(6)*
+- Regex: `r'Package:\s*([^\n]+)`
+- Example: `Package: ggplot2`
+- Result: `ggplot2`
+
+*(6)*
+- Regex: `r'Version:\s*([^\n]+)'`
+- Example: `Version: 2.0.0.9000`
+- Result: `2.0.0.9000`
diff --git a/docs/dockerfiledoc 2.md b/docs/dockerfiledoc 2.md
new file mode 100644
index 0000000..6dc668f
--- /dev/null
+++ b/docs/dockerfiledoc 2.md
@@ -0,0 +1,30 @@
+The following metadata fields can be extracted from a Dockerfile.
+These fields are defined using Dockerfile `LABEL` instructions as described in the
+[Dockerfile reference](https://docs.docker.com/reference/dockerfile/) and are interpreted
+according to the OCI Image Specification, following the
+[mapping for OCI image annotations](https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys).
+
+| Software metadata category | SOMEF metadata JSON path | DOCKERFILE metadata file field |
+|-----------------------------|-----------------------------------------|------------------------------------|
+| authors | authors[i].result.value | org.opencontainers.image.authors *(1)* |
+| authors | authors[i].result.value | LABEL maintainer *(1)* |
+| code_repository | code_repository[i].result.value | org.opencontainers.image.url |
+| description | description[i].result.value | org.opencontainers.image.description |
+| documentation | documentation[i].result.value | org.opencontainers.image.documentation |
+| license | license[i].result.value | org.opencontainers.image.licenses |
+| name | name[i].result.value | org.opencontainers.image.ref.name |
+| owner | owner[i].result.value | org.opencontainers.image.vendor |
+| version | version[i].result.value | org.opencontainers.image.version |
+
+
+---
+
+
+*(1)*
+- Example:
+```
+LABEL maintainer="The Prometheus Authors "
+LABEL org.opencontainers.image.authors="The Prometheus Authors" \
+```
+
+
diff --git a/docs/dockerfiledoc.md b/docs/dockerfiledoc.md
new file mode 100644
index 0000000..6dc668f
--- /dev/null
+++ b/docs/dockerfiledoc.md
@@ -0,0 +1,30 @@
+The following metadata fields can be extracted from a Dockerfile.
+These fields are defined using Dockerfile `LABEL` instructions as described in the
+[Dockerfile reference](https://docs.docker.com/reference/dockerfile/) and are interpreted
+according to the OCI Image Specification, following the
+[mapping for OCI image annotations](https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys).
+
+| Software metadata category | SOMEF metadata JSON path | DOCKERFILE metadata file field |
+|-----------------------------|-----------------------------------------|------------------------------------|
+| authors | authors[i].result.value | org.opencontainers.image.authors *(1)* |
+| authors | authors[i].result.value | LABEL maintainer *(1)* |
+| code_repository | code_repository[i].result.value | org.opencontainers.image.url |
+| description | description[i].result.value | org.opencontainers.image.description |
+| documentation | documentation[i].result.value | org.opencontainers.image.documentation |
+| license | license[i].result.value | org.opencontainers.image.licenses |
+| name | name[i].result.value | org.opencontainers.image.ref.name |
+| owner | owner[i].result.value | org.opencontainers.image.vendor |
+| version | version[i].result.value | org.opencontainers.image.version |
+
+
+---
+
+
+*(1)*
+- Example:
+```
+LABEL maintainer="The Prometheus Authors "
+LABEL org.opencontainers.image.authors="The Prometheus Authors" \
+```
+
+
diff --git a/docs/gemspec 2.md b/docs/gemspec 2.md
new file mode 100644
index 0000000..b55cbd0
--- /dev/null
+++ b/docs/gemspec 2.md
@@ -0,0 +1,86 @@
+The following metadata fields can be extracted from a gemspec file.
+These fields are defined in the [Ruby Gems specification](https://guides.rubygems.org/specification-reference/) currently at version **2.0**, and are mapped according to the [CodeMeta crosswalk for ruby gems](https://github.com/codemeta/codemeta/blob/master/crosswalks/Ruby%20Gem.csv).
+
+| Software metadata category | SOMEF metadata JSON path | .gemspec metadata file field |
+|-------------------------------|--------------------------------|--------------------------------------|
+| authors | authors[i].result.value | gem.authors *(1)* |
+| description | description[i].resultvalue | description *(2)* |
+| has_package_file | has_package_file[i].result.value | URL of the filename.gemspec file |
+| homepage | homepage[i].result.value | homepage *(3)* |
+| license - value | license[i].result.value | license/licenses *(4)* |
+| license - spdx id | license[i].result.spdx_id | license/licenses *(4)* spdx_id |
+| license - name | license[i].result.name | llicense/licenses name *(4)* |
+| package_id | package_id[i].result.value | name *(5)* |
+| requirements - value | requirements[i].result.value | requirements/add_dependency/add_development_dependency name:version *(6)* |
+| requirements - name | requirements[i].result.name | requirements/add_dependency/add_development_dependency name *(6)* |
+| requirements - version | requirements[i].result.version | requirements/add_dependency/add_development_dependency version *(6)* |
+| requirements - development type | requirements[i].result.development_type | add_dependency -> runtime *(6)* |
+| requirements - development type | requirements[i].result.development_type | add_development_dependency -> dev *(6)* |
+
+---
+
+*(1)*
+- Regex: `r'gem\.author[s]?\s*=\s*(?P"[^"]*"|\[[^\]]*\])'`
+- Example:
+```
+ s.authors = [
+ "André Arko", "Samuel Giddins", "Colby Swandale", "Hiroshi Shibata"
+ ]
+```
+```
+ s.author = "Daniel Garijo"
+```
+
+*(2)*
+- Regex: `r'gem\.description\s*=\s*%q{([^}]+)}|gem\.description\s*=\s*["\']([^"\']+)["\']'`
+
+
+*(3)*
+- Regex: `r'gem\.homepage\s*=\s*["\']([^"\']+)["\']`
+- Example: `s.homepage = "https://bundler.io"`
+- Result: `https://bundler.io`
+
+*(4)*
+- Regex: `r'gem\.license[s]?\s*=\s*["\']([^"\']+)["\']'`
+- if license with spdx_id:
+```
+ name
+ value
+ spdx_id
+```
+- if not just value
+- Example: `gem.license = 'MIT'`
+- Result: `MIT`
+
+*(5)*
+- Regex: `r'gem\.name\s*=\s*["\']([^"\']+)["\']`
+- Example: `gem.name = "bootstrap-datepicker-rails"`
+- Resutl: `bootstrap-datepicker-rails`
+
+*(5)*
+- Regex1: `r'gem\.requirements\s*=\s*(\[.*?\])'`
+- Example:
+```
+spec.requirements = [
+ "Java Development Kit (JDK) 1.6 or newer is required.",
+ "The environment variable JAVA_HOME must be correctly defined."
+]
+
+```
+- Result: `["Java Development Kit (JDK) 1.6 or newer is required.","The environment variable JAVA_HOME must be correctly defined."]`
+- Regex2: `r'gem\.add_dependency\s*["\']([^"\']+)["\'](?:\s*,\s*["\']([^"\']+)["\'])?'`
+- Regex3: `'gem\.add_development_dependency\s*["\']([^"\']+)["\'](?:\s*,\s*["\']([^"\']+)["\'])?'`
+- Example:
+```
+ gem.add_dependency "railties", ">= 3.0"
+ gem.add_development_dependency "bundler", ">= 1.0"
+```
+Result: add_depency --> type runtime; add_development_dependencyd --> type dev
+```
+ [{'result': {'value': 'railties: >= 3.0', 'name': 'railties', 'version': '>= 3.0', 'type': 'Software_application', 'dependency_type': 'runtime'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'https://example.org/bootstrap-datepicker-rails.gemspec'}, {'result': {'value': 'bundler: >= 1.0', 'name': 'bundler', 'version': '>= 1.0', 'type': 'Software_application', 'dependency_type': 'dev'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'https://example.org/bootstrap-datepicker-rails.gemspec'}]
+```
+
+
+
+
+
diff --git a/docs/gemspec.md b/docs/gemspec.md
new file mode 100644
index 0000000..b55cbd0
--- /dev/null
+++ b/docs/gemspec.md
@@ -0,0 +1,86 @@
+The following metadata fields can be extracted from a gemspec file.
+These fields are defined in the [Ruby Gems specification](https://guides.rubygems.org/specification-reference/) currently at version **2.0**, and are mapped according to the [CodeMeta crosswalk for ruby gems](https://github.com/codemeta/codemeta/blob/master/crosswalks/Ruby%20Gem.csv).
+
+| Software metadata category | SOMEF metadata JSON path | .gemspec metadata file field |
+|-------------------------------|--------------------------------|--------------------------------------|
+| authors | authors[i].result.value | gem.authors *(1)* |
+| description | description[i].resultvalue | description *(2)* |
+| has_package_file | has_package_file[i].result.value | URL of the filename.gemspec file |
+| homepage | homepage[i].result.value | homepage *(3)* |
+| license - value | license[i].result.value | license/licenses *(4)* |
+| license - spdx id | license[i].result.spdx_id | license/licenses *(4)* spdx_id |
+| license - name | license[i].result.name | llicense/licenses name *(4)* |
+| package_id | package_id[i].result.value | name *(5)* |
+| requirements - value | requirements[i].result.value | requirements/add_dependency/add_development_dependency name:version *(6)* |
+| requirements - name | requirements[i].result.name | requirements/add_dependency/add_development_dependency name *(6)* |
+| requirements - version | requirements[i].result.version | requirements/add_dependency/add_development_dependency version *(6)* |
+| requirements - development type | requirements[i].result.development_type | add_dependency -> runtime *(6)* |
+| requirements - development type | requirements[i].result.development_type | add_development_dependency -> dev *(6)* |
+
+---
+
+*(1)*
+- Regex: `r'gem\.author[s]?\s*=\s*(?P"[^"]*"|\[[^\]]*\])'`
+- Example:
+```
+ s.authors = [
+ "André Arko", "Samuel Giddins", "Colby Swandale", "Hiroshi Shibata"
+ ]
+```
+```
+ s.author = "Daniel Garijo"
+```
+
+*(2)*
+- Regex: `r'gem\.description\s*=\s*%q{([^}]+)}|gem\.description\s*=\s*["\']([^"\']+)["\']'`
+
+
+*(3)*
+- Regex: `r'gem\.homepage\s*=\s*["\']([^"\']+)["\']`
+- Example: `s.homepage = "https://bundler.io"`
+- Result: `https://bundler.io`
+
+*(4)*
+- Regex: `r'gem\.license[s]?\s*=\s*["\']([^"\']+)["\']'`
+- if license with spdx_id:
+```
+ name
+ value
+ spdx_id
+```
+- if not just value
+- Example: `gem.license = 'MIT'`
+- Result: `MIT`
+
+*(5)*
+- Regex: `r'gem\.name\s*=\s*["\']([^"\']+)["\']`
+- Example: `gem.name = "bootstrap-datepicker-rails"`
+- Resutl: `bootstrap-datepicker-rails`
+
+*(5)*
+- Regex1: `r'gem\.requirements\s*=\s*(\[.*?\])'`
+- Example:
+```
+spec.requirements = [
+ "Java Development Kit (JDK) 1.6 or newer is required.",
+ "The environment variable JAVA_HOME must be correctly defined."
+]
+
+```
+- Result: `["Java Development Kit (JDK) 1.6 or newer is required.","The environment variable JAVA_HOME must be correctly defined."]`
+- Regex2: `r'gem\.add_dependency\s*["\']([^"\']+)["\'](?:\s*,\s*["\']([^"\']+)["\'])?'`
+- Regex3: `'gem\.add_development_dependency\s*["\']([^"\']+)["\'](?:\s*,\s*["\']([^"\']+)["\'])?'`
+- Example:
+```
+ gem.add_dependency "railties", ">= 3.0"
+ gem.add_development_dependency "bundler", ">= 1.0"
+```
+Result: add_depency --> type runtime; add_development_dependencyd --> type dev
+```
+ [{'result': {'value': 'railties: >= 3.0', 'name': 'railties', 'version': '>= 3.0', 'type': 'Software_application', 'dependency_type': 'runtime'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'https://example.org/bootstrap-datepicker-rails.gemspec'}, {'result': {'value': 'bundler: >= 1.0', 'name': 'bundler', 'version': '>= 1.0', 'type': 'Software_application', 'dependency_type': 'dev'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'https://example.org/bootstrap-datepicker-rails.gemspec'}]
+```
+
+
+
+
+
diff --git a/docs/index.md b/docs/index.md
index f6e1671..fdf438d 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,19 +1,35 @@
-# Software Metadata Extraction Framework (SOMEF-core) [](https://badge.fury.io/py/somef) [](https://badge.fury.io/py/somef) [](https://zenodo.org/badge/latestdoi/190487675) [](https://mybinder.org/v2/gh/KnowledgeCaptureAndDiscovery/somef/HEAD?filepath=notebook%2FSOMEF%20Usage%20Example.ipynb) [](https://www.repostatus.org/#active)
+# Software Metadata Extraction Framework (SOMEF) [](https://badge.fury.io/py/somef) [](https://badge.fury.io/py/somef) [](https://zenodo.org/badge/latestdoi/190487675) [](https://mybinder.org/v2/gh/KnowledgeCaptureAndDiscovery/somef/HEAD?filepath=notebook%2FSOMEF%20Usage%20Example.ipynb) [](https://www.repostatus.org/#active)
**Authors:** Daniel Garijo, Allen Mao, Miguel Ángel García Delgado, Haripriya Dharmala, Vedant Diwanji, Jiaying Wang, Aidan Kelley and Jenifer Tabita Ciuciu-Kiss.
-The aim of SOMEF-core is to help automatically extract metadata from scientific software from their readme files and GitHub repositories and make it available in a machine-readable manner. Thanks to SOMEF, we can populate knowedge graphs of scientific software metadata and relate different software together.
+The aim of SOMEF is to help automatically extract metadata from scientific software from their readme files and GitHub repositories and make it available in a machine-readable manner. Thanks to SOMEF, we can populate knowedge graphs of scientific software metadata and relate different software together.
-SOMEF-core has currently been tested with GitHub repositories, but it can extract metadata from any readme file written in mardown syntax.
+SOMEF has currently been tested with GitHub repositories, but it can extract metadata from any readme file written in mardown syntax.
!!! info
If you experience any issues when using SOMEF, please open an issue on our [GitHub repository](https://github.com/KnowledgeCaptureAndDiscovery/somef/issues).
## Features
-Given a readme file (or a GitHub repository) SOMEF-core will extract the following categories (if present):
+Given a readme file (or a GitHub repository) SOMEF will extract the following categories (if present):
- **Acknowledgement**: Text acknowledging funding sources or contributors
+- **Application domain**: The application domain of the repository. This may be related to the research area of a software component (e.g., Astrophysics) or the general domain/functionality of the tool (i.e., machine learning projects)[1](#myfootnote1)
+- **Assets**: files attached to the release
+ - url: URL of the publication of the file
+ - name: name of the file
+ - content_size: file size
+ - content_url: direct download link for the release file
+ - encoding_format: format of the file
+ - upload_date: date of publishing
+ - download_count: numbers of downloads
+- **Authors**: Person(s) or organization(s) responsible for the project. We recognize the following properties:
+ - Name: name of the author (including last name)
+ - Given name: First name of an author
+ - Family name: Last name of an author
+ - Email: email of author
+ - URL: website or ORCID associated with the author
+ - Affiliation: name of organization or affiliation
- **Build file**: Build file(s) of the project. For example, files used to create a Docker image for the target software, package files, etc.
- **Citation**: Preferred citation as the authors have stated in their readme file. SOMEF recognizes Bibtex, Citation File Format files and other means by which authors cite their papers (e.g., by in-text citation). We aim to recognize the following properties:
- Title: Title of the publication
@@ -38,7 +54,8 @@ Given a readme file (or a GitHub repository) SOMEF-core will extract the followi
- **Forks url**: Links to forks made of the project
- **Full name**: Name + owner (owner/name)
- **Full title**: If the repository is a short name, we will attempt to extract the longer version of the repository name
-- **Identifier**: Identifier associated with the software (if any), such as Digital Object Identifiers. DOIs associated with publications will also be detected.
+- **Homepage**: URL of the item.
+- **Identifier**: Identifier associated with the software (if any), such as Digital Object Identifiers and Software Heritage identifiers (SWH). DOIs associated with publications will also be detected.
- **Images**: Images used to illustrate the software component
- **Installation instructions**: A set of instructions that indicate how to install a target repository
- **Invocation**: Execution command(s) needed to run a scientific software component
@@ -47,12 +64,14 @@ Given a readme file (or a GitHub repository) SOMEF-core will extract the followi
- **License**: License and usage terms of a software component
- **Logo**: Main logo used to represent the target software component
- **Name**: Name identifying a software component
+- **Ontologies**: URL and path to the ontology files present in the repository
- **Owner**: Name and type of the user or organization in charge of the repository
- **Package distribution**: Links to package sites like pypi in case the repository has a package available.
- **Package files**: Links to package files used to wrap the project in a package.
- **Programming languages**: Languages used in the repository
- **Related papers**: URL to possible related papers within the repository stated within the readme file (from Arxiv)
-- **Releases** (GitHub only): Pointer to the available versions of a software component. For each release, somef will track the following properties:
+- **Releases** (GitHub and Gitlab): Pointer to the available versions of a software component. For each release, somef will track the following properties:
+ - Assets: files attached to the release
- Description: Release notes
- Author: Agent responsible of creating the release
- Name: Name of the release
@@ -64,12 +83,17 @@ Given a readme file (or a GitHub repository) SOMEF-core will extract the followi
- Link to the tarball zip and code of the release
- **Repository status**: Repository status as it is described in [repostatus.org](https://www.repostatus.org/).
- **Requirements**: Pre-requisites and dependencies needed to execute a software component
+- **Run**: Running instructions of a software component. It may be wider than the `invocation` category, as it may include several steps and explanations.
+- **Runtime platform**: specifies runtime platform or script interpreter dependencies required to run the project.
+- **Script files**: Bash script files contained in the repository
- **Stargazers count**: Total number of stargazers of the project
- **Support**: Guidelines and links of where to obtain support for a software component
- **Support channels**: Help channels one can use to get support about the target software component
+- **Type**: type of software (command line application, notebook, ontology, scientific workflow, etc.)
- **Usage examples**: Assumptions and considerations recorded by the authors when executing a software component, or examples on how to use it
+- **Workflows**: URL and path to the computational workflow files present in the repository
-We use different supervised classifiers, header analysis, regular expressions, the GitHub/Gitlab API to retrieve all these fields (more than one technique may be used for each field) and language specific metadata parsers (e.g., for package files). Each extraction records its provenance, with the confidence and technique used on each step. For more information check the [output format description](https://somef-core.readthedocs.io/en/latest/)
+We use different supervised classifiers, header analysis, regular expressions, the GitHub/Gitlab API to retrieve all these fields (more than one technique may be used for each field) and language specific metadata parsers (e.g., for package files). Each extraction records its provenance, with the confidence and technique used on each step. For more information check the [output format description](https://somef.readthedocs.io/en/latest/output/)
1 The available application domains currently are:
@@ -87,6 +111,9 @@ We use different supervised classifiers, header analysis, regular expressions, t
### GitHub API
We use the [Github's API](https://developer.github.com/v3/) to retrieve some of metadata fields indicated above, like name, license changelog and releases of a software component.
+### Scikit Learn
+[Scikit Learn](https://scikit-learn.org/stable/about.html) is a powerful machine learning framework that provides a variety of methods for supervised and unsupervised learning. We use some of these classifiers to train sentence-based models to detect software description, citation, installation instructions and invocation commands.
+
### Wordnet
[Wordnet](https://wordnet.princeton.edu/) is a public lexical database which we use to find synonyms of common headers used when describe software.
@@ -96,5 +123,5 @@ The JavaScript Object Notation (JSON) is a syntax for storing and exchanging dat
### RDF
We use the Resource Description Framework (RDF) to serialize our results. We currently provide two different serializations: [JSON-LD](https://www.w3.org/TR/json-ld11/) and [Turtle](https://www.w3.org/TR/turtle/). The main difference between the JSON and RDF serializations is that they are simpler and do not incorporate the confidence of the results.
-SOMEF-core uses the [Software Description Ontology](https://w3id.org/okn/o/sd), which extends [Schema.org](https://schema.org) and [Codemeta](https://codemeta.github.io/terms/). We also support a Codemeta-specific export.
+SOMEF uses the [Software Description Ontology](https://w3id.org/okn/o/sd), which extends [Schema.org](https://schema.org) and [Codemeta](https://codemeta.github.io/terms/). We also support a Codemeta-specific export.
diff --git a/docs/install.md b/docs/install.md
index 5187b21..7be3c4b 100644
--- a/docs/install.md
+++ b/docs/install.md
@@ -4,11 +4,8 @@
## Install from Pypi
-SOMEF [is available in Pypi!](https://pypi.org/project/somef/). To install it just type:
-```
-pip install somef
-```
+We are currently working on this
## Install from GitHub
To run SOMEF, please follow the next steps:
diff --git a/docs/julia 2.md b/docs/julia 2.md
new file mode 100644
index 0000000..1f09193
--- /dev/null
+++ b/docs/julia 2.md
@@ -0,0 +1,36 @@
+The following metadata fields can be extracted from a Pyproject.toml file with Julia.
+These fields are defined in the [Julia projects specification](https://docs.julialang.org/en/v1/) currently at version **1.12**, and are mapped according to the [CodeMeta crosswalk for julia projects](https://github.com/codemeta/codemeta/blob/master/crosswalks/Julia%20Project.csv).
+
+| Software metadata category | SOMEF metadata JSON path | julia pyproject.toml metadata file field |
+|-------------------------------|--------------------------------|---------------------------------------------------|
+| authors - name | authors[i].result.name | authors *(1)* |
+| authors - email | authors[i].result.email | authors *(1)* |
+| package_id | package_id[i].result.value | name |
+| has_package_file | has_package_file[i].result.value | URL of the Project.toml file |
+| identifier | identifier[i].result .value | uuid |
+| package_id | package_id[i].result.value | name |
+| requirements | requirements[i].result.value | deeps |
+| runtime_platform - value | runtime_platform[i].result.value | properties compat |
+| runtime_platform - name | runtime_platform[i].result.name | compat |
+| version | version[i].result .value | version |
+
+
+---
+
+
+*(1)*
+- Regex: `r'^(.+?)\s*<(.+?)>$''`
+- Example:
+```
+authors = [
+ "Author1 ",
+ ....
+ ]
+
+```
+- Result:
+```
+"name": "Author1",
+"email": "author1@example.com",
+```
+
diff --git a/docs/julia.md b/docs/julia.md
new file mode 100644
index 0000000..1f09193
--- /dev/null
+++ b/docs/julia.md
@@ -0,0 +1,36 @@
+The following metadata fields can be extracted from a Pyproject.toml file with Julia.
+These fields are defined in the [Julia projects specification](https://docs.julialang.org/en/v1/) currently at version **1.12**, and are mapped according to the [CodeMeta crosswalk for julia projects](https://github.com/codemeta/codemeta/blob/master/crosswalks/Julia%20Project.csv).
+
+| Software metadata category | SOMEF metadata JSON path | julia pyproject.toml metadata file field |
+|-------------------------------|--------------------------------|---------------------------------------------------|
+| authors - name | authors[i].result.name | authors *(1)* |
+| authors - email | authors[i].result.email | authors *(1)* |
+| package_id | package_id[i].result.value | name |
+| has_package_file | has_package_file[i].result.value | URL of the Project.toml file |
+| identifier | identifier[i].result .value | uuid |
+| package_id | package_id[i].result.value | name |
+| requirements | requirements[i].result.value | deeps |
+| runtime_platform - value | runtime_platform[i].result.value | properties compat |
+| runtime_platform - name | runtime_platform[i].result.name | compat |
+| version | version[i].result .value | version |
+
+
+---
+
+
+*(1)*
+- Regex: `r'^(.+?)\s*<(.+?)>$''`
+- Example:
+```
+authors = [
+ "Author1 ",
+ ....
+ ]
+
+```
+- Result:
+```
+"name": "Author1",
+"email": "author1@example.com",
+```
+
diff --git a/docs/output.md b/docs/output.md
index 45f5a7f..7a04879 100644
--- a/docs/output.md
+++ b/docs/output.md
@@ -1,9 +1,9 @@
-SOMEF-core supports three main output formats. Each of them contains different information with different levels of granularity. Below we enumerate them from more granular to less granular:
+SOMEF supports three main output formats. Each of them contains different information with different levels of granularity. Below we enumerate them from more granular to less granular:
## JSON format
**Version:** 1.0.1
-Default SOMEF-core response (and more complete in terms of metadata). The JSON format returns a set of categories, as shown in the snippet below:
+Default SOMEF response (and more complete in terms of metadata). The JSON format returns a set of categories, as shown in the snippet below:
```json
{
@@ -66,6 +66,7 @@ The `confidence` depends on the `technique` used. In this case, the confidence i
SOMEF aims to recognize the following categories (in alphabetical order):
- `acknowledgement`: Any text that the authors have prepared to acknnowledge the contribution from others, or project funding.
+- `application_domain`: The application domain of the repository. This may be related to the research area of a software component (e.g., Astrophysics) or the general domain/functionality of the tool (i.e., machine learning projects). See all current recognized application domains [here](https://somef.readthedocs.io/en/latest/#myfootnote1).
- `authors`: Person or organization responsible of the project. This property is also used to indicate the responsible entities of a publication associated with the code repository.
- `citation`: Software citation (usually in `.bib` form) as the authors have stated in their readme file, or through a `CFF` file.
- `code_of_conduct`: Link to the code of conduct file of the project
@@ -77,6 +78,7 @@ SOMEF aims to recognize the following categories (in alphabetical order):
- `date_created`: Date when the software component was created.
- `date_updated`: Date when the software component was last updated (note that this will always be older than the date of the extraction).
- `description`: A description of what the software component does.
+- `development_status`: The project’s development stage: beta, deprecated...
- `documentation`: Where to find additional documentation about a software component.
- `download_url`: URL where to download the target software (typically the installer, package or a tarball to a stable version)
- `executable_example`: Jupyter notebooks ready for execution (e.g., through myBinder, colab or files)
@@ -87,6 +89,7 @@ SOMEF aims to recognize the following categories (in alphabetical order):
- `full_title`: If the repository has a short name, we will attempt to extract the longer version of the repository name. For example, a repository may be called "Widoco", but the longer title is "Wizard for documenting ontologies".
- `has_build_file`: Build file to create a Docker image for the target software
- `has_script_file`: Snippets of code contained in the repository.
+- `homepage`: URL of the item.
- `identifier`: Identifiers detected within a repository (e.g., Digital Object Identifier).
- `images`: Images used to illustrate the software component.
- `installation`: A set of instructions that indicate how to install a target repository
@@ -96,6 +99,7 @@ SOMEF aims to recognize the following categories (in alphabetical order):
- `license`: License and usage terms of a software component
- `logo`: Main logo used to represent the target software component.
- `name`: Name identifying a software component
+- `ontologies`: URL and path to the ontology files present in the repository.
- `owner`: Name of the user or organization in charge of the repository
- `package_distribution`: Link to official package repositories where the software can be downloaded from (e.g., `pypi`).
- `package_file`: Link to a package file used in the repository (e.g., `pyproject.toml`, `setup.py`).
@@ -112,6 +116,11 @@ SOMEF aims to recognize the following categories (in alphabetical order):
- `type`: Software type: Commandline Application, Notebook Application, Ontology, Scientific Workflow. Non-Software types: Static Website, Uncategorized
- `usage`: Usage examples and considerations of a code repository.
- `workflows`: URL and path to the computational workflow files present in the repository.
+- `homepage`: URL to the homepage of the software or organization.
+- `reference_publication`: URL to the paper associated with the code repository.
+- `package_id`: Identifier extracted from packages. (e.g., `packages.json`)
+- `funding`: Funding code for the related project.
+- `has_package_file`: Specifies what package file is present in the code repository.
The following table summarized the properties used to describe a `category`:
@@ -162,7 +171,7 @@ The following object `types` are currently supported:
- `Agent`: user (typically, a person) or organization responsible for authoring a software release or a paper.
- `Publication`: Scientific paper associated with the code repository.
- `SoftwareApplication`: Class to represent software dependencies between projects.
-
+- `Runtime_platform`: specifies runtime platform or script interpreter dependencies required to run the project..
The following literal types are currently supported:
- `Number`: A numerical value. We do not distinguish between integer, long or float.
@@ -172,6 +181,8 @@ The following literal types are currently supported:
- `File_dump`: The value is a string with the contents of a file (e.g., a `citation.cff` file, or a `license.md` file).
- `Url`: uniform resource locator of a file.
+
+
+
+
+The tables below summarizes all types and their corresponding properties-
+
+An AGENT has the following properties:
+
+| Property | Expected value | Definition |
+|---|---|---|
+| **email** | String | Email of an author |
+| **family_name** | String | Last name of an author |
+| **given_name** | String | First name of an author |
+| **name** | String | Name used to designate the person or organization|
+| **url** | Url | Uniform resource locator of the resource |
+| **affiliation** | String | name of organization or affiliation |
+| **identifier** | String | id of an agent |
+| **role** | String | role of agent |
+
+An ASSET has the following properties:
+
+| Property | Expected value | Definition |
+|---|---|---|
+| **content_size** | Integer | size of file |
+| **content_url** | String | direct download link for the release file |
+| **download_count** | Integer | numbers of downloads |
+| **encoding_format** | String | format of the file |
+| **name** | String | Title or name of the file |
+| **upload_date** | Date | Date of creation of a release |
+| **url** | Url | Uniform resource locator of the resource |
+
+
+
+A LICENSE has the following properties:
+
+| Property | Expected value | Definition |
+|---|---|---|
+| **name** | String | Title or name of the license |
+| **spdx_id** | String | Spdx id corresponding to this license |
+| **url** | Url | Uniform resource locator of the license |
+| **identifier** | String | id of licence |
+
+A PROGRAMMING_LANGUAGE has the following properties:
+
+| Property | Expected value | Definition |
+|---|---|---|
+| **name** | String | Name of the language |
+| **size** | Integer | File size content (bytes) of a code repository using a given programming language |
+
+
+A PUBLICATION has the following properties:
+
+| Property | Expected value | Definition |
+|---|---|---|
+| **author** | Agent, Organization | Person or organization responsible for creating an article or a software release. |
+| **doi** | Url | When a publication is detected, but the format is in bibtek or CFF, SOMEF will add a `doi` field with the detected DOI value. The result includes a full URL. |
+| **title** | String | Title of the publication |
+| **url** | Url | Uniform resource locator of the resource |
+
+
+A RELEASE has the following properties:
+
+| Property | Expected value | Definition |
+|---|---|---|
+| **assets** | Asset | Files attached to the release
+| **author** | Agent, Organization | Person or organization responsible for creating an article or a software release. |
+| **description** | String | Descriptive text with the purpose of the release |
+| **date_created** | Date | Date of creation of a release |
+| **date_published** | Date | Date of publication of a release |
+| **html_url** | Url | link to the HTML representation of a release |
+| **name** | String | Title or name used to designate the release, license user or programming language. |
+| **release_id** | String | Id of a software release. |
+| **tag** | String | named version of a release |
+| **tarball_url** | Url | URL to the tar ball file where to download a software release |
+| **url** | Url | Uniform resource locator of the resource |
+| **zipball_url** | Url | URL to the zip file where to download a software release |
+
+
+
+
+
+A RUNTIME_PLATFORM has the following properties:
+
+| Property | Expected value | Definition |
+|---|---|---|
+| **name** | String | Name of the runtime platform (e.g., Java) |
+ **version** | String | version of the runtime platform |
+| **value** | String | name and version of the runtime platform |
+
+
+A SCHOLARLY_ARTICLE has the following properties:
+
+| Property | Expected value | Definition |
+|---|---|---|
+| **title** | String | Title of reference or citation |
+| **value** | String | Title of reference or citation |
+| **url** | String | Link to reference or citation |
+| **date_published** | String | date of publication reference or citation |
+| **doi** | String | Identifier of reference|
+
+
+A SOFTWARE_APPLICATION has the following properties:
+
+| Property | Expected value | Definition |
+|---|---|---|
+| **name** | String | Name of the software |
+| **value** | String | Name and version of the software |
+| **version** | String | version of software |
+| **development_type** | String | runtime or dev |
+
+A TEXT_EXCERPT has the following properties:
+
+| Property | Expected value | Definition |
+|---|---|---|
+| **original_header** | String | If the result value is extracted from a markdown file like a README, the original header of that section is also returned. |
+| **parent_header** | [String] | If the result value is extracted from a markdown file like a README, the parent header(s) of the current section are also returned (in case they exist). |
+
### Format
@@ -208,10 +340,16 @@ The following formats for a result value are currently recognized:
- `docker_compose`: [orchestration file](https://docs.docker.com/compose/compose-file/) used to communicate multiple containers.
- `readthedocs`: documentation format used by many repositories in order to describe their projects.
- `wiki`: documentation format used in GitHub repositories.
-- `setup.py`: package file format used in python projects
-- `pyproject.toml`: package file format used in python projects
-- `pom.xml`: package file used in Java projects
-- `package.json`: package file used in Javascript projects
+- `setup.py`: package file format used in python projects.
+- `publiccode.yml`: metadata file used to describe public sector software projects.
+- `pyproject.toml`: package file format used in python projects.
+- `pom.xml`: package file used in Java projects.
+- `package.json`: package file used in Javascript projects.
+- `bower.json`: package descriptor used for configuring packages that can be used as a dependency for Bower-managed front-end projects.
+- `composer.json`: manifest file serves as the package descriptor used in PHP projects.
+- `cargo.toml.json`: manifest file serves as the package descriptor used in Rust projects.
+- `[name].gemspec`:manifest file serves as the package descriptor used in Ruby gem projects.
+
### Technique
The techniques can be of several types:
diff --git a/docs/packagejson 2.md b/docs/packagejson 2.md
new file mode 100644
index 0000000..da5fcc1
--- /dev/null
+++ b/docs/packagejson 2.md
@@ -0,0 +1,92 @@
+The following metadata fields can be extracted from a package.json file.
+These fields are defined in the [Package.json specification](https://docs.npmjs.com/cli/v10/configuring-npm/package-json), currently at version **10.9.4**, and are mapped according to the [CodeMeta crosswalk for package.json](https://github.com/codemeta/codemeta/blob/master/crosswalks/NodeJS.csv).
+
+| Software metadata category | SOMEF metadata JSON path | PACKAGE.JSON metadata file field |
+|-------------------------------|----------------------------------------|--------------------- |
+| authors - value | authors[i].result.value | author.name |
+| authors - email | authors[i].result.email | author.email |
+| authors - url | authors[i].result.url | author.url |
+| authors - name | authors[i].result.name | author.name |
+| code_repository | code_repository[i].result.value | repository/repository.url/repository.directory *(1)*|
+| description | description[i].result.value | description |
+| has_package_file | has_package_file[i].result.value | URL of the package.json file |
+| homepage | homepage[i].result.value | homepage |
+| issue_tracker | issue_tracker[i].result.value | bugs or bugs.url *(2)* |
+| keywords | keywords[i].result.value | keywords |
+| license | license[i].result.value | license or license.type *(3)* |
+| package_id | package_id[i].result.value | name |
+| requirements - value | requirements[i].result.value | dependencies/devDependencies name@sversion *(4)* |
+| requirements - name | requirements[i].result.name | dependencies/devDependencies name *(4)* |
+| requirements - version | requirements[i].result.version | dependencies/devDependencies version *(4)* |
+| runtime_platform - value | runtime_platform[i].result.value | engines(package:version) -> version *(5)* |
+| runtime_platform - name | runtime_platform[i].result.name engines(package:version) -> package *(5)* |
+| version | version[i].result.value | version |
+
+---
+
+*(1)*
+- Example:
+```
+"repository": "npm/npm",
+
+or
+
+"repository": {
+"type": "git",
+"url": "git+https://github.com/npm/cli.git"
+}
+
+or
+
+"repository": {
+"type": "git",
+"directory": "workspaces/libnpmpublish"
+}
+```
+
+*(2)*
+- Example:
+```
+"bugs": {
+"url": "https://github.com/npm/cli/issues"
+}
+
+or
+
+"bugs": "https://github.com/npm/cli/issues"
+
+```
+
+*(2)*
+- Example:
+```
+ "license": "Artistic-2.0"
+
+ or
+
+ "license" : {
+ "type" : "ISC",
+ "url" : "https://opensource.org/licenses/ISC"
+ }
+ ```
+- Result: `Artistic-2.0" or "ISC" (license.type)`
+
+*(3)*
+- Fist part of item -> name; second part --> version
+- Example:
+```
+ "devDependencies":
+ "foo": "1.0.0 - 2.9999.9999",
+ ...
+```
+Resutl:
+```{'result': {'value': 'foo@1.0.0 - 2.9999.9999', 'name': 'foo', 'version': '1.0.0 - 2.9999.9999', 'type': 'Software_application'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'http://example.com/package_neors.json'}```
+
+*(5)*
+- Example:
+```
+ "engines": {
+ "node": ">=0.10.3 <15"
+ }
+```
+- Result: `"name": "Node", "version": "">=0.10.3 <15"`
\ No newline at end of file
diff --git a/docs/packagejson.md b/docs/packagejson.md
new file mode 100644
index 0000000..da5fcc1
--- /dev/null
+++ b/docs/packagejson.md
@@ -0,0 +1,92 @@
+The following metadata fields can be extracted from a package.json file.
+These fields are defined in the [Package.json specification](https://docs.npmjs.com/cli/v10/configuring-npm/package-json), currently at version **10.9.4**, and are mapped according to the [CodeMeta crosswalk for package.json](https://github.com/codemeta/codemeta/blob/master/crosswalks/NodeJS.csv).
+
+| Software metadata category | SOMEF metadata JSON path | PACKAGE.JSON metadata file field |
+|-------------------------------|----------------------------------------|--------------------- |
+| authors - value | authors[i].result.value | author.name |
+| authors - email | authors[i].result.email | author.email |
+| authors - url | authors[i].result.url | author.url |
+| authors - name | authors[i].result.name | author.name |
+| code_repository | code_repository[i].result.value | repository/repository.url/repository.directory *(1)*|
+| description | description[i].result.value | description |
+| has_package_file | has_package_file[i].result.value | URL of the package.json file |
+| homepage | homepage[i].result.value | homepage |
+| issue_tracker | issue_tracker[i].result.value | bugs or bugs.url *(2)* |
+| keywords | keywords[i].result.value | keywords |
+| license | license[i].result.value | license or license.type *(3)* |
+| package_id | package_id[i].result.value | name |
+| requirements - value | requirements[i].result.value | dependencies/devDependencies name@sversion *(4)* |
+| requirements - name | requirements[i].result.name | dependencies/devDependencies name *(4)* |
+| requirements - version | requirements[i].result.version | dependencies/devDependencies version *(4)* |
+| runtime_platform - value | runtime_platform[i].result.value | engines(package:version) -> version *(5)* |
+| runtime_platform - name | runtime_platform[i].result.name engines(package:version) -> package *(5)* |
+| version | version[i].result.value | version |
+
+---
+
+*(1)*
+- Example:
+```
+"repository": "npm/npm",
+
+or
+
+"repository": {
+"type": "git",
+"url": "git+https://github.com/npm/cli.git"
+}
+
+or
+
+"repository": {
+"type": "git",
+"directory": "workspaces/libnpmpublish"
+}
+```
+
+*(2)*
+- Example:
+```
+"bugs": {
+"url": "https://github.com/npm/cli/issues"
+}
+
+or
+
+"bugs": "https://github.com/npm/cli/issues"
+
+```
+
+*(2)*
+- Example:
+```
+ "license": "Artistic-2.0"
+
+ or
+
+ "license" : {
+ "type" : "ISC",
+ "url" : "https://opensource.org/licenses/ISC"
+ }
+ ```
+- Result: `Artistic-2.0" or "ISC" (license.type)`
+
+*(3)*
+- Fist part of item -> name; second part --> version
+- Example:
+```
+ "devDependencies":
+ "foo": "1.0.0 - 2.9999.9999",
+ ...
+```
+Resutl:
+```{'result': {'value': 'foo@1.0.0 - 2.9999.9999', 'name': 'foo', 'version': '1.0.0 - 2.9999.9999', 'type': 'Software_application'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'http://example.com/package_neors.json'}```
+
+*(5)*
+- Example:
+```
+ "engines": {
+ "node": ">=0.10.3 <15"
+ }
+```
+- Result: `"name": "Node", "version": "">=0.10.3 <15"`
\ No newline at end of file
diff --git a/docs/pom 2.md b/docs/pom 2.md
new file mode 100644
index 0000000..b03dcda
--- /dev/null
+++ b/docs/pom 2.md
@@ -0,0 +1,114 @@
+The following metadata fields can be extracted from a pom.xml file.
+These fields are defined in the [Maven POM specification](https://maven.apache.org/pom.html), currently at version **4.0.0**, and are mapped according to the [CodeMeta crosswalk for Java (Maven)](https://github.com/codemeta/codemeta/blob/master/crosswalks/Java%20(Maven).csv).
+
+| Software metadata category | SOMEF metadata JSON path | POM.XML metadata file field |
+|-------------------------------|---------------------------------------------|----------------------------------|
+| authors - value | authors[i].result.value | developers.developer.name |
+| authors - name | authors[i].result.name | developers.developer.name |
+| authors - email | Aauthors[i].result.email | developers.developer.email |
+| authors - url | authors[i].result.url | developers.developer.url |
+| authors - affiliation | authors[i].result.affiliation | developers.developer.organization |
+| has_package_file | has_package_file[i].result .value | URL of the pom.xml file |
+| homepage | homepage[i].result.value | homepage |
+| issue_tracker | issue_tracker[i].result .value | issueManagement.url |
+| package_distribution - value | package_distribution[i].result value | scm.url *(1)*|
+| package_distribution - value | package_distribution[i].result.value | repositories.repository(id) *(2)*|
+| package_distribution - name | package_distribution[i].result.name | repositories.repository(name) *(2)*|
+| package_distribution - url | package_distribution[i].result.url | repositories.repository(url) *(2)*|
+| requirements - value | requirements[i].result.value | dependencies.dependency.grpId.arfifactId *(3)* |
+| requirements - name | requirements[i].result.name | dependencies.dependency.arfifactId *(3)* |
+| requirements - version | requirements[i].result.version | dependencies.dependency.version *(3)* |
+| package_id | package_id[i].result .value | group_id.artifact_id *(4)* |
+| runtime_platform - value | runtime_platform[i].result.value | properties extract name version *(5)* |
+| runtime_platform - name | runtime_platform[i].result.name | properties extract name *(5)*|
+| runtime_platform - value | runtime_platform[i].result.value | properties extract version *(5)* |
+| version | version[i].result .value | version |
+
+---
+
+*(1)*
+- Example:
+```
+
+ scm:svn:http://127.0.0.1/svn/my-project
+ scm:svn:https://127.0.0.1/svn/my-project
+ HEAD
+ http://127.0.0.1/websvn/my-project
+
+```
+- Result:
+```
+package_distribution': [{'result': {'value': 'http://127.0.0.1/websvn/my-project', 'type': 'Url'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'https://example.org/pom.xml'}]
+```
+
+*(2)*
+- Example:
+```
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+```
+- Result:
+```
+'package_distribution': [{
+ 'result': {
+ 'value': 'jitpack.io',
+ 'url': 'https://jitpack.io',
+ 'type': 'Url'
+ }
+```
+
+*(3)*
+- Example:
+```
+
+
+ org.apache.maven
+ maven-model
+ 3.9.0
+
+
+
+```
+- Result:
+```
+'requirements': [{
+ 'result':
+ {'value': 'org.apache.maven.maven-model',
+ 'name': 'maven-model',
+ 'version': '3.9.0',
+ 'type': 'Software_application'},
+
+```
+
+*(4)*
+- Example:
+```
+ es.oeg
+ widoco
+ ```
+- Result:
+```
+ 'package_id': [{
+ 'result': {
+ 'value': 'es.oeg.widoco',
+
+```
+
+ *(5)*
+ - Example:
+```
+
+ 1.8
+
+```
+
+- Result:
+```
+[{'value': 'Java: 1.8', 'name': 'Java', 'version': '1.8'}]
+```
+
+
diff --git a/docs/pom.md b/docs/pom.md
new file mode 100644
index 0000000..b03dcda
--- /dev/null
+++ b/docs/pom.md
@@ -0,0 +1,114 @@
+The following metadata fields can be extracted from a pom.xml file.
+These fields are defined in the [Maven POM specification](https://maven.apache.org/pom.html), currently at version **4.0.0**, and are mapped according to the [CodeMeta crosswalk for Java (Maven)](https://github.com/codemeta/codemeta/blob/master/crosswalks/Java%20(Maven).csv).
+
+| Software metadata category | SOMEF metadata JSON path | POM.XML metadata file field |
+|-------------------------------|---------------------------------------------|----------------------------------|
+| authors - value | authors[i].result.value | developers.developer.name |
+| authors - name | authors[i].result.name | developers.developer.name |
+| authors - email | Aauthors[i].result.email | developers.developer.email |
+| authors - url | authors[i].result.url | developers.developer.url |
+| authors - affiliation | authors[i].result.affiliation | developers.developer.organization |
+| has_package_file | has_package_file[i].result .value | URL of the pom.xml file |
+| homepage | homepage[i].result.value | homepage |
+| issue_tracker | issue_tracker[i].result .value | issueManagement.url |
+| package_distribution - value | package_distribution[i].result value | scm.url *(1)*|
+| package_distribution - value | package_distribution[i].result.value | repositories.repository(id) *(2)*|
+| package_distribution - name | package_distribution[i].result.name | repositories.repository(name) *(2)*|
+| package_distribution - url | package_distribution[i].result.url | repositories.repository(url) *(2)*|
+| requirements - value | requirements[i].result.value | dependencies.dependency.grpId.arfifactId *(3)* |
+| requirements - name | requirements[i].result.name | dependencies.dependency.arfifactId *(3)* |
+| requirements - version | requirements[i].result.version | dependencies.dependency.version *(3)* |
+| package_id | package_id[i].result .value | group_id.artifact_id *(4)* |
+| runtime_platform - value | runtime_platform[i].result.value | properties extract name version *(5)* |
+| runtime_platform - name | runtime_platform[i].result.name | properties extract name *(5)*|
+| runtime_platform - value | runtime_platform[i].result.value | properties extract version *(5)* |
+| version | version[i].result .value | version |
+
+---
+
+*(1)*
+- Example:
+```
+
+ scm:svn:http://127.0.0.1/svn/my-project
+ scm:svn:https://127.0.0.1/svn/my-project
+ HEAD
+ http://127.0.0.1/websvn/my-project
+
+```
+- Result:
+```
+package_distribution': [{'result': {'value': 'http://127.0.0.1/websvn/my-project', 'type': 'Url'}, 'confidence': 1, 'technique': 'code_parser', 'source': 'https://example.org/pom.xml'}]
+```
+
+*(2)*
+- Example:
+```
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+```
+- Result:
+```
+'package_distribution': [{
+ 'result': {
+ 'value': 'jitpack.io',
+ 'url': 'https://jitpack.io',
+ 'type': 'Url'
+ }
+```
+
+*(3)*
+- Example:
+```
+
+
+ org.apache.maven
+ maven-model
+ 3.9.0
+
+
+
+```
+- Result:
+```
+'requirements': [{
+ 'result':
+ {'value': 'org.apache.maven.maven-model',
+ 'name': 'maven-model',
+ 'version': '3.9.0',
+ 'type': 'Software_application'},
+
+```
+
+*(4)*
+- Example:
+```
+ es.oeg
+ widoco
+ ```
+- Result:
+```
+ 'package_id': [{
+ 'result': {
+ 'value': 'es.oeg.widoco',
+
+```
+
+ *(5)*
+ - Example:
+```
+
+ 1.8
+
+```
+
+- Result:
+```
+[{'value': 'Java: 1.8', 'name': 'Java', 'version': '1.8'}]
+```
+
+
diff --git a/docs/publiccode 2.md b/docs/publiccode 2.md
new file mode 100644
index 0000000..84ab402
--- /dev/null
+++ b/docs/publiccode 2.md
@@ -0,0 +1,133 @@
+The following metadata fields can be extracted from a publiccode.yml file.
+These fields are defined in the [PublicCode specification](https://yml.publiccode.tools/), currently at version **0.5.0**, and are mapped according to the [CodeMeta crosswalk for publiccode.yml](https://codemeta.github.io/crosswalk/publiccode/) and [csv CodeMeta crosswalk for publiccode.yml](https://github.com/codemeta/codemeta/blob/master/crosswalks/publiccode.csv)
+
+| Software metadata category | SOMEF metadata JSON path | PUBLICCODE.YML metadata file field |
+|-----------------------------|---------------------------------------|----------------------------------------|
+| application_domain | application_domain[i].result.value | categories or description.[lang].genericName *(1)* |
+| code_repository | code_repository[i].result.value | url |
+| date_published | date_published[i].result.value | releaseDate |
+| date_updated | date_updated[i].result.value | releaseDate |
+| description | description[i].result.value | description.[lang].shortDescription or description.[lang].longDescription *(2)* |
+| development_status | development_status[i].result.value | developmentStatus |
+| has_package_file | has_package_file[i].result.value | URL of the publiccode.yml file |
+| keywords | keywords[i].result.value | description.[lang].features *(3)* |
+| license - value | license[i].result.value | legal.license *(4)* |
+| license - spdx id | license[i].result.spdx_id | legal.license extract spdx id *(4)*|
+| license - name | license[i].result.name | legal.license extract name *(4)* |
+| name | name[i].result.value | name or description.[lang].localisedName *(5)* |
+| requirements - value | requirements[i].result.value | dependsOn.open / dependsOn.proprietary / dependsOn.hardware name + version *(6)* |
+| requirements - name | requirements[i].result.name | dependsOn.open / dependsOn.proprietary / dependsOn.hardware name *(6)* |
+| requiriments - version | requirements[i].result.version | dependsOn.open / dependsOn.proprietary / dependsOn.hardware more than one label of version *(6)* |
+| runtime_platform | runtime_platform[i].result.value | platforms |
+| version | version[i].result.value | softwareVersion |
+
+---
+
+*(1)*
+- Example:
+```
+categories:
+ - data-collection
+ - it-development
+```
+or
+```
+description:
+ nl:
+ genericName: API component
+```
+
+*(2)*
+- Example:
+```
+description:
+ nl:
+ shortDescription: API voor het beheren van objecten
+ longDescription: >
+ De **Objecten API** heeft als doel om uiteenlopende objecten eenvoudig te kunnen
+ registreren en ontsluiten in een gestandaardiseerd formaat. De Objecten API kan
+ ....`_.
+
+ en:
+ shortDescription: API to manage objects
+ longDescription: >
+ The **Objects API** aims to easily store various objects and make them available in
+ standardized format. The Objects API can be used by any organization to manage
+ relevant objects. An organization can also choose to use the Objects API to
+ ....`_.
+```
+
+*(3)*
+- Example:
+```
+description:
+ nl:
+ features:
+ - Objecten API
+ - Minimalistische objecten beheerinterface
+ en:
+ features:
+ - Objects API
+ - Minimalistic object management interface
+```
+
+
+*(4)*
+- Look for expressions in a local dictionary with all the reference and spdx_id
+- Example:
+```
+legal:
+ license: AGPL-3.0-or-later
+ mainCopyrightOwner: City of Chicago
+ repoOwner: City of Chicago
+```
+-Result:
+```
+'result':
+ {'value': 'AGPL-3.0-or-later',
+ 'spdx_id': 'AGPL-3.0',
+ 'name': 'GNU Affero General Public License v3.0',
+ 'type': 'License'},
+
+```
+
+*(5)*
+- Example:
+`name: Medusa`
+or
+```
+description:
+ en:
+ localisedName: Medusa
+```
+
+
+*(6)*
+- Examples:
+```
+dependsOn:
+ open:
+ - name: Objecttypes API
+ optional: false
+ version: '1.0'
+ - name: MySQL
+ versionMin: "1.1"
+ versionMax: "1.3"
+ optional: true
+ - name: PostgreSQL
+ versionMin: "14.0"
+ optional: true
+```
+
+- Result PostgreSQL:
+```
+ "result": {
+ "value": "PostgreSQL>=14.0",
+ "name": "PostgreSQL",
+ "version": ">=14.0",
+ "type": "Software_application",
+ "dependency_type": "runtime"
+ },
+```
+
+
diff --git a/docs/publiccode.md b/docs/publiccode.md
new file mode 100644
index 0000000..84ab402
--- /dev/null
+++ b/docs/publiccode.md
@@ -0,0 +1,133 @@
+The following metadata fields can be extracted from a publiccode.yml file.
+These fields are defined in the [PublicCode specification](https://yml.publiccode.tools/), currently at version **0.5.0**, and are mapped according to the [CodeMeta crosswalk for publiccode.yml](https://codemeta.github.io/crosswalk/publiccode/) and [csv CodeMeta crosswalk for publiccode.yml](https://github.com/codemeta/codemeta/blob/master/crosswalks/publiccode.csv)
+
+| Software metadata category | SOMEF metadata JSON path | PUBLICCODE.YML metadata file field |
+|-----------------------------|---------------------------------------|----------------------------------------|
+| application_domain | application_domain[i].result.value | categories or description.[lang].genericName *(1)* |
+| code_repository | code_repository[i].result.value | url |
+| date_published | date_published[i].result.value | releaseDate |
+| date_updated | date_updated[i].result.value | releaseDate |
+| description | description[i].result.value | description.[lang].shortDescription or description.[lang].longDescription *(2)* |
+| development_status | development_status[i].result.value | developmentStatus |
+| has_package_file | has_package_file[i].result.value | URL of the publiccode.yml file |
+| keywords | keywords[i].result.value | description.[lang].features *(3)* |
+| license - value | license[i].result.value | legal.license *(4)* |
+| license - spdx id | license[i].result.spdx_id | legal.license extract spdx id *(4)*|
+| license - name | license[i].result.name | legal.license extract name *(4)* |
+| name | name[i].result.value | name or description.[lang].localisedName *(5)* |
+| requirements - value | requirements[i].result.value | dependsOn.open / dependsOn.proprietary / dependsOn.hardware name + version *(6)* |
+| requirements - name | requirements[i].result.name | dependsOn.open / dependsOn.proprietary / dependsOn.hardware name *(6)* |
+| requiriments - version | requirements[i].result.version | dependsOn.open / dependsOn.proprietary / dependsOn.hardware more than one label of version *(6)* |
+| runtime_platform | runtime_platform[i].result.value | platforms |
+| version | version[i].result.value | softwareVersion |
+
+---
+
+*(1)*
+- Example:
+```
+categories:
+ - data-collection
+ - it-development
+```
+or
+```
+description:
+ nl:
+ genericName: API component
+```
+
+*(2)*
+- Example:
+```
+description:
+ nl:
+ shortDescription: API voor het beheren van objecten
+ longDescription: >
+ De **Objecten API** heeft als doel om uiteenlopende objecten eenvoudig te kunnen
+ registreren en ontsluiten in een gestandaardiseerd formaat. De Objecten API kan
+ ....`_.
+
+ en:
+ shortDescription: API to manage objects
+ longDescription: >
+ The **Objects API** aims to easily store various objects and make them available in
+ standardized format. The Objects API can be used by any organization to manage
+ relevant objects. An organization can also choose to use the Objects API to
+ ....`_.
+```
+
+*(3)*
+- Example:
+```
+description:
+ nl:
+ features:
+ - Objecten API
+ - Minimalistische objecten beheerinterface
+ en:
+ features:
+ - Objects API
+ - Minimalistic object management interface
+```
+
+
+*(4)*
+- Look for expressions in a local dictionary with all the reference and spdx_id
+- Example:
+```
+legal:
+ license: AGPL-3.0-or-later
+ mainCopyrightOwner: City of Chicago
+ repoOwner: City of Chicago
+```
+-Result:
+```
+'result':
+ {'value': 'AGPL-3.0-or-later',
+ 'spdx_id': 'AGPL-3.0',
+ 'name': 'GNU Affero General Public License v3.0',
+ 'type': 'License'},
+
+```
+
+*(5)*
+- Example:
+`name: Medusa`
+or
+```
+description:
+ en:
+ localisedName: Medusa
+```
+
+
+*(6)*
+- Examples:
+```
+dependsOn:
+ open:
+ - name: Objecttypes API
+ optional: false
+ version: '1.0'
+ - name: MySQL
+ versionMin: "1.1"
+ versionMax: "1.3"
+ optional: true
+ - name: PostgreSQL
+ versionMin: "14.0"
+ optional: true
+```
+
+- Result PostgreSQL:
+```
+ "result": {
+ "value": "PostgreSQL>=14.0",
+ "name": "PostgreSQL",
+ "version": ">=14.0",
+ "type": "Software_application",
+ "dependency_type": "runtime"
+ },
+```
+
+
diff --git a/docs/pyprojecttoml 2.md b/docs/pyprojecttoml 2.md
new file mode 100644
index 0000000..f6c1233
--- /dev/null
+++ b/docs/pyprojecttoml 2.md
@@ -0,0 +1,78 @@
+The following metadata fields can be extracted from a pyproject.toml file.
+These fields are defined in the [pyproject.toml specification](https://packaging.python.org/en/latest/guides/writing-pyproject-toml), and are mapped according to the [CodeMeta crosswalk for python](https://github.com/codemeta/codemeta/blob/master/crosswalks/Python%20Distutils%20(PyPI).csv).
+
+| Software metadata category | SOMEF metadata JSON path | PYPROJECT.TOML metadata file field |
+|--------------------------------|-----------------------------|----------------------------------------|
+| authors - value | authors[i].result.value | authors.name |
+| authors - email | authors[i].result.email | authors.email |
+| authors - name | authors[i].result.name | authors.name |
+| authors - url | authors[i].result.url | authors.url |
+| code_repository | code_repository[i].result.value | project.urls.repository or tool.poetry.repository |
+| description | description[i].result.value | project.description or tool.poetry.description |
+| documentation | documentation[i].result.value | project.urls.documentation or tool.poetry.documentation |
+| download_url | download_url[i].result.value | project.urls.download or tool.poetry.download|
+| license - value | license[i].result.value | license.file or license.type or license |
+| license - name | license[i].result.name | license.name *(1)* |
+| license - spdx id | license[i].result.spdx_id | license.identifier if "spdx.org/licenses/ *(1)* |
+| has_package_file | has_package_file[i].result.value | URL of the pyproject.toml file |
+| homepage | homepage[i].result.value | project.homepage or tool.poetry.homepage |
+| issue_tracker | issue_tracker[i].result.value | projects.urls.issue or tool.poetry.issue |
+| keywords | keywords[i].result.value | keywords |
+| package_id | package_id[i].result.value | project.name or tool.poetry.name |
+| readme_url | readme_url[i].result.value | projects.urls.readme or tool.poetry.readme|
+| related_documentation | download_url[i].result.value | projects.urls or tool.poetry |
+| requirements - value | requirements[i].result.value | dependencies(name=version) or build-system.requires[i] *(2)* |
+| requirements - name | requirements[i].result.name | dependencies(name=version) -> dependencies.name or build-system.requires[i] parsing -> name *(2)* |
+| requirements - version | requirements[i].result.version | dependencies[i](name=version) -> dependencies.version or build-system.requires[i] parsing -> version *(2)* |
+| runtime_platform - value | runtime_platform[i].result.value | depeendencies or requires-python -> version *(3)* |
+| runtime_platform - name | runtime_platform[i].result.name | depeendencies or requires-python -> name *(3)* |
+| version - value | version[i].result.value | project.version or tool.poetry.version |
+| version - tag | version[i].result.tag | project.version or tool.poetry.version |
+
+---
+
+*(1)*
+- Look for the name and spdx_id in a local dictionary with all licenses
+
+*(2)*
+- Examples: allows formats
+```
+dependencies = [
+ "astropy",
+ "ctapipe",
+ "ctaplot",
+ "dl1_data_handler",
+ "h5py",
+........
+
+[tool.poetry.dependencies]
+ python = ">=3.9,<=3.13"
+ bs4 = "^0.0.1"
+........
+
+[build-system]
+ requires = ["poetry-core>=1.1.10"]
+```
+
+- If it is possible we obtain name and version
+ 'value' : 'python>=3.9,<=3.13'
+ 'name' : 'python'
+ 'version' : '>=3.9,<=3.13'
+
+*(3)*
+- Always "Python" and version if exists.
+- Examenple:
+```
+requires-python = ">=3.11"
+
+or
+
+[tool.poetry.dependencies]
+ python = ">=3.9,<=3.13"
+
+or
+
+[dependencies]
+ python = ">=3.9,<=3.13"
+
+```
diff --git a/docs/pyprojecttoml.md b/docs/pyprojecttoml.md
new file mode 100644
index 0000000..f6c1233
--- /dev/null
+++ b/docs/pyprojecttoml.md
@@ -0,0 +1,78 @@
+The following metadata fields can be extracted from a pyproject.toml file.
+These fields are defined in the [pyproject.toml specification](https://packaging.python.org/en/latest/guides/writing-pyproject-toml), and are mapped according to the [CodeMeta crosswalk for python](https://github.com/codemeta/codemeta/blob/master/crosswalks/Python%20Distutils%20(PyPI).csv).
+
+| Software metadata category | SOMEF metadata JSON path | PYPROJECT.TOML metadata file field |
+|--------------------------------|-----------------------------|----------------------------------------|
+| authors - value | authors[i].result.value | authors.name |
+| authors - email | authors[i].result.email | authors.email |
+| authors - name | authors[i].result.name | authors.name |
+| authors - url | authors[i].result.url | authors.url |
+| code_repository | code_repository[i].result.value | project.urls.repository or tool.poetry.repository |
+| description | description[i].result.value | project.description or tool.poetry.description |
+| documentation | documentation[i].result.value | project.urls.documentation or tool.poetry.documentation |
+| download_url | download_url[i].result.value | project.urls.download or tool.poetry.download|
+| license - value | license[i].result.value | license.file or license.type or license |
+| license - name | license[i].result.name | license.name *(1)* |
+| license - spdx id | license[i].result.spdx_id | license.identifier if "spdx.org/licenses/ *(1)* |
+| has_package_file | has_package_file[i].result.value | URL of the pyproject.toml file |
+| homepage | homepage[i].result.value | project.homepage or tool.poetry.homepage |
+| issue_tracker | issue_tracker[i].result.value | projects.urls.issue or tool.poetry.issue |
+| keywords | keywords[i].result.value | keywords |
+| package_id | package_id[i].result.value | project.name or tool.poetry.name |
+| readme_url | readme_url[i].result.value | projects.urls.readme or tool.poetry.readme|
+| related_documentation | download_url[i].result.value | projects.urls or tool.poetry |
+| requirements - value | requirements[i].result.value | dependencies(name=version) or build-system.requires[i] *(2)* |
+| requirements - name | requirements[i].result.name | dependencies(name=version) -> dependencies.name or build-system.requires[i] parsing -> name *(2)* |
+| requirements - version | requirements[i].result.version | dependencies[i](name=version) -> dependencies.version or build-system.requires[i] parsing -> version *(2)* |
+| runtime_platform - value | runtime_platform[i].result.value | depeendencies or requires-python -> version *(3)* |
+| runtime_platform - name | runtime_platform[i].result.name | depeendencies or requires-python -> name *(3)* |
+| version - value | version[i].result.value | project.version or tool.poetry.version |
+| version - tag | version[i].result.tag | project.version or tool.poetry.version |
+
+---
+
+*(1)*
+- Look for the name and spdx_id in a local dictionary with all licenses
+
+*(2)*
+- Examples: allows formats
+```
+dependencies = [
+ "astropy",
+ "ctapipe",
+ "ctaplot",
+ "dl1_data_handler",
+ "h5py",
+........
+
+[tool.poetry.dependencies]
+ python = ">=3.9,<=3.13"
+ bs4 = "^0.0.1"
+........
+
+[build-system]
+ requires = ["poetry-core>=1.1.10"]
+```
+
+- If it is possible we obtain name and version
+ 'value' : 'python>=3.9,<=3.13'
+ 'name' : 'python'
+ 'version' : '>=3.9,<=3.13'
+
+*(3)*
+- Always "Python" and version if exists.
+- Examenple:
+```
+requires-python = ">=3.11"
+
+or
+
+[tool.poetry.dependencies]
+ python = ">=3.9,<=3.13"
+
+or
+
+[dependencies]
+ python = ">=3.9,<=3.13"
+
+```
diff --git a/docs/readmefile 2.md b/docs/readmefile 2.md
new file mode 100644
index 0000000..adad749
--- /dev/null
+++ b/docs/readmefile 2.md
@@ -0,0 +1,163 @@
+The following metadata fields can be extracted from a readme.md file.
+Unlike others files formats (pom, cargo, cabal...), README documents do not follow a formal specification. They are free‑form text files, usually written in markdown or restructuredtext, and their structure varies widely across projects. SOMEF applies heuristics to identify common sections (e.g., Title, Description, Installation, Usage, License...) and extracts metadata accordingly.
+
+| Software metadata category | SOMEF metadata JSON path | README.MD metadata file field |
+|--------------------------------|----------------------------------------|----------------------------------------|
+| acknowledgement | acknowledgement[i].result.value | hearders with acknowledgement |
+| citation | citation[i].result.value | headers with citation, reference, cite. Extract bibtext **(1)** |
+| contact | contact[i].result.value | headers with contact |
+| contributing_guidelines | contributing_guidelines[i].result.value | headers with contributing |
+| contributors | contributors[i].result.value | headers with contributor |
+| description | description[i].result.value | headers with description, introduction, basics, initiation, overview |
+| documentation | documentation[i].result.value | github or gitlab url documentation **(2)**, headers with documentation, readthedocs same name project, readthedocs in badges, wiki links in badges and text |
+| download | download[i].result.value | headers with download |
+| executable_example | executable_example[i].result.value | extracts Binder from badgets **(3)** |
+| faq | faq[i].result.value | headers with faq, errors, problems |
+| full_title | full_title[i].result.value | extract full title **(4)** |
+| homepage | homepage[i].result.value | homepage from badgets **(5)** |
+| identifier | idenfier[i].result.value | extract from badgets directly or get from zenodo with latest doi **(6)**, swh identifiers **(7)** |
+| images | images[i].result.value | other images in the README apart from the logo |
+| installation | installation[i].result.value | headers with installation, install, setup, prepare, preparation, manual, guide |
+| license | license[i].result.value | headers with license |
+| logo | logo[i].result.value | look images in badges and text **(8)** |
+| package_distribution | package_distribution[i].result.value | Pypi or latest Pypi version in badges **(9)** |
+| related_documentation | dorelated_documentationumentation[i].result.value | readthedocs diferent name project |
+| run | run[i].result.value | headers with run, execute |
+| readme_url | readme_url[i].result.value | url in raw githubuser content **(10)** |
+| related_papers | related_papers[i].result.value | look for arXiv reference in all the text **(11)** |
+| repository_status | repository_status[i].result.value | badges with Project status **(12)** |
+| requirements | requirements[i].result.value | headers with requirement, prerequisite, dependency, dependent |
+| support | support[i].result.value | headers with support, help, report |
+| support_channels | support_channels[i].result.value | extract information of gitter, reddit and discord in badges and text **(13)** |
+| usage | usage[i].result.value | headers with usage, example, implement, implementation, demo, tutorial, start, started |
+
+
+------
+
+**(1)**
+- Example:
+```bib
+@inproceedings{garijo2017widoco,
+ title={WIDOCO: a wizard for documenting ontologies},
+ author={Garijo, Daniel},
+ booktitle={International Semantic Web Conference},
+ pages={94--102},
+ year={2017},
+ organization={Springer, Cham},
+ doi = {10.1007/978-3-319-68204-4_9},
+ funding = {USNSF ICER-1541029, NIH 1R01GM117097-01},
+ url={http://dgarijo.com/papers/widoco-iswc2017.pdf}
+}
+```
+- Result:
+```
+{
+ "result": {
+ "value": "@inproceedings{garijo2017widoco,\n url = {http://dgarijo.com/papers/widoco-iswc2017.pdf},\n funding = {USNSF ICER-1541029, NIH 1R01GM117097-01},\n doi = {10.1007/978-3-319-68204-4_9},\n organization = {Springer, Cham},\n year = {2017},\n pages = {94--102},\n booktitle = {International Semantic Web Conference},\n author = {Garijo, Daniel},\n title = {WIDOCO: a wizard for documenting ontologies},\n}",
+ "type": "Text_excerpt",
+ "format": "bibtex",
+ "doi": "10.1007/978-3-319-68204-4_9",
+ "title": "WIDOCO: a wizard for documenting ontologies",
+ "author": "Garijo, Daniel",
+ "url": "http://dgarijo.com/papers/widoco-iswc2017.pdf"
+ },
+}
+```
+
+
+**(2)**
+- Example if github:
+```
+f"https://github.com/{owner}/{repo_name}/tree/{urllib.parse.quote(repo_default_branch)}/{docs_path}"
+```
+- Example if gitlab:
+```
+f"https://{domain_gitlab}/{owner}/{repo_name}/-/tree/{urllib.parse.quote(repo_default_branch)}/{docs_path}"
+```
+
+**(3)**
+- Example: `[](https://mybinder.org/v2/gh/user/repo/HEAD)`
+- Result: `"value": "https://mybinder.org/v2/gh/user/repo/HEAD"`
+
+**(4)**
+- Example: `# WIzard for DOCumenting Ontologies (WIDOCO)`
+- Result:
+```
+"full_title": [
+ {
+ "result": {
+ "type": "String",
+ "value": "WIzard for DOCumenting Ontologies (WIDOCO)"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+]
+```
+
+**(5)**
+- Example: `[](https://myproject.org)`
+- Result: `"value": "https://myproject.org"`
+
+
+**(6)**
+- Example: `[](https://doi.org/10.5281/zenodo.11093793)`
+- Result: `"value": "https://doi.org/10.5281/zenodo.11093793"`
+
+**(7)**
+- Example: `[](https://archive.softwareheritage.org/swh:1:dir:40d462bbecefc3a9c3e810567d1f0d7606e0fae7;origin=...)`
+- Result: ` "value": "https://archive.softwareheritage.org/swh:1:dir:40d462bbecefc3a9c3e810567d1f0d7606e0fae7",`
+
+
+**(8)**
+- Example: ``
+- Result: `"value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/src/main/resources/logo/logo2.png"``
+
+**(9)**
+- Example: `[](https://badge.fury.io/py/somef) `
+- Result: `"value": "https://pypi.org/project/somef"`
+
+
+**(10)**
+- Example:
+```
+[Yulun Zhang](http://yulunzhang.com/), [Yapeng Tian](http://yapengtian.org/), [Yu Kong](http://www1.ece.neu.edu/~yukong/), [Bineng Zhong](https://scholar.google.de/citations?user=hvRBydsAAAAJ&hl=en), and [Yun Fu](http://www1.ece.neu.edu/~yunfu/), "Residual Dense Network for Image Super-Resolution", CVPR 2018 (spotlight), [[arXiv]](https://arxiv.org/abs/1802.08797)
+```
+- Result: `"value": "https://arxiv.org/abs/1802.08797"`
+
+
+**(11)**
+- Example:
+```
+f"https://raw.githubusercontent.com/{owner}/{repo_name}/{repo_ref}/{urllib.parse.quote(partial)}"
+```
+
+**(12)**
+- Example:
+```
+ [](https://www.repostatus.org/#active)
+```
+- Result:
+```
+"value": "https://www.repostatus.org/#active",
+"description": "Active \u2013 The project has reached a stable, usable state and is being actively developed."
+```
+
+**(13)**
+- Example:
+```
+[](https://gitter.im/myproject/community)
+[Reddit](https://www.reddit.com/r/myproject)
+[Discord](https://discord.com/invite/xyz789)
+```
+- Result:
+```
+"value": "https://gitter.im/myproject/community"
+....
+"value": "https://www.reddit.com/r/myproject"
+.....
+"value": "https://discord.com/invite/xyz789"
+```
+
+
diff --git a/docs/readmefile.md b/docs/readmefile.md
new file mode 100644
index 0000000..adad749
--- /dev/null
+++ b/docs/readmefile.md
@@ -0,0 +1,163 @@
+The following metadata fields can be extracted from a readme.md file.
+Unlike others files formats (pom, cargo, cabal...), README documents do not follow a formal specification. They are free‑form text files, usually written in markdown or restructuredtext, and their structure varies widely across projects. SOMEF applies heuristics to identify common sections (e.g., Title, Description, Installation, Usage, License...) and extracts metadata accordingly.
+
+| Software metadata category | SOMEF metadata JSON path | README.MD metadata file field |
+|--------------------------------|----------------------------------------|----------------------------------------|
+| acknowledgement | acknowledgement[i].result.value | hearders with acknowledgement |
+| citation | citation[i].result.value | headers with citation, reference, cite. Extract bibtext **(1)** |
+| contact | contact[i].result.value | headers with contact |
+| contributing_guidelines | contributing_guidelines[i].result.value | headers with contributing |
+| contributors | contributors[i].result.value | headers with contributor |
+| description | description[i].result.value | headers with description, introduction, basics, initiation, overview |
+| documentation | documentation[i].result.value | github or gitlab url documentation **(2)**, headers with documentation, readthedocs same name project, readthedocs in badges, wiki links in badges and text |
+| download | download[i].result.value | headers with download |
+| executable_example | executable_example[i].result.value | extracts Binder from badgets **(3)** |
+| faq | faq[i].result.value | headers with faq, errors, problems |
+| full_title | full_title[i].result.value | extract full title **(4)** |
+| homepage | homepage[i].result.value | homepage from badgets **(5)** |
+| identifier | idenfier[i].result.value | extract from badgets directly or get from zenodo with latest doi **(6)**, swh identifiers **(7)** |
+| images | images[i].result.value | other images in the README apart from the logo |
+| installation | installation[i].result.value | headers with installation, install, setup, prepare, preparation, manual, guide |
+| license | license[i].result.value | headers with license |
+| logo | logo[i].result.value | look images in badges and text **(8)** |
+| package_distribution | package_distribution[i].result.value | Pypi or latest Pypi version in badges **(9)** |
+| related_documentation | dorelated_documentationumentation[i].result.value | readthedocs diferent name project |
+| run | run[i].result.value | headers with run, execute |
+| readme_url | readme_url[i].result.value | url in raw githubuser content **(10)** |
+| related_papers | related_papers[i].result.value | look for arXiv reference in all the text **(11)** |
+| repository_status | repository_status[i].result.value | badges with Project status **(12)** |
+| requirements | requirements[i].result.value | headers with requirement, prerequisite, dependency, dependent |
+| support | support[i].result.value | headers with support, help, report |
+| support_channels | support_channels[i].result.value | extract information of gitter, reddit and discord in badges and text **(13)** |
+| usage | usage[i].result.value | headers with usage, example, implement, implementation, demo, tutorial, start, started |
+
+
+------
+
+**(1)**
+- Example:
+```bib
+@inproceedings{garijo2017widoco,
+ title={WIDOCO: a wizard for documenting ontologies},
+ author={Garijo, Daniel},
+ booktitle={International Semantic Web Conference},
+ pages={94--102},
+ year={2017},
+ organization={Springer, Cham},
+ doi = {10.1007/978-3-319-68204-4_9},
+ funding = {USNSF ICER-1541029, NIH 1R01GM117097-01},
+ url={http://dgarijo.com/papers/widoco-iswc2017.pdf}
+}
+```
+- Result:
+```
+{
+ "result": {
+ "value": "@inproceedings{garijo2017widoco,\n url = {http://dgarijo.com/papers/widoco-iswc2017.pdf},\n funding = {USNSF ICER-1541029, NIH 1R01GM117097-01},\n doi = {10.1007/978-3-319-68204-4_9},\n organization = {Springer, Cham},\n year = {2017},\n pages = {94--102},\n booktitle = {International Semantic Web Conference},\n author = {Garijo, Daniel},\n title = {WIDOCO: a wizard for documenting ontologies},\n}",
+ "type": "Text_excerpt",
+ "format": "bibtex",
+ "doi": "10.1007/978-3-319-68204-4_9",
+ "title": "WIDOCO: a wizard for documenting ontologies",
+ "author": "Garijo, Daniel",
+ "url": "http://dgarijo.com/papers/widoco-iswc2017.pdf"
+ },
+}
+```
+
+
+**(2)**
+- Example if github:
+```
+f"https://github.com/{owner}/{repo_name}/tree/{urllib.parse.quote(repo_default_branch)}/{docs_path}"
+```
+- Example if gitlab:
+```
+f"https://{domain_gitlab}/{owner}/{repo_name}/-/tree/{urllib.parse.quote(repo_default_branch)}/{docs_path}"
+```
+
+**(3)**
+- Example: `[](https://mybinder.org/v2/gh/user/repo/HEAD)`
+- Result: `"value": "https://mybinder.org/v2/gh/user/repo/HEAD"`
+
+**(4)**
+- Example: `# WIzard for DOCumenting Ontologies (WIDOCO)`
+- Result:
+```
+"full_title": [
+ {
+ "result": {
+ "type": "String",
+ "value": "WIzard for DOCumenting Ontologies (WIDOCO)"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+]
+```
+
+**(5)**
+- Example: `[](https://myproject.org)`
+- Result: `"value": "https://myproject.org"`
+
+
+**(6)**
+- Example: `[](https://doi.org/10.5281/zenodo.11093793)`
+- Result: `"value": "https://doi.org/10.5281/zenodo.11093793"`
+
+**(7)**
+- Example: `[](https://archive.softwareheritage.org/swh:1:dir:40d462bbecefc3a9c3e810567d1f0d7606e0fae7;origin=...)`
+- Result: ` "value": "https://archive.softwareheritage.org/swh:1:dir:40d462bbecefc3a9c3e810567d1f0d7606e0fae7",`
+
+
+**(8)**
+- Example: ``
+- Result: `"value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/src/main/resources/logo/logo2.png"``
+
+**(9)**
+- Example: `[](https://badge.fury.io/py/somef) `
+- Result: `"value": "https://pypi.org/project/somef"`
+
+
+**(10)**
+- Example:
+```
+[Yulun Zhang](http://yulunzhang.com/), [Yapeng Tian](http://yapengtian.org/), [Yu Kong](http://www1.ece.neu.edu/~yukong/), [Bineng Zhong](https://scholar.google.de/citations?user=hvRBydsAAAAJ&hl=en), and [Yun Fu](http://www1.ece.neu.edu/~yunfu/), "Residual Dense Network for Image Super-Resolution", CVPR 2018 (spotlight), [[arXiv]](https://arxiv.org/abs/1802.08797)
+```
+- Result: `"value": "https://arxiv.org/abs/1802.08797"`
+
+
+**(11)**
+- Example:
+```
+f"https://raw.githubusercontent.com/{owner}/{repo_name}/{repo_ref}/{urllib.parse.quote(partial)}"
+```
+
+**(12)**
+- Example:
+```
+ [](https://www.repostatus.org/#active)
+```
+- Result:
+```
+"value": "https://www.repostatus.org/#active",
+"description": "Active \u2013 The project has reached a stable, usable state and is being actively developed."
+```
+
+**(13)**
+- Example:
+```
+[](https://gitter.im/myproject/community)
+[Reddit](https://www.reddit.com/r/myproject)
+[Discord](https://discord.com/invite/xyz789)
+```
+- Result:
+```
+"value": "https://gitter.im/myproject/community"
+....
+"value": "https://www.reddit.com/r/myproject"
+.....
+"value": "https://discord.com/invite/xyz789"
+```
+
+
diff --git a/docs/requirementstxt 2.md b/docs/requirementstxt 2.md
new file mode 100644
index 0000000..591eabc
--- /dev/null
+++ b/docs/requirementstxt 2.md
@@ -0,0 +1,26 @@
+The following metadata fields can be extracted from a requirements file.
+These fields are defined in the [Requirements specification](https://pip.pypa.io/en/stable/reference/requirements-file-format/), currently at version **25.2**, and are mapped according to the [CodeMeta crosswalk for requirements files](https://github.com/codemeta/codemeta/blob/master/crosswalks/Python%20Distutils%20(PyPI).csv).
+
+| Software metadata category | SOMEF metadata JSON path | REQUIREMENTS.TXT metadata file field |
+|----------------------------------|------------------------------------|------------------------------------------|
+| requirements - value | requirements[i].result.value | *(1)* |
+| requirements - name | requirements[i].result.name | *(1)* |
+| requirements - version | requirements[i].result.version| *(1)* |
+| runtime_platform - value | runtime_platform[i].result.value | if Python *(1)* |
+| runtime_platform - name | runtime_platform[i].result.name | "Python" |
+
+
+---
+
+*(1)*
+- Example: `docstring_parser==0.7`
+- Result:
+```
+value : docstring_parser==0.7
+name : docstring_parser=
+version : 0.7
+```
+
+*(2)*
+- Always "Python" and version if exists.
+- Example: `python= ">=3.11"`
\ No newline at end of file
diff --git a/docs/requirementstxt.md b/docs/requirementstxt.md
new file mode 100644
index 0000000..591eabc
--- /dev/null
+++ b/docs/requirementstxt.md
@@ -0,0 +1,26 @@
+The following metadata fields can be extracted from a requirements file.
+These fields are defined in the [Requirements specification](https://pip.pypa.io/en/stable/reference/requirements-file-format/), currently at version **25.2**, and are mapped according to the [CodeMeta crosswalk for requirements files](https://github.com/codemeta/codemeta/blob/master/crosswalks/Python%20Distutils%20(PyPI).csv).
+
+| Software metadata category | SOMEF metadata JSON path | REQUIREMENTS.TXT metadata file field |
+|----------------------------------|------------------------------------|------------------------------------------|
+| requirements - value | requirements[i].result.value | *(1)* |
+| requirements - name | requirements[i].result.name | *(1)* |
+| requirements - version | requirements[i].result.version| *(1)* |
+| runtime_platform - value | runtime_platform[i].result.value | if Python *(1)* |
+| runtime_platform - name | runtime_platform[i].result.name | "Python" |
+
+
+---
+
+*(1)*
+- Example: `docstring_parser==0.7`
+- Result:
+```
+value : docstring_parser==0.7
+name : docstring_parser=
+version : 0.7
+```
+
+*(2)*
+- Always "Python" and version if exists.
+- Example: `python= ">=3.11"`
\ No newline at end of file
diff --git a/docs/setuppy 2.md b/docs/setuppy 2.md
new file mode 100644
index 0000000..6dbf8d7
--- /dev/null
+++ b/docs/setuppy 2.md
@@ -0,0 +1,35 @@
+The following metadata fields can be extracted from a setup.py file.
+These fields are defined in the [Setup.py specification](https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#setup-args), and are mapped according to the [CodeMeta crosswalk for python](https://github.com/codemeta/codemeta/blob/master/crosswalks/Python%20Distutils%20(PyPI).csv).
+
+| Software metadata category | SOMEF metadata JSON path | SETUP.PY metadata file field |
+|-------------------------------|------------------------------|------------------------------|
+| authors - value | authors[i].result.value | author *(1)* |
+| authors - email | authors[i].result.email | author_email or EMAIL *(1)* |
+| code_repository | code_repository[i].result.value | url or URL |
+| description | description[i].result .value | description or DESCRIPTION |
+| keywords | keywords[i].result.value | keywords |
+| license | license[i].result.value | license |
+| package_id | package_id[i].result.value | name |
+| programming_languages | programming_languages[i].result.value | if classifiers -> "python" *(2)* |
+
+---
+
+*(1)*
+- Example:
+```
+ author='Colin Raffel',
+ author_email='craffel@gmail.com',
+```
+- Result: `result {'name': 'Colin Raffel', 'email':'craffel@gmail.com'}`
+
+*(2)*
+- Example:
+```
+ classifiers=[
+ "Development Status :: 3 - Alpha",
+ "Programming Language :: Python",
+ ],
+```
+- Result: always `"value": "Python"` if 'Programming Language :: Python' in classifiers.
+
+
diff --git a/docs/setuppy.md b/docs/setuppy.md
new file mode 100644
index 0000000..6dbf8d7
--- /dev/null
+++ b/docs/setuppy.md
@@ -0,0 +1,35 @@
+The following metadata fields can be extracted from a setup.py file.
+These fields are defined in the [Setup.py specification](https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#setup-args), and are mapped according to the [CodeMeta crosswalk for python](https://github.com/codemeta/codemeta/blob/master/crosswalks/Python%20Distutils%20(PyPI).csv).
+
+| Software metadata category | SOMEF metadata JSON path | SETUP.PY metadata file field |
+|-------------------------------|------------------------------|------------------------------|
+| authors - value | authors[i].result.value | author *(1)* |
+| authors - email | authors[i].result.email | author_email or EMAIL *(1)* |
+| code_repository | code_repository[i].result.value | url or URL |
+| description | description[i].result .value | description or DESCRIPTION |
+| keywords | keywords[i].result.value | keywords |
+| license | license[i].result.value | license |
+| package_id | package_id[i].result.value | name |
+| programming_languages | programming_languages[i].result.value | if classifiers -> "python" *(2)* |
+
+---
+
+*(1)*
+- Example:
+```
+ author='Colin Raffel',
+ author_email='craffel@gmail.com',
+```
+- Result: `result {'name': 'Colin Raffel', 'email':'craffel@gmail.com'}`
+
+*(2)*
+- Example:
+```
+ classifiers=[
+ "Development Status :: 3 - Alpha",
+ "Programming Language :: Python",
+ ],
+```
+- Result: always `"value": "Python"` if 'Programming Language :: Python' in classifiers.
+
+
diff --git a/docs/supported_languages 2.md b/docs/supported_languages 2.md
new file mode 100644
index 0000000..5b4b313
--- /dev/null
+++ b/docs/supported_languages 2.md
@@ -0,0 +1,33 @@
+
+SOMEF recognizes the programming languages used in a software repository by inspecting
+well-known configuration files, dependency descriptors and executable artifacts.
+To know more about the extraction details for each type of file, click on it.
+
+
+
+| Language | Supported Files |
+|-----------|----------------------------|
+| Haskell | [`*.cabal`](./cabal.md) |
+| Java | [`pom.xml`](./pom.md) |
+| JavaScript | [`package.json`](./packagejson.md), [`bower.json`](./bower.md) |
+| Julia | [`Project.toml`](./julia.md) |
+| PHP | [`composer.json`](./composer.md) |
+| Python | [`setup.py`](./setuppy.md), [`pyproject.toml`](./pyprojecttoml.md), [`requirements.txt`](./requirementstxt.md) |
+| R | [`DESCRIPTION`](./description.md) |
+| Ruby | [`*.gemspec`](./gemspec.md) |
+| Rust | [`Cargo.toml`](./cargo.md) |
+
+---
+
+SoMEF also detects the following files to recognize build instructions, workflows or executable examples:
+
+
+| Language | Supported Files | Software metadata category |
+|-----------|------------------------------------|-----------------------------|
+| Docker | `Dockerfile`, `docker-compose.yml` | has_built_file
+| Jupyter Notebook | `*.ipynb` | executable_example |
+| Ontologies | `*.ttl`, `*.owl`, `*.nt`, `*.xml`, `*.jsonld` | ontologies |
+| Shell | `*.sh` | has_script_file |
+| YAML | `*.yml`, `*.yaml` | continuous_integration, workflows, publiccode |
+
+
diff --git a/docs/supported_languages.md b/docs/supported_languages.md
new file mode 100644
index 0000000..5b4b313
--- /dev/null
+++ b/docs/supported_languages.md
@@ -0,0 +1,33 @@
+
+SOMEF recognizes the programming languages used in a software repository by inspecting
+well-known configuration files, dependency descriptors and executable artifacts.
+To know more about the extraction details for each type of file, click on it.
+
+
+
+| Language | Supported Files |
+|-----------|----------------------------|
+| Haskell | [`*.cabal`](./cabal.md) |
+| Java | [`pom.xml`](./pom.md) |
+| JavaScript | [`package.json`](./packagejson.md), [`bower.json`](./bower.md) |
+| Julia | [`Project.toml`](./julia.md) |
+| PHP | [`composer.json`](./composer.md) |
+| Python | [`setup.py`](./setuppy.md), [`pyproject.toml`](./pyprojecttoml.md), [`requirements.txt`](./requirementstxt.md) |
+| R | [`DESCRIPTION`](./description.md) |
+| Ruby | [`*.gemspec`](./gemspec.md) |
+| Rust | [`Cargo.toml`](./cargo.md) |
+
+---
+
+SoMEF also detects the following files to recognize build instructions, workflows or executable examples:
+
+
+| Language | Supported Files | Software metadata category |
+|-----------|------------------------------------|-----------------------------|
+| Docker | `Dockerfile`, `docker-compose.yml` | has_built_file
+| Jupyter Notebook | `*.ipynb` | executable_example |
+| Ontologies | `*.ttl`, `*.owl`, `*.nt`, `*.xml`, `*.jsonld` | ontologies |
+| Shell | `*.sh` | has_script_file |
+| YAML | `*.yml`, `*.yaml` | continuous_integration, workflows, publiccode |
+
+
diff --git a/docs/supported_metadata_files 2.md b/docs/supported_metadata_files 2.md
new file mode 100644
index 0000000..36c8700
--- /dev/null
+++ b/docs/supported_metadata_files 2.md
@@ -0,0 +1,112 @@
+# Supported Metadata Files
+
+This project supports extracting metadata from specific types of files commonly used to declare authorship and contribution in open source repositories.
+
+
+## Supported Metadata Files in SOMEF
+
+SOMEF can extract metadata from a wide range of files commonly found in software repositories. Below is a list of supported file types, along with clickable examples from real projects:
+
+| File Name | Language | Description | Detail | Source Spec. | Version Spec.| Example |
+|--------------------|----------------|-------------|--------|--------------|--------------|---------|
+| `AUTHORS.md` | General | Lists contributors, authors, and affiliations relevant to the project |
[🔍](./pom.md) | [📄](https://maven.apache.org/pom.html) | [4.0.0](https://maven.apache.org/xsd/maven-4.0.0.xsd) | [Example](https://github.com/apache/maven/blob/master/pom.xml) |
+| `bower.json` | JavaScript (Bower) | Package descriptor used for configuring packages that can be used as a dependency for Bower-managed front-end projects. |
[🔍](./bower.md)
| [📄](https://github.com/bower/spec/blob/master/json.md)| |[Example](https://github.com/juanjemdIos/somef/blob/master/src/somef/test/test_data/repositories/js-template/bower.json) |
+| `package.json` | JavaScript / Node.js | Defines metadata, scripts, and dependencies for Node.js projects |
[🔍](./packagejson.md)| [📄](https://docs.npmjs.com/cli/v10/configuring-npm/package-json)| 10.9.4|[Example](https://github.com/npm/cli/blob/latest/package.json) |
+| `codemeta.json` | JSON-LD | Metadata file for research software using JSON-LD vocabulary |
[🔍](./codemetajson.md)
| [📄](https://github.com/codemeta/codemeta/blob/master/crosswalk.csv)| [v3.0](https://w3id.org/codemeta/3.0)|[Example](https://github.com/codemeta/codemeta/blob/master/codemeta.json) |
+| `readme.me` | Markdown | Main documentation file of repository |
[🔍](./readmefile.md)
| | |[Example](https://github.com/KnowledgeCaptureAndDiscovery/somef/blob/master/README.md) |
+| `composer.json` | PHP | Manifest file serves as the package descriptor used in PHP projects. |
[🔍](./composer.md)
| [📄](https://getcomposer.org/doc/04-schema.md)| [2.8.12](https://getcomposer.org/changelog/2.8.12)|[Example](https://github.com/composer/composer/blob/main/composer.json) |
+| `juliaProject.toml` | Python | Defines the package metadata and dependencies for Julia projects, used by the Pkg package manager.|
[🔍](./julia.md)
| [📄](https://docs.julialang.org/en/v1/)| |[Example](https://github.com/JuliaLang/TOML.jl/blob/master/Project.toml) |
+| `pyproject.toml` | Python | Modern Python project configuration file used by tools like Poetry and Flit |
| [📄](https://pip.pypa.io/en/stable/reference/requirements-file-format/)| 25.2|[Example](https://github.com/oeg-upm/FAIR-Research-Object/blob/main/requirements.txt) |
+| `setup.py` | Python | Package file format used in python projects |
[🔍](./setuppy.md)
| [📄](https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#setup-args)| |[Example](https://github.com/oeg-upm/soca/blob/main/setup.py) |
+| `DESCRIPTION` | R | Metadata file for R packages including title, author, and version |
[🔍](./description.md)
| [📄](https://r-pkgs.org/description.html)| | [Example](https://github.com/cran/ggplot2/blob/master/DESCRIPTION) |
+| `*.gemspec` | Ruby | Manifest file serves as the package descriptor used in Ruby gem projects. |
[🔍](./gemspec.md)
| [📄](https://guides.rubygems.org/specification-reference/)| |[Example](https://github.com/rubygems/rubygems/blob/master/bundler/bundler.gemspec) |
+| `cargo.toml` | Rust | Manifest file serves as the package descriptor used in Rust projects |
[🔍](./cargo.md)
| [📄](https://doc.rust-lang.org/cargo/reference/manifest.html)| |[Example](https://github.com/rust-lang/cargo/blob/master/Cargo.toml) |
+| `*.cabal` | Haskell | Manifest file serving as the package descriptor for Haskell projects.|
[🔍](./cabal.md)
| [📄](https://cabal.readthedocs.io/en/3.10/cabal-package.html)| |[Example](https://github.com/haskell/cabal/blob/master/Cabal/Cabal.cabal) |
+| `dockerfile` | Dockerfile | Build specification file for container images that can include software metadata via LABEL instructions (OCI specification).|
[🔍](./dockerfiledoc.md)
| [📄](https://docs.docker.com/reference/dockerfile/)| |[Example](https://github.com/FairwindsOps/nova/blob/master/Dockerfile) |
+| `publiccode.yml` | YAML | YAML metadata file for public sector software projects|
[🔍](./publiccode.md)
| [📄](https://yml.publiccode.tools//)| |[Example](https://github.com/maykinmedia/objects-api/blob/master/publiccode.yaml) |
+
+> **Note:** The general principles behind metadata mapping in SOMEF are based on the [CodeMeta crosswalk](https://github.com/codemeta/codemeta/blob/master/crosswalk.csv) and the [CodeMeta JSON-LD context](https://github.com/codemeta/codemeta/blob/master/codemeta.jsonld).
+> However, each supported file type may have specific characteristics and field interpretations.
+
+
+
+
+## Types of metadata in SOMEF
+
+| Type | Metadata Category |
+|----------------------|---------------------------|
+| Agent | authors |
+| Keywords | keywords |
+| License | license |
+| Release | version |
+| Software_application | requirements |
+| String | description |
+| String | name |
+| String | package_id |
+| String | runtime_platform |
+| Url | has_package_file |
+| Url | homepage |
+| Url | issue_tracker |
+| Url | package_distribution |
+
+
+## Example: Dependency Metadata Extraction from Configuration Files
+
+SOMEF parses configuration files like `pom.xml` to extract **structured metadata** about software dependencies and other requirements.
+
+---
+
+### Source File: Snippet from `Widoco/pom.xml`
+
+Below is the XML fragment for the Maven dependency that is being parsed:
+
+```xml
+
+
+ org.apache.maven
+ maven-model
+ 3.9.0
+
+
+```
+
+
+The following Python code snippet show the logic used by the SOMEF parser to transform the XML elements to the JSON metadata structure:
+
+```
+ if project_data["dependencies"]:
+ for dependency in project_data["dependencies"]:
+ metadata_result.add_result(
+ constants.CAT_REQUIREMENTS,
+ {
+ "value": f'{dependency.get("groupId", "")}.{dependency.get("artifactId", "")}'.strip("."),
+ "name": dependency.get("artifactId", ""),
+ "version": dependency.get("version", ""),
+ "type": constants.SOFTWARE_APPLICATION
+ },
+ 1,
+ constants.TECHNIQUE_CODE_CONFIG_PARSER,
+ source
+ )
+```
+
+
+After applying the mapping logic, the metadata for the dependency is stored under the requirements category (CAT_REQUIREMENTS in this case) with the following JSON structure:
+
+``` somef json
+
+ "requirements": [
+ {
+ "result": {
+ "value": "org.apache.maven.maven-model",
+ "name": "maven-model",
+ "version": "3.9.0",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+```
diff --git a/docs/supported_metadata_files.md b/docs/supported_metadata_files.md
new file mode 100644
index 0000000..36c8700
--- /dev/null
+++ b/docs/supported_metadata_files.md
@@ -0,0 +1,112 @@
+# Supported Metadata Files
+
+This project supports extracting metadata from specific types of files commonly used to declare authorship and contribution in open source repositories.
+
+
+## Supported Metadata Files in SOMEF
+
+SOMEF can extract metadata from a wide range of files commonly found in software repositories. Below is a list of supported file types, along with clickable examples from real projects:
+
+| File Name | Language | Description | Detail | Source Spec. | Version Spec.| Example |
+|--------------------|----------------|-------------|--------|--------------|--------------|---------|
+| `AUTHORS.md` | General | Lists contributors, authors, and affiliations relevant to the project |
[🔍](./pom.md) | [📄](https://maven.apache.org/pom.html) | [4.0.0](https://maven.apache.org/xsd/maven-4.0.0.xsd) | [Example](https://github.com/apache/maven/blob/master/pom.xml) |
+| `bower.json` | JavaScript (Bower) | Package descriptor used for configuring packages that can be used as a dependency for Bower-managed front-end projects. |
[🔍](./bower.md)
| [📄](https://github.com/bower/spec/blob/master/json.md)| |[Example](https://github.com/juanjemdIos/somef/blob/master/src/somef/test/test_data/repositories/js-template/bower.json) |
+| `package.json` | JavaScript / Node.js | Defines metadata, scripts, and dependencies for Node.js projects |
[🔍](./packagejson.md)| [📄](https://docs.npmjs.com/cli/v10/configuring-npm/package-json)| 10.9.4|[Example](https://github.com/npm/cli/blob/latest/package.json) |
+| `codemeta.json` | JSON-LD | Metadata file for research software using JSON-LD vocabulary |
[🔍](./codemetajson.md)
| [📄](https://github.com/codemeta/codemeta/blob/master/crosswalk.csv)| [v3.0](https://w3id.org/codemeta/3.0)|[Example](https://github.com/codemeta/codemeta/blob/master/codemeta.json) |
+| `readme.me` | Markdown | Main documentation file of repository |
[🔍](./readmefile.md)
| | |[Example](https://github.com/KnowledgeCaptureAndDiscovery/somef/blob/master/README.md) |
+| `composer.json` | PHP | Manifest file serves as the package descriptor used in PHP projects. |
[🔍](./composer.md)
| [📄](https://getcomposer.org/doc/04-schema.md)| [2.8.12](https://getcomposer.org/changelog/2.8.12)|[Example](https://github.com/composer/composer/blob/main/composer.json) |
+| `juliaProject.toml` | Python | Defines the package metadata and dependencies for Julia projects, used by the Pkg package manager.|
[🔍](./julia.md)
| [📄](https://docs.julialang.org/en/v1/)| |[Example](https://github.com/JuliaLang/TOML.jl/blob/master/Project.toml) |
+| `pyproject.toml` | Python | Modern Python project configuration file used by tools like Poetry and Flit |
| [📄](https://pip.pypa.io/en/stable/reference/requirements-file-format/)| 25.2|[Example](https://github.com/oeg-upm/FAIR-Research-Object/blob/main/requirements.txt) |
+| `setup.py` | Python | Package file format used in python projects |
[🔍](./setuppy.md)
| [📄](https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#setup-args)| |[Example](https://github.com/oeg-upm/soca/blob/main/setup.py) |
+| `DESCRIPTION` | R | Metadata file for R packages including title, author, and version |
[🔍](./description.md)
| [📄](https://r-pkgs.org/description.html)| | [Example](https://github.com/cran/ggplot2/blob/master/DESCRIPTION) |
+| `*.gemspec` | Ruby | Manifest file serves as the package descriptor used in Ruby gem projects. |
[🔍](./gemspec.md)
| [📄](https://guides.rubygems.org/specification-reference/)| |[Example](https://github.com/rubygems/rubygems/blob/master/bundler/bundler.gemspec) |
+| `cargo.toml` | Rust | Manifest file serves as the package descriptor used in Rust projects |
[🔍](./cargo.md)
| [📄](https://doc.rust-lang.org/cargo/reference/manifest.html)| |[Example](https://github.com/rust-lang/cargo/blob/master/Cargo.toml) |
+| `*.cabal` | Haskell | Manifest file serving as the package descriptor for Haskell projects.|
[🔍](./cabal.md)
| [📄](https://cabal.readthedocs.io/en/3.10/cabal-package.html)| |[Example](https://github.com/haskell/cabal/blob/master/Cabal/Cabal.cabal) |
+| `dockerfile` | Dockerfile | Build specification file for container images that can include software metadata via LABEL instructions (OCI specification).|
[🔍](./dockerfiledoc.md)
| [📄](https://docs.docker.com/reference/dockerfile/)| |[Example](https://github.com/FairwindsOps/nova/blob/master/Dockerfile) |
+| `publiccode.yml` | YAML | YAML metadata file for public sector software projects|
+
+The `mentpy` library is an open-source software for simulations of
+measurement-based quantum computing circuits. Currently, this package is in its alpha version and many features are still in development.
+
+## Installation
+
+You can install the stable release of `mentpy` from PyPI using:
+
+```bash
+pip install mentpy
+```
+
+For the latest, potentially unstable version, you can install directly from the source:
+
+```bash
+pip install git+https://github.com/mentpy/mentpy.git
+```
+
+If you're contributing to `mentpy` and need to install development dependencies, you can do so using:
+
+```bash
+git clone https://github.com/mentpy/mentpy.git
+cd mentpy
+pip install -e '.[dev]'
+```
+
+This command installs `mentpy` in editable mode with its additional development dependencies.
+
+## Usage
+To simulate a measurement pattern, you can use the `mp.PatternSimulator`.
+```python
+import mentpy as mp
+
+st = mp.templates.grid_cluster(2,4)
+ps = mp.PatternSimulator(st)
+output = ps(np.random.rand(len(st.outputc)))
+```
+
+For visualization of circuits, you can use the `mp.draw(st)` function
+
+
+
+To calculate the lie algebra of a model $G_\theta$, you can use the `mp.utils.calculate_lie_algebra` function
+
+```python
+lie_alg = mp.utils.calculate_lie_algebra(st)
+len(lie_alg)
+>> 16
+```
+
+## Documentation
+
+The documentation for `mentpy` can be found here.
+
+## Contributing
+
+We welcome contributions to `mentpy`! Please see our [contributing guidelines](./CONTRIBUTING.md) for more information.
+
+## How to cite
+
+If you use `mentpy` in your research, please cite it as follows:
+
+```
+@software{mantilla2023mentpy,
+ title = {{MentPy: A Python package for parametrized MBQC circuits}},
+ author = {Mantilla Calderón, Luis},
+ year = {2023},
+ url = {https://github.com/mentpy/mentpy},
+}
+```
\ No newline at end of file
diff --git a/src/somef_core/test/test_data/README-menty.md b/src/somef_core/test/test_data/README-menty.md
new file mode 100644
index 0000000..8ac3d87
--- /dev/null
+++ b/src/somef_core/test/test_data/README-menty.md
@@ -0,0 +1,94 @@
+
+
+The `mentpy` library is an open-source software for simulations of
+measurement-based quantum computing circuits. Currently, this package is in its alpha version and many features are still in development.
+
+## Installation
+
+You can install the stable release of `mentpy` from PyPI using:
+
+```bash
+pip install mentpy
+```
+
+For the latest, potentially unstable version, you can install directly from the source:
+
+```bash
+pip install git+https://github.com/mentpy/mentpy.git
+```
+
+If you're contributing to `mentpy` and need to install development dependencies, you can do so using:
+
+```bash
+git clone https://github.com/mentpy/mentpy.git
+cd mentpy
+pip install -e '.[dev]'
+```
+
+This command installs `mentpy` in editable mode with its additional development dependencies.
+
+## Usage
+To simulate a measurement pattern, you can use the `mp.PatternSimulator`.
+```python
+import mentpy as mp
+
+st = mp.templates.grid_cluster(2,4)
+ps = mp.PatternSimulator(st)
+output = ps(np.random.rand(len(st.outputc)))
+```
+
+For visualization of circuits, you can use the `mp.draw(st)` function
+
+
+
+To calculate the lie algebra of a model $G_\theta$, you can use the `mp.utils.calculate_lie_algebra` function
+
+```python
+lie_alg = mp.utils.calculate_lie_algebra(st)
+len(lie_alg)
+>> 16
+```
+
+## Documentation
+
+The documentation for `mentpy` can be found here.
+
+## Contributing
+
+We welcome contributions to `mentpy`! Please see our [contributing guidelines](./CONTRIBUTING.md) for more information.
+
+## How to cite
+
+If you use `mentpy` in your research, please cite it as follows:
+
+```
+@software{mantilla2023mentpy,
+ title = {{MentPy: A Python package for parametrized MBQC circuits}},
+ author = {Mantilla Calderón, Luis},
+ year = {2023},
+ url = {https://github.com/mentpy/mentpy},
+}
+```
\ No newline at end of file
diff --git a/src/somef_core/test/test_data/README-sunpy 2.rst b/src/somef_core/test/test_data/README-sunpy 2.rst
new file mode 100644
index 0000000..75c6d1a
--- /dev/null
+++ b/src/somef_core/test/test_data/README-sunpy 2.rst
@@ -0,0 +1,115 @@
+*********
+``sunpy``
+*********
+|SunPy Logo|
+
++-----------------------------------+-----------------------------------+-----------------------------------+
+| Release | Development | Community |
++===================================+===================================+===================================+
+| |Latest PyPi Version| | |Python Versions| | |Matrix Chat Room| |
++-----------------------------------+-----------------------------------+-----------------------------------+
+| |Latest Conda Version| | |Project Status: Active| | |OpenAstronomy Discourse| |
++-----------------------------------+-----------------------------------+-----------------------------------+
+| |Zenodo - Latest DOI| | |Continuous Integration Status| | |Google Groups Mailing List| |
++-----------------------------------+-----------------------------------+-----------------------------------+
+| |sunpy stable documentation| | |CodeCov Code Coverage| | |Powered by NumFOCUS| |
++-----------------------------------+-----------------------------------+-----------------------------------+
+| |sunpy citation| | | |pyOpenSci| |
++-----------------------------------+-----------------------------------+-----------------------------------+
+
+.. |SunPy Logo| image:: https://raw.githubusercontent.com/sunpy/sunpy-logo/master/generated/sunpy_logo_landscape.png
+ :width: 200px
+.. |Latest PyPi Version| image:: https://img.shields.io/pypi/v/sunpy.svg
+ :target: https://pypi.python.org/pypi/sunpy/
+.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/sunpy
+ :target: https://pypi.python.org/pypi/sunpy/
+.. |Matrix Chat Room| image:: https://img.shields.io/matrix/sunpy:openastronomy.org.svg?colorB=%23FE7900&label=Chat&logo=matrix&server_fqdn=matrix.org
+ :target: https://app.element.io/#/room/#sunpy:openastronomy.org
+.. |Latest Conda Version| image:: https://anaconda.org/conda-forge/sunpy/badges/version.svg
+ :target: https://anaconda.org/conda-forge/sunpy
+.. |Project Status: Active| image:: https://www.repostatus.org/badges/latest/active.svg
+ :target: https://www.repostatus.org/#active
+.. |OpenAstronomy Discourse| image:: https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/try2/original/1X/5e1e3b3cada2d7fbae4734d4bc53999933d71c95.svg
+ :height: 20px
+ :target: https://community.openastronomy.org/
+.. |Zenodo - Latest DOI| image:: https://zenodo.org/badge/2165383.svg
+ :target: https://zenodo.org/badge/latestdoi/2165383
+.. |Continuous Integration Status| image:: https://github.com/sunpy/sunpy/actions/workflows/ci.yml/badge.svg?branch=main
+ :target: https://github.com/sunpy/sunpy/actions/workflows/ci.yml
+.. |Google Groups Mailing List| image:: https://upload.wikimedia.org/wikipedia/commons/2/27/Google_Groups_logo.gif
+ :height: 20px
+ :target: https://groups.google.com/g/sunpy
+.. |sunpy stable documentation| image:: https://readthedocs.org/projects/sunpy/badge/?version=stable
+ :target: https://docs.sunpy.org/
+.. |CodeCov Code Coverage| image:: https://codecov.io/gh/sunpy/sunpy/branch/main/graph/badge.svg
+ :target: https://codecov.io/gh/sunpy/sunpy
+.. |Powered by NumFOCUS| image:: https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A
+ :target: https://numfocus.org
+.. |sunpy citation| image:: https://img.shields.io/badge/cite-sunpy-orange
+ :target: https://docs.sunpy.org/en/stable/citation.html
+.. |pyOpenSci| image:: https://tinyurl.com/y22nb8up
+ :target: https://github.com/pyOpenSci/software-submission/issues/147
+
+``sunpy`` is a Python software package that provides fundamental tools for accessing, loading and interacting with solar physics data in Python.
+It includes an interface for searching and downloading data from multiple data providers, data containers for image and time series data, commonly used solar coordinate frames and associated transformations, as well as other functionality needed for solar data analysis.
+
+Installation
+============
+
+We recommended following the `installation guide `__ in the ``sunpy`` documentation.
+This will walk you through installing ``sunpy`` and all of its dependencies.
+
+Usage
+=====
+
+If you are new to ``sunpy``, the best place to start is the `tutorial `__.
+the `example gallery `__ also includes a collection of shorter and more specific examples of using ``sunpy``.
+
+Changes
+=======
+
+See our `changelog `__. for the latest changes in ``sunpy``.
+
+Getting Help
+============
+
+For more information or to ask questions about ``sunpy`` or any other SunPy Project package, please check out:
+
+- `sunpy documentation `__
+- `SunPy Affiliated Packages `__
+- `SunPy Chat`_
+- `SunPy mailing list `__
+- `SunPy Community forum `__
+
+Acknowledging or Citing ``sunpy``
+=================================
+
+If you use ``sunpy`` in your scientific work, we would appreciate your `citing it in your publications `__.
+The continued growth and development of ``sunpy`` is dependent on the community being aware of ``sunpy``.
+
+Contributing
+============
+
+The SunPy Project is a community-driven open-source project that welcomes any and all contributions.
+Whether you are a developer, student, or user, you can help by contributing code, documentation, or community support.
+
+If you would like to get involved, the `Newcomers Guide`_ guide explains the many different ways to contribute to the SunPy Project and also shows how to get set up with a development workflow.
+
+Help is always welcome, so come and say hello by joining the `SunPy Chat`_ and look over the `Good First Issues list`_ for the ideal places to start.
+
+.. _Newcomers Guide: https://docs.sunpy.org/en/latest/dev_guide/contents/newcomers.html
+.. _Good First Issues list: https://github.com/sunpy/sunpy/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22Good+First+Issue%22
+
+Usage of Generative AI
+======================
+
+We expect authentic engagement in our community.
+Be wary of posting output from Large Language Models or similar generative AI as comments on GitHub or any other platform, as such comments tend to be formulaic and low quality content.
+If you use generative AI tools as an aid in developing code or documentation changes, ensure that you fully understand the proposed changes and can explain why they are the correct approach and an improvement to the current state.
+
+Code of Conduct
+===============
+
+When you are interacting with the SunPy Community you are asked to follow our `Code of Conduct `__.
+
+.. _SunPy Chat: https://app.element.io/#/room/#sunpy:openastronomy.org
\ No newline at end of file
diff --git a/src/somef_core/test/test_data/README-sunpy.rst b/src/somef_core/test/test_data/README-sunpy.rst
new file mode 100644
index 0000000..75c6d1a
--- /dev/null
+++ b/src/somef_core/test/test_data/README-sunpy.rst
@@ -0,0 +1,115 @@
+*********
+``sunpy``
+*********
+|SunPy Logo|
+
++-----------------------------------+-----------------------------------+-----------------------------------+
+| Release | Development | Community |
++===================================+===================================+===================================+
+| |Latest PyPi Version| | |Python Versions| | |Matrix Chat Room| |
++-----------------------------------+-----------------------------------+-----------------------------------+
+| |Latest Conda Version| | |Project Status: Active| | |OpenAstronomy Discourse| |
++-----------------------------------+-----------------------------------+-----------------------------------+
+| |Zenodo - Latest DOI| | |Continuous Integration Status| | |Google Groups Mailing List| |
++-----------------------------------+-----------------------------------+-----------------------------------+
+| |sunpy stable documentation| | |CodeCov Code Coverage| | |Powered by NumFOCUS| |
++-----------------------------------+-----------------------------------+-----------------------------------+
+| |sunpy citation| | | |pyOpenSci| |
++-----------------------------------+-----------------------------------+-----------------------------------+
+
+.. |SunPy Logo| image:: https://raw.githubusercontent.com/sunpy/sunpy-logo/master/generated/sunpy_logo_landscape.png
+ :width: 200px
+.. |Latest PyPi Version| image:: https://img.shields.io/pypi/v/sunpy.svg
+ :target: https://pypi.python.org/pypi/sunpy/
+.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/sunpy
+ :target: https://pypi.python.org/pypi/sunpy/
+.. |Matrix Chat Room| image:: https://img.shields.io/matrix/sunpy:openastronomy.org.svg?colorB=%23FE7900&label=Chat&logo=matrix&server_fqdn=matrix.org
+ :target: https://app.element.io/#/room/#sunpy:openastronomy.org
+.. |Latest Conda Version| image:: https://anaconda.org/conda-forge/sunpy/badges/version.svg
+ :target: https://anaconda.org/conda-forge/sunpy
+.. |Project Status: Active| image:: https://www.repostatus.org/badges/latest/active.svg
+ :target: https://www.repostatus.org/#active
+.. |OpenAstronomy Discourse| image:: https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/try2/original/1X/5e1e3b3cada2d7fbae4734d4bc53999933d71c95.svg
+ :height: 20px
+ :target: https://community.openastronomy.org/
+.. |Zenodo - Latest DOI| image:: https://zenodo.org/badge/2165383.svg
+ :target: https://zenodo.org/badge/latestdoi/2165383
+.. |Continuous Integration Status| image:: https://github.com/sunpy/sunpy/actions/workflows/ci.yml/badge.svg?branch=main
+ :target: https://github.com/sunpy/sunpy/actions/workflows/ci.yml
+.. |Google Groups Mailing List| image:: https://upload.wikimedia.org/wikipedia/commons/2/27/Google_Groups_logo.gif
+ :height: 20px
+ :target: https://groups.google.com/g/sunpy
+.. |sunpy stable documentation| image:: https://readthedocs.org/projects/sunpy/badge/?version=stable
+ :target: https://docs.sunpy.org/
+.. |CodeCov Code Coverage| image:: https://codecov.io/gh/sunpy/sunpy/branch/main/graph/badge.svg
+ :target: https://codecov.io/gh/sunpy/sunpy
+.. |Powered by NumFOCUS| image:: https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A
+ :target: https://numfocus.org
+.. |sunpy citation| image:: https://img.shields.io/badge/cite-sunpy-orange
+ :target: https://docs.sunpy.org/en/stable/citation.html
+.. |pyOpenSci| image:: https://tinyurl.com/y22nb8up
+ :target: https://github.com/pyOpenSci/software-submission/issues/147
+
+``sunpy`` is a Python software package that provides fundamental tools for accessing, loading and interacting with solar physics data in Python.
+It includes an interface for searching and downloading data from multiple data providers, data containers for image and time series data, commonly used solar coordinate frames and associated transformations, as well as other functionality needed for solar data analysis.
+
+Installation
+============
+
+We recommended following the `installation guide `__ in the ``sunpy`` documentation.
+This will walk you through installing ``sunpy`` and all of its dependencies.
+
+Usage
+=====
+
+If you are new to ``sunpy``, the best place to start is the `tutorial `__.
+the `example gallery `__ also includes a collection of shorter and more specific examples of using ``sunpy``.
+
+Changes
+=======
+
+See our `changelog `__. for the latest changes in ``sunpy``.
+
+Getting Help
+============
+
+For more information or to ask questions about ``sunpy`` or any other SunPy Project package, please check out:
+
+- `sunpy documentation `__
+- `SunPy Affiliated Packages `__
+- `SunPy Chat`_
+- `SunPy mailing list `__
+- `SunPy Community forum `__
+
+Acknowledging or Citing ``sunpy``
+=================================
+
+If you use ``sunpy`` in your scientific work, we would appreciate your `citing it in your publications `__.
+The continued growth and development of ``sunpy`` is dependent on the community being aware of ``sunpy``.
+
+Contributing
+============
+
+The SunPy Project is a community-driven open-source project that welcomes any and all contributions.
+Whether you are a developer, student, or user, you can help by contributing code, documentation, or community support.
+
+If you would like to get involved, the `Newcomers Guide`_ guide explains the many different ways to contribute to the SunPy Project and also shows how to get set up with a development workflow.
+
+Help is always welcome, so come and say hello by joining the `SunPy Chat`_ and look over the `Good First Issues list`_ for the ideal places to start.
+
+.. _Newcomers Guide: https://docs.sunpy.org/en/latest/dev_guide/contents/newcomers.html
+.. _Good First Issues list: https://github.com/sunpy/sunpy/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22Good+First+Issue%22
+
+Usage of Generative AI
+======================
+
+We expect authentic engagement in our community.
+Be wary of posting output from Large Language Models or similar generative AI as comments on GitHub or any other platform, as such comments tend to be formulaic and low quality content.
+If you use generative AI tools as an aid in developing code or documentation changes, ensure that you fully understand the proposed changes and can explain why they are the correct approach and an improvement to the current state.
+
+Code of Conduct
+===============
+
+When you are interacting with the SunPy Community you are asked to follow our `Code of Conduct `__.
+
+.. _SunPy Chat: https://app.element.io/#/room/#sunpy:openastronomy.org
\ No newline at end of file
diff --git a/src/somef_core/test/test_data/README-unboundedsystems 2.md b/src/somef_core/test/test_data/README-unboundedsystems 2.md
new file mode 100644
index 0000000..7183625
--- /dev/null
+++ b/src/somef_core/test/test_data/README-unboundedsystems 2.md
@@ -0,0 +1,86 @@
+[](https://adaptjs.org)
+
+[](https://www.npmjs.com/package/@adpt/cli)
+[](https://gitter.im/UnboundedSystems/Adapt)
+[](https://opensource.org/licenses/Apache-2.0)
+
+# Adapt - ReactJS for your infrastructure.
+
+AdaptJS is a system to easily, reliably, and repeatably deploy your full-stack applications. Adapt specifications look like [React](https://reactjs.org) apps, but instead of rendering browser DOM elements like ``, or `
`, Adapt specifications use elements like AWS ``, Kubernetes ``, or `` database.
+
+If you're already familiar with React, you'll feel right at home with Adapt.
+But if not, don't worry, knowledge of React isn't required to start using Adapt.
+
+## Getting Started
+
+For a new project, it's easy to get started with Adapt by using a starter template.
+The [Getting Started Guide](https://adaptjs.org/docs/getting_started) will walk through installing Adapt and deploying your first starter app.
+
+## Creating and deploying an app
+
+This example creates a new full-stack app from a starter template.
+It has a [React](https://reactjs.org) UI, an [Nginx](https://nginx.org) web server, a [Node.js](https://nodejs.org) API server, and a [Postgres](https://postgresql.org) database, then deploys it to [Kubernetes](https://kubernetes.io/):
+
+```bash
+# Install adapt
+npm install -g @adpt/cli
+
+# Create a new app from a starter template
+adapt new hello-react-node-postgres ./myapp
+cd myapp/deploy
+
+# Deploy full stack locally using Docker
+adapt run laptop
+
+# Or just as easily deploy everything to Kubernetes
+adapt run k8s-test
+```
+
+An Adapt description for a complete front end and back end app stack looks like this:
+
+```jsx
+import Adapt from "@adpt/core";
+import { NodeService, ReactApp } from "@adpt/cloud/nodejs";
+import { Postgres } from "@adpt/cloud/postgres";
+
+function MyApp() {
+ const pg = Adapt.handle();
+
+ return (
+
+
+
+
+
+ );
+}
+```
+
+## Adapt in action
+
+This demo shows using Adapt to create and deploy a simple app called MovieDB that has a [React](https://reactjs.org) UI, an [Nginx](https://nginx.org) web server, an Nginx URL router, a [Node.js](https://nodejs.org) API server, and a [Postgres](https://postgresql.org) database, then deploys it to [Kubernetes](https://kubernetes.io/):
+
+
+
+## More info
+
+* [Adaptjs.org](https://adaptjs.org)
+
+ Learn more about Adapt.
+
+* [Getting Started Guide](https://adaptjs.org/docs/getting_started)
+
+ This guide will walk you through setting up Adapt and then deploying an example MovieDB app.
+
+* [Adapt Documentation](https://adaptjs.org/docs)
+
+ Adapt tutorials, API References, and more.
+
+## Getting Help
+
+[](https://gitter.im/UnboundedSystems/Adapt)
+
+We'd love to hear about your experience with Adapt!
+Join us on our [Gitter channel](https://gitter.im/UnboundedSystems/Adapt) to ask questions or to give us your feedback and suggestions.
+
+If you've found a bug, you can also [file an issue](https://gitlab.com/unboundedsystems/adapt/issues).
diff --git a/src/somef_core/test/test_data/README-unboundedsystems.md b/src/somef_core/test/test_data/README-unboundedsystems.md
new file mode 100644
index 0000000..7183625
--- /dev/null
+++ b/src/somef_core/test/test_data/README-unboundedsystems.md
@@ -0,0 +1,86 @@
+[](https://adaptjs.org)
+
+[](https://www.npmjs.com/package/@adpt/cli)
+[](https://gitter.im/UnboundedSystems/Adapt)
+[](https://opensource.org/licenses/Apache-2.0)
+
+# Adapt - ReactJS for your infrastructure.
+
+AdaptJS is a system to easily, reliably, and repeatably deploy your full-stack applications. Adapt specifications look like [React](https://reactjs.org) apps, but instead of rendering browser DOM elements like ``, or `
`, Adapt specifications use elements like AWS ``, Kubernetes ``, or `` database.
+
+If you're already familiar with React, you'll feel right at home with Adapt.
+But if not, don't worry, knowledge of React isn't required to start using Adapt.
+
+## Getting Started
+
+For a new project, it's easy to get started with Adapt by using a starter template.
+The [Getting Started Guide](https://adaptjs.org/docs/getting_started) will walk through installing Adapt and deploying your first starter app.
+
+## Creating and deploying an app
+
+This example creates a new full-stack app from a starter template.
+It has a [React](https://reactjs.org) UI, an [Nginx](https://nginx.org) web server, a [Node.js](https://nodejs.org) API server, and a [Postgres](https://postgresql.org) database, then deploys it to [Kubernetes](https://kubernetes.io/):
+
+```bash
+# Install adapt
+npm install -g @adpt/cli
+
+# Create a new app from a starter template
+adapt new hello-react-node-postgres ./myapp
+cd myapp/deploy
+
+# Deploy full stack locally using Docker
+adapt run laptop
+
+# Or just as easily deploy everything to Kubernetes
+adapt run k8s-test
+```
+
+An Adapt description for a complete front end and back end app stack looks like this:
+
+```jsx
+import Adapt from "@adpt/core";
+import { NodeService, ReactApp } from "@adpt/cloud/nodejs";
+import { Postgres } from "@adpt/cloud/postgres";
+
+function MyApp() {
+ const pg = Adapt.handle();
+
+ return (
+
+
+
+
+
+ );
+}
+```
+
+## Adapt in action
+
+This demo shows using Adapt to create and deploy a simple app called MovieDB that has a [React](https://reactjs.org) UI, an [Nginx](https://nginx.org) web server, an Nginx URL router, a [Node.js](https://nodejs.org) API server, and a [Postgres](https://postgresql.org) database, then deploys it to [Kubernetes](https://kubernetes.io/):
+
+
+
+## More info
+
+* [Adaptjs.org](https://adaptjs.org)
+
+ Learn more about Adapt.
+
+* [Getting Started Guide](https://adaptjs.org/docs/getting_started)
+
+ This guide will walk you through setting up Adapt and then deploying an example MovieDB app.
+
+* [Adapt Documentation](https://adaptjs.org/docs)
+
+ Adapt tutorials, API References, and more.
+
+## Getting Help
+
+[](https://gitter.im/UnboundedSystems/Adapt)
+
+We'd love to hear about your experience with Adapt!
+Join us on our [Gitter channel](https://gitter.im/UnboundedSystems/Adapt) to ask questions or to give us your feedback and suggestions.
+
+If you've found a bug, you can also [file an issue](https://gitlab.com/unboundedsystems/adapt/issues).
diff --git a/src/somef_core/test/test_data/README-uncbiag 2.md b/src/somef_core/test/test_data/README-uncbiag 2.md
new file mode 100644
index 0000000..49a45ef
--- /dev/null
+++ b/src/somef_core/test/test_data/README-uncbiag 2.md
@@ -0,0 +1,91 @@
+
+
+
+# ICON: Learning Regular Maps through Inverse Consistency
+
+[](https://github.com/uncbiag/ICON/actions)
+[](https://pypi.org/project/icon-registration)
+[](https://icon.readthedocs.io/en/master/)
+
+
+This is the official repository for
+
+**ICON: Learning Regular Maps through Inverse Consistency.**
+Hastings Greer, Roland Kwitt, Francois-Xavier Vialard, Marc Niethammer.
+_ICCV 2021_ https://arxiv.org/abs/2105.04459
+
+**GradICON: Approximate Diffeomorphisms via Gradient Inverse Consistency.**
+Lin Tian, Hastings Greer, Francois-Xavier Vialard, Roland Kwitt, Raúl San José Estépar, Marc Niethammer.
+_CVPR 2023_ https://arxiv.org/abs/2206.05897
+
+**Inverse Consistency by Construction for Multistep Deep Registration.**
+Hastings Greer, Lin Tian, Francois-Xavier Vialard, Roland Kwitt, Sylvain Bouix, Raul San Jose Estepar, Richard Rushmore and Marc Niethammer.
+_MICCAI 2023_ https://arxiv.org/abs/2305.00087
+
+## Cite this work
+```
+@InProceedings{Greer_2021_ICCV,
+ author = {Greer, Hastings and Kwitt, Roland and Vialard, Francois-Xavier and Niethammer, Marc},
+ title = {ICON: Learning Regular Maps Through Inverse Consistency},
+ booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
+ month = {October},
+ year = {2021},
+ pages = {3396-3405}
+}
+```
+
+```
+@article{Tian_2022_arXiv,
+ title={GradICON: Approximate Diffeomorphisms via Gradient Inverse Consistency},
+ author={Tian, Lin and Greer, Hastings and Vialard, Fran{\c{c}}ois-Xavier and Kwitt, Roland and Est{\'e}par, Ra{\'u}l San Jos{\'e} and Niethammer, Marc},
+ journal={arXiv preprint arXiv:2206.05897},
+ year={2022}
+}
+```
+```
+@misc{greer2023inverseconsistencyconstructionmultistep,
+ title={Inverse Consistency by Construction for Multistep Deep Registration},
+ author={Hastings Greer and Lin Tian and Francois-Xavier Vialard and Roland Kwitt and Sylvain Bouix and Raul San Jose Estepar and Richard Rushmore and Marc Niethammer},
+ year={2023},
+ eprint={2305.00087},
+ archivePrefix={arXiv},
+ primaryClass={cs.CV},
+ url={https://arxiv.org/abs/2305.00087},
+}
+```
+
+
+## uniGradICON and multiGradICON
+
+If you are interested in general purpose deep learning registration approaches check out [uniGradICON and multiGradICON](https://github.com/uncbiag/uniGradICON). These networks were trained using the GradICON technology but over many different datasets allowing them to generalize to different unimodal and multimodal registration tasks.
+
+## Video Presentation
+
+[](https://youtu.be/7kZsJ3zWDCA)
+
+
+## Running our code
+
+We are available on PyPI!
+```bash
+pip install icon-registration
+```
+
+
+To run our pretrained model in the cloud on sample images from OAI knees, visit [our knee google colab notebook](https://colab.research.google.com/drive/1svftgw-vYWnLp9lSf3UkrG547atjbIrg?usp=sharing)
+
+To run our pretrained model for lung CT scans on an example from COPDgene, visit [our lung google colab notebook](https://colab.research.google.com/github/uncbiag/ICON/blob/master/notebooks/ICON_lung_demo.ipynb)
+
+----------------
+
+To train from scratch on the synthetic triangles and circles dataset:
+
+```bash
+git clone https://github.com/uncbiag/ICON
+cd ICON
+
+pip install -e .
+
+python training_scripts/2d_triangles_example.py
+```
+
diff --git a/src/somef_core/test/test_data/README-uncbiag.md b/src/somef_core/test/test_data/README-uncbiag.md
new file mode 100644
index 0000000..49a45ef
--- /dev/null
+++ b/src/somef_core/test/test_data/README-uncbiag.md
@@ -0,0 +1,91 @@
+
+
+
+# ICON: Learning Regular Maps through Inverse Consistency
+
+[](https://github.com/uncbiag/ICON/actions)
+[](https://pypi.org/project/icon-registration)
+[](https://icon.readthedocs.io/en/master/)
+
+
+This is the official repository for
+
+**ICON: Learning Regular Maps through Inverse Consistency.**
+Hastings Greer, Roland Kwitt, Francois-Xavier Vialard, Marc Niethammer.
+_ICCV 2021_ https://arxiv.org/abs/2105.04459
+
+**GradICON: Approximate Diffeomorphisms via Gradient Inverse Consistency.**
+Lin Tian, Hastings Greer, Francois-Xavier Vialard, Roland Kwitt, Raúl San José Estépar, Marc Niethammer.
+_CVPR 2023_ https://arxiv.org/abs/2206.05897
+
+**Inverse Consistency by Construction for Multistep Deep Registration.**
+Hastings Greer, Lin Tian, Francois-Xavier Vialard, Roland Kwitt, Sylvain Bouix, Raul San Jose Estepar, Richard Rushmore and Marc Niethammer.
+_MICCAI 2023_ https://arxiv.org/abs/2305.00087
+
+## Cite this work
+```
+@InProceedings{Greer_2021_ICCV,
+ author = {Greer, Hastings and Kwitt, Roland and Vialard, Francois-Xavier and Niethammer, Marc},
+ title = {ICON: Learning Regular Maps Through Inverse Consistency},
+ booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
+ month = {October},
+ year = {2021},
+ pages = {3396-3405}
+}
+```
+
+```
+@article{Tian_2022_arXiv,
+ title={GradICON: Approximate Diffeomorphisms via Gradient Inverse Consistency},
+ author={Tian, Lin and Greer, Hastings and Vialard, Fran{\c{c}}ois-Xavier and Kwitt, Roland and Est{\'e}par, Ra{\'u}l San Jos{\'e} and Niethammer, Marc},
+ journal={arXiv preprint arXiv:2206.05897},
+ year={2022}
+}
+```
+```
+@misc{greer2023inverseconsistencyconstructionmultistep,
+ title={Inverse Consistency by Construction for Multistep Deep Registration},
+ author={Hastings Greer and Lin Tian and Francois-Xavier Vialard and Roland Kwitt and Sylvain Bouix and Raul San Jose Estepar and Richard Rushmore and Marc Niethammer},
+ year={2023},
+ eprint={2305.00087},
+ archivePrefix={arXiv},
+ primaryClass={cs.CV},
+ url={https://arxiv.org/abs/2305.00087},
+}
+```
+
+
+## uniGradICON and multiGradICON
+
+If you are interested in general purpose deep learning registration approaches check out [uniGradICON and multiGradICON](https://github.com/uncbiag/uniGradICON). These networks were trained using the GradICON technology but over many different datasets allowing them to generalize to different unimodal and multimodal registration tasks.
+
+## Video Presentation
+
+[](https://youtu.be/7kZsJ3zWDCA)
+
+
+## Running our code
+
+We are available on PyPI!
+```bash
+pip install icon-registration
+```
+
+
+To run our pretrained model in the cloud on sample images from OAI knees, visit [our knee google colab notebook](https://colab.research.google.com/drive/1svftgw-vYWnLp9lSf3UkrG547atjbIrg?usp=sharing)
+
+To run our pretrained model for lung CT scans on an example from COPDgene, visit [our lung google colab notebook](https://colab.research.google.com/github/uncbiag/ICON/blob/master/notebooks/ICON_lung_demo.ipynb)
+
+----------------
+
+To train from scratch on the synthetic triangles and circles dataset:
+
+```bash
+git clone https://github.com/uncbiag/ICON
+cd ICON
+
+pip install -e .
+
+python training_scripts/2d_triangles_example.py
+```
+
diff --git a/src/somef_core/test/test_data/README-widoco-duplicate-dois 2.md b/src/somef_core/test/test_data/README-widoco-duplicate-dois 2.md
new file mode 100644
index 0000000..85fb4f0
--- /dev/null
+++ b/src/somef_core/test/test_data/README-widoco-duplicate-dois 2.md
@@ -0,0 +1,198 @@
+# WIzard for DOCumenting Ontologies (WIDOCO)
+[](https://zenodo.org/badge/latestdoi/11427075) [](https://jitpack.io/#dgarijo/Widoco)
+
+
+
+WIDOCO helps you to publish and create an enriched and customized documentation of your ontology automatically, by following a series of steps in a GUI.
+
+**Author**: Daniel Garijo Verdejo (@dgarijo)
+
+**Contributors**: María Poveda, Idafen Santana, Almudena Ruiz, Miguel Angel García, Oscar Corcho, Daniel Vila, Sergio Barrio, Martin Scharm, Maxime Lefrancois, Alfredo Serafini, @kartgk, Pat Mc Bennett, Christophe Camel, Jacobus Geluk, Martin Scharm, @rpietzsch, Jonathan Leitschuh, Jodi Schneider, Giacomo Lanza, Alejandra Gonzalez-Beltran, Mario Scrocca, Miguel Angel García and Flores Bakker.
+
+**Citing WIDOCO**: If you used WIDOCO in your work, please cite the ISWC 2017 paper: https://iswc2017.semanticweb.org/paper-138
+
+```bib
+@inproceedings{garijo2017widoco,
+ title={WIDOCO: a wizard for documenting ontologies},
+ author={Garijo, Daniel},
+ booktitle={International Semantic Web Conference},
+ pages={94--102},
+ year={2017},
+ organization={Springer, Cham},
+ doi = {10.1007/978-3-319-68204-4_9},
+ funding = {USNSF ICER-1541029, NIH 1R01GM117097-01},
+ url={http://dgarijo.com/papers/widoco-iswc2017.pdf}
+}
+
+@inproceedings{garijo2017widoco_duplicate,
+ title={WIDOCO: a wizard for documenting ontologies},
+ author={Garijo, Daniel},
+ booktitle={International Semantic Web Conference},
+ pages={94--102},
+ year={2017},
+ organization={Springer, Cham},
+ doi = {https://dx.doi.org/10.1007/978-3-319-68204-4_9},
+ url={http://dgarijo.com/papers/widoco-iswc2017.pdf}
+}
+```
+If you want to cite the latest version of the software, you can do so by using: https://zenodo.org/badge/latestdoi/11427075.
+
+## Downloading the executable
+
+To download WIDOCO, you need to download a JAR executable file. Check the latest release for more details: (https://github.com/dgarijo/WIDOCO/releases/latest).
+
+## Importing WIDOCO as a dependency
+Just add the dependency and repository to your `pom.xml` file as follows. See the [WIDOCO JitPack](https://jitpack.io/#dgarijo/Widoco) page to find alternative means to incorporate WIDOCO to your project.
+
+```xml
+
+
+ com.github.dgarijo
+ Widoco
+ v1.4.15
+
+
+
+[ ... ]
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+```
+
+## Description
+WIDOCO helps you to publish and create an enriched and customized documentation of your ontology, by following a series of steps in a wizard. We extend the LODE framework by Silvio Peroni to describe the classes, properties and data properties of the ontology, the OOPS! webservice by María Poveda to print an evaluation and the Licensius service by Victor Rodriguez Doncel to determine the license URI and title being used. In addition, we use WebVowl to visualize the ontology and have extended Bubastis to show a complete changelog between different versions of your ontology.
+
+Features of WIDOCO:
+* Automatic documentation of the terms in your ontology (based on [LODE](http://www.essepuntato.it/lode/)). Now you can use Markdown on your class descriptions (see [example](doc/gallery/index.html))
+* Automatic annotation in JSON-LD snippets of the html produced.
+* Association of a provenance page which includes the history of your vocabulary (W3C PROV-O compliant).
+* Metadata extraction from the ontology plus the means to complete it on the fly when generating your ontology. Check the [best practice document](http://dgarijo.github.io/Widoco/doc/bestPractices/index-en.html) to know more about the terms recognized by WIDOCO.
+* Guidelines on the main sections that your document should have and how to complete them.
+* Integration with diagram creators ([WebVOWL](http://vowl.visualdataweb.org/webvowl/)).
+* Automatic changelog of differences between the actual and the previous version of the ontology (based on [Bubastis](http://www.ebi.ac.uk/efo/bubastis/)).
+* Separation of the sections of your html page so you can write them independently and replace only those needed.
+* Content negotiation and serialization of your ontology according to [W3C best practices](https://www.w3.org/TR/swbp-vocab-pub/)
+* Evaluation reports of your ontology (using the [OOPS! web service](http://oops.linkeddata.es/))
+* Integration with license metadata services ([Licensius](http://licensius.com/)) to automatically describe the license used in your ontology.
+
+## Examples
+Examples of the features of WIDOCO can be seen on [the gallery](http://dgarijo.github.io/Widoco/doc/gallery/)
+
+## GUI Tutorial
+A tutorial explaining the main features of the GUI can be found [here](http://dgarijo.github.io/Widoco/doc/tutorial/)
+
+## How to use WIDOCO
+
+### JAR execution
+
+Download the latest `.jar` [WIDOCO available release](https://github.com/dgarijo/WIDOCO/releases/latest) (it will be something like `widoco-VERSION-jar-with-dependencies.jar`). Then just double click the `.jar` file.
+
+You may also execute WIDOCO through the command line. Usage:
+```bash
+java -jar widoco-VERSION-jar-with-dependencies.jar [OPTIONS]
+```
+
+### Docker execution
+
+First build the image using the `Dockerfile` in project folder:
+
+```bash
+docker build -t dgarijo/widoco .
+```
+
+You can now execute WIDOCO through the command line. Usage:
+
+```bash
+docker run -ti --rm dgarijo/widoco [OPTIONS]
+```
+
+If you want to share data between the Docker Container and your Host, for instance to load a local ontology file (from PATH), you will need to mount the container
+with host directories. For instance:
+
+```bash
+docker run -ti --rm \
+ -v `pwd`/test:/usr/local/widoco/in \
+ -v `pwd`/target/generated-doc:/usr/local/widoco/out \
+ dgarijo/widoco -ontFile in/bne.ttl -outFolder out -rewriteAll
+```
+
+### Options
+
+`-ontFile PATH` [required (unless -ontURI is used)]: Load a local ontology file (from PATH) to document. This option is incompatible with -ontURI
+
+`-ontURI URI` [required (unless -ontFile is used)]: Load an ontology to document from its URI. This option is incompatible with -ontFile
+
+`-outFolder folderName`: Specifies the name of the folder where to save the documentation. By default is 'myDocumentation'
+
+`-confFile PATH`: Load your own configuration file for the ontology metadata. Incompatible with -getOntologyMetadata
+
+`-getOntologyMetadata`: Extract ontology metadata from the given ontology
+
+`-oops`: Create an html page with the evaluation from the OOPS service (http://oops.linkeddata.es/)
+
+`-rewriteAll`: Replace any existing files when documenting an ontology (e.g., from a previous execution)
+
+`-crossRef`: ONLY generate the overview and cross reference sections. The index document will NOT be generated. The htaccess, provenance page, etc., will not be generated unless requested by other flags. This flag is intended to be used only after a first version of the documentation exists.
+
+`-saveConfig PATH`: Save a configuration file on PATH with the properties of a given ontology
+
+`-useCustomStyle`: Export the documentation using alternate css files (by Daniel Vila).
+
+`-lang LANG1-LANG2`: Generate documentation in multiple languages (separated by "-"). Note that if the language is not supported, the system will load the labels in english. For example: en-pt-es
+
+`-includeImportedOntologies`: Indicates whether the terms of the imported ontologies of the current ontology should be documented as well or not.
+
+`-htaccess`: Create a bundle for publication ready to be deployed on your Apache server.
+
+`-webVowl`: Create a visualization based on WebVowl (http://vowl.visualdataweb.org/webvowl/index.html#) in the documentation.
+
+`-licensius`: Use the Licensius web services (http://licensius.com/apidoc/index.html) to retrieve license metadata. Only works if the -getOntologyMetadata flag is enabled.
+
+`-ignoreIndividuals`: Individuals will not be included in the documentation.
+
+`-includeAnnotationProperties`: Include annotation properties defined in your ontology in the documentation (by default they are not included)
+
+`-analytics CODE`: Add a code snippet for Google analytics to track your HTML documentation. You need to add your CODE next to the flag. For example: UA-1234
+
+`-doNotDisplaySerializations`: The serializations of the ontology will not be displayed.
+
+`-displayDirectImportsOnly`: Only those imported ontologies that are directly imported in the ontology being documented.
+
+`-rewriteBase PATH`: Change the default rewrite base path. The default value is "/". This flag can only be used with the htaccess option.
+
+`-excludeIntroduction`: Skip the introduction section in the documentation.
+
+`-uniteSections`: Write all HTML sections into a single HTML document.
+
+`-noPlaceHolderText`: Do not add any placeholder text (this will remove intro, abstract (if empty) and description sections).
+
+`--help`: Shows a help message and exits.
+
+
+## How can I make WIDOCO automatically recognize my vocabulary annotations?
+There are two alternative ways for making WIDOCO get your vocabulary metadata annotations and use them automatically to document the ontology.
+
+* The recommended way: add them in your OWL file. For guidelines on which ones to include, follow our [best practices document](https://w3id.org/widoco/bestPractices), which indicates which ones we recommend.
+* Alternatively, edit the project properties of /config/config.properties. This is a key-value pair file with metadata properties. Some people consider it easier than adding the property annotations to the OWL file, although I recommend doing the former option. Note that the character ";" is used for lists (for instance first author; second author; third author).
+
+## Browser issues (Why can't I see the generated documentation / visualization?)
+WIDOCO separates the contents of different sections in HTML files, which are then loaded in the `index.html` file. WIDOCO was designed this way because it's easier to edit your introduction or description sections independently without being all aggregated together in a huge HTML document. **When all the contents generated by WIDOCO are stored in a server, you will be able to see the documentation of your ontology using any browser**. However, if you open the `index.html` file **on your local browser**, you may see a document missing most of the sections in your documentation. This happens because browsers don't allow loading separate content when opening a file locally for security reasons. If you want to explore how your ontology would look locally, you have two options:
+
+* a) Execute WIDOCO with the `-uniteSections` flag; or select the option `add al sections in a single document` in the "load sections" step in the WIDOCO GUI. This will make all the sections of WIDOCO to be in the `index.html`; and you will be able to see it in your browser. Note that the **LODE visualization will not be available** when exploring your ontology locally.
+* b) Create a local server: Set up a local server (e.g., using XAMPP or Tomcat) and serve the files WIDOCO generates (in the `htdocs` folder for Apache servers).
+
+If you place the files generated by WIDOCO in a server and access them via its URL (for example, a Github page), you should be able to see your documentation appropriately.
+
+## Current improvements
+For a complete list of the current improvements and next features, check the [project open issues](https://github.com/dgarijo/Widoco/issues) and [milestones](https://github.com/dgarijo/Widoco/milestones) in the repository.
+
+## Requirements
+You will need Java 1.8 or higher (SDK 1.8 or JRE 8) for WIDOCO to work
+Otherwise, you will probably experience an "Unsupported major.minor version 52.0" exception when executing the JAR file.
+
+## Contribution guidelines
+Contributions to address any of the current issues are welcome. In order to push your contribution, just **push your pull request to the develop branch**. The master branch has only the code associated to the latest release.
diff --git a/src/somef_core/test/test_data/README-widoco-duplicate-dois.md b/src/somef_core/test/test_data/README-widoco-duplicate-dois.md
new file mode 100644
index 0000000..85fb4f0
--- /dev/null
+++ b/src/somef_core/test/test_data/README-widoco-duplicate-dois.md
@@ -0,0 +1,198 @@
+# WIzard for DOCumenting Ontologies (WIDOCO)
+[](https://zenodo.org/badge/latestdoi/11427075) [](https://jitpack.io/#dgarijo/Widoco)
+
+
+
+WIDOCO helps you to publish and create an enriched and customized documentation of your ontology automatically, by following a series of steps in a GUI.
+
+**Author**: Daniel Garijo Verdejo (@dgarijo)
+
+**Contributors**: María Poveda, Idafen Santana, Almudena Ruiz, Miguel Angel García, Oscar Corcho, Daniel Vila, Sergio Barrio, Martin Scharm, Maxime Lefrancois, Alfredo Serafini, @kartgk, Pat Mc Bennett, Christophe Camel, Jacobus Geluk, Martin Scharm, @rpietzsch, Jonathan Leitschuh, Jodi Schneider, Giacomo Lanza, Alejandra Gonzalez-Beltran, Mario Scrocca, Miguel Angel García and Flores Bakker.
+
+**Citing WIDOCO**: If you used WIDOCO in your work, please cite the ISWC 2017 paper: https://iswc2017.semanticweb.org/paper-138
+
+```bib
+@inproceedings{garijo2017widoco,
+ title={WIDOCO: a wizard for documenting ontologies},
+ author={Garijo, Daniel},
+ booktitle={International Semantic Web Conference},
+ pages={94--102},
+ year={2017},
+ organization={Springer, Cham},
+ doi = {10.1007/978-3-319-68204-4_9},
+ funding = {USNSF ICER-1541029, NIH 1R01GM117097-01},
+ url={http://dgarijo.com/papers/widoco-iswc2017.pdf}
+}
+
+@inproceedings{garijo2017widoco_duplicate,
+ title={WIDOCO: a wizard for documenting ontologies},
+ author={Garijo, Daniel},
+ booktitle={International Semantic Web Conference},
+ pages={94--102},
+ year={2017},
+ organization={Springer, Cham},
+ doi = {https://dx.doi.org/10.1007/978-3-319-68204-4_9},
+ url={http://dgarijo.com/papers/widoco-iswc2017.pdf}
+}
+```
+If you want to cite the latest version of the software, you can do so by using: https://zenodo.org/badge/latestdoi/11427075.
+
+## Downloading the executable
+
+To download WIDOCO, you need to download a JAR executable file. Check the latest release for more details: (https://github.com/dgarijo/WIDOCO/releases/latest).
+
+## Importing WIDOCO as a dependency
+Just add the dependency and repository to your `pom.xml` file as follows. See the [WIDOCO JitPack](https://jitpack.io/#dgarijo/Widoco) page to find alternative means to incorporate WIDOCO to your project.
+
+```xml
+
+
+ com.github.dgarijo
+ Widoco
+ v1.4.15
+
+
+
+[ ... ]
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+```
+
+## Description
+WIDOCO helps you to publish and create an enriched and customized documentation of your ontology, by following a series of steps in a wizard. We extend the LODE framework by Silvio Peroni to describe the classes, properties and data properties of the ontology, the OOPS! webservice by María Poveda to print an evaluation and the Licensius service by Victor Rodriguez Doncel to determine the license URI and title being used. In addition, we use WebVowl to visualize the ontology and have extended Bubastis to show a complete changelog between different versions of your ontology.
+
+Features of WIDOCO:
+* Automatic documentation of the terms in your ontology (based on [LODE](http://www.essepuntato.it/lode/)). Now you can use Markdown on your class descriptions (see [example](doc/gallery/index.html))
+* Automatic annotation in JSON-LD snippets of the html produced.
+* Association of a provenance page which includes the history of your vocabulary (W3C PROV-O compliant).
+* Metadata extraction from the ontology plus the means to complete it on the fly when generating your ontology. Check the [best practice document](http://dgarijo.github.io/Widoco/doc/bestPractices/index-en.html) to know more about the terms recognized by WIDOCO.
+* Guidelines on the main sections that your document should have and how to complete them.
+* Integration with diagram creators ([WebVOWL](http://vowl.visualdataweb.org/webvowl/)).
+* Automatic changelog of differences between the actual and the previous version of the ontology (based on [Bubastis](http://www.ebi.ac.uk/efo/bubastis/)).
+* Separation of the sections of your html page so you can write them independently and replace only those needed.
+* Content negotiation and serialization of your ontology according to [W3C best practices](https://www.w3.org/TR/swbp-vocab-pub/)
+* Evaluation reports of your ontology (using the [OOPS! web service](http://oops.linkeddata.es/))
+* Integration with license metadata services ([Licensius](http://licensius.com/)) to automatically describe the license used in your ontology.
+
+## Examples
+Examples of the features of WIDOCO can be seen on [the gallery](http://dgarijo.github.io/Widoco/doc/gallery/)
+
+## GUI Tutorial
+A tutorial explaining the main features of the GUI can be found [here](http://dgarijo.github.io/Widoco/doc/tutorial/)
+
+## How to use WIDOCO
+
+### JAR execution
+
+Download the latest `.jar` [WIDOCO available release](https://github.com/dgarijo/WIDOCO/releases/latest) (it will be something like `widoco-VERSION-jar-with-dependencies.jar`). Then just double click the `.jar` file.
+
+You may also execute WIDOCO through the command line. Usage:
+```bash
+java -jar widoco-VERSION-jar-with-dependencies.jar [OPTIONS]
+```
+
+### Docker execution
+
+First build the image using the `Dockerfile` in project folder:
+
+```bash
+docker build -t dgarijo/widoco .
+```
+
+You can now execute WIDOCO through the command line. Usage:
+
+```bash
+docker run -ti --rm dgarijo/widoco [OPTIONS]
+```
+
+If you want to share data between the Docker Container and your Host, for instance to load a local ontology file (from PATH), you will need to mount the container
+with host directories. For instance:
+
+```bash
+docker run -ti --rm \
+ -v `pwd`/test:/usr/local/widoco/in \
+ -v `pwd`/target/generated-doc:/usr/local/widoco/out \
+ dgarijo/widoco -ontFile in/bne.ttl -outFolder out -rewriteAll
+```
+
+### Options
+
+`-ontFile PATH` [required (unless -ontURI is used)]: Load a local ontology file (from PATH) to document. This option is incompatible with -ontURI
+
+`-ontURI URI` [required (unless -ontFile is used)]: Load an ontology to document from its URI. This option is incompatible with -ontFile
+
+`-outFolder folderName`: Specifies the name of the folder where to save the documentation. By default is 'myDocumentation'
+
+`-confFile PATH`: Load your own configuration file for the ontology metadata. Incompatible with -getOntologyMetadata
+
+`-getOntologyMetadata`: Extract ontology metadata from the given ontology
+
+`-oops`: Create an html page with the evaluation from the OOPS service (http://oops.linkeddata.es/)
+
+`-rewriteAll`: Replace any existing files when documenting an ontology (e.g., from a previous execution)
+
+`-crossRef`: ONLY generate the overview and cross reference sections. The index document will NOT be generated. The htaccess, provenance page, etc., will not be generated unless requested by other flags. This flag is intended to be used only after a first version of the documentation exists.
+
+`-saveConfig PATH`: Save a configuration file on PATH with the properties of a given ontology
+
+`-useCustomStyle`: Export the documentation using alternate css files (by Daniel Vila).
+
+`-lang LANG1-LANG2`: Generate documentation in multiple languages (separated by "-"). Note that if the language is not supported, the system will load the labels in english. For example: en-pt-es
+
+`-includeImportedOntologies`: Indicates whether the terms of the imported ontologies of the current ontology should be documented as well or not.
+
+`-htaccess`: Create a bundle for publication ready to be deployed on your Apache server.
+
+`-webVowl`: Create a visualization based on WebVowl (http://vowl.visualdataweb.org/webvowl/index.html#) in the documentation.
+
+`-licensius`: Use the Licensius web services (http://licensius.com/apidoc/index.html) to retrieve license metadata. Only works if the -getOntologyMetadata flag is enabled.
+
+`-ignoreIndividuals`: Individuals will not be included in the documentation.
+
+`-includeAnnotationProperties`: Include annotation properties defined in your ontology in the documentation (by default they are not included)
+
+`-analytics CODE`: Add a code snippet for Google analytics to track your HTML documentation. You need to add your CODE next to the flag. For example: UA-1234
+
+`-doNotDisplaySerializations`: The serializations of the ontology will not be displayed.
+
+`-displayDirectImportsOnly`: Only those imported ontologies that are directly imported in the ontology being documented.
+
+`-rewriteBase PATH`: Change the default rewrite base path. The default value is "/". This flag can only be used with the htaccess option.
+
+`-excludeIntroduction`: Skip the introduction section in the documentation.
+
+`-uniteSections`: Write all HTML sections into a single HTML document.
+
+`-noPlaceHolderText`: Do not add any placeholder text (this will remove intro, abstract (if empty) and description sections).
+
+`--help`: Shows a help message and exits.
+
+
+## How can I make WIDOCO automatically recognize my vocabulary annotations?
+There are two alternative ways for making WIDOCO get your vocabulary metadata annotations and use them automatically to document the ontology.
+
+* The recommended way: add them in your OWL file. For guidelines on which ones to include, follow our [best practices document](https://w3id.org/widoco/bestPractices), which indicates which ones we recommend.
+* Alternatively, edit the project properties of /config/config.properties. This is a key-value pair file with metadata properties. Some people consider it easier than adding the property annotations to the OWL file, although I recommend doing the former option. Note that the character ";" is used for lists (for instance first author; second author; third author).
+
+## Browser issues (Why can't I see the generated documentation / visualization?)
+WIDOCO separates the contents of different sections in HTML files, which are then loaded in the `index.html` file. WIDOCO was designed this way because it's easier to edit your introduction or description sections independently without being all aggregated together in a huge HTML document. **When all the contents generated by WIDOCO are stored in a server, you will be able to see the documentation of your ontology using any browser**. However, if you open the `index.html` file **on your local browser**, you may see a document missing most of the sections in your documentation. This happens because browsers don't allow loading separate content when opening a file locally for security reasons. If you want to explore how your ontology would look locally, you have two options:
+
+* a) Execute WIDOCO with the `-uniteSections` flag; or select the option `add al sections in a single document` in the "load sections" step in the WIDOCO GUI. This will make all the sections of WIDOCO to be in the `index.html`; and you will be able to see it in your browser. Note that the **LODE visualization will not be available** when exploring your ontology locally.
+* b) Create a local server: Set up a local server (e.g., using XAMPP or Tomcat) and serve the files WIDOCO generates (in the `htdocs` folder for Apache servers).
+
+If you place the files generated by WIDOCO in a server and access them via its URL (for example, a Github page), you should be able to see your documentation appropriately.
+
+## Current improvements
+For a complete list of the current improvements and next features, check the [project open issues](https://github.com/dgarijo/Widoco/issues) and [milestones](https://github.com/dgarijo/Widoco/milestones) in the repository.
+
+## Requirements
+You will need Java 1.8 or higher (SDK 1.8 or JRE 8) for WIDOCO to work
+Otherwise, you will probably experience an "Unsupported major.minor version 52.0" exception when executing the JAR file.
+
+## Contribution guidelines
+Contributions to address any of the current issues are welcome. In order to push your contribution, just **push your pull request to the develop branch**. The master branch has only the code associated to the latest release.
diff --git a/src/somef_core/test/test_data/README-widoco-swh 2.md b/src/somef_core/test/test_data/README-widoco-swh 2.md
new file mode 100644
index 0000000..0f72c58
--- /dev/null
+++ b/src/somef_core/test/test_data/README-widoco-swh 2.md
@@ -0,0 +1,233 @@
+# WIzard for DOCumenting Ontologies (WIDOCO)
+[](https://doi.org/10.5281/zenodo.11093793) [](https://jitpack.io/#dgarijo/Widoco) [](https://www.repostatus.org/#active) [](https://archive.softwareheritage.org/browse/origin/?origin_url=https://github.com/dgarijo/Widoco) [](https://archive.softwareheritage.org/swh:1:dir:40d462bbecefc3a9c3e810567d1f0d7606e0fae7;origin=https://github.com/dgarijo/Widoco;visit=swh:1:snp:4d8570d390a18fee1d37f262ad79b36c021c611a;anchor=swh:1:rev:fec66b89a4f4acb015a44c7f8cb671d49bec626a)
+
+
+
+WIDOCO helps you to publish and create an enriched and customized documentation of your ontology automatically, by following a series of steps in a GUI.
+
+**Author**: Daniel Garijo Verdejo (@dgarijo)
+
+**Contributors**: María Poveda, Idafen Santana, Almudena Ruiz, Miguel Angel García, Oscar Corcho, Daniel Vila, Sergio Barrio, Martin Scharm, Maxime Lefrancois, Alfredo Serafini, @kartgk, Pat Mc Bennett, Christophe Camel, Jacobus Geluk, Martin Scharm, @rpietzsch, Jonathan Leitschuh, Jodi Schneider, Giacomo Lanza, Alejandra Gonzalez-Beltran, Mario Scrocca, Miguel Angel García, Flores Bakker, @JohnnyMoonlight, René Fritze, @telecsur, Jan Vlug, Han Kruiger, Johannes Theissen-Lipp, Roberto Polli, Victor Chavez, Sirko Schindler and Michaël Dierick.
+
+**Citing WIDOCO**: If you used WIDOCO in your work, please cite the ISWC 2017 paper: https://iswc2017.semanticweb.org/paper-138
+
+```bib
+@inproceedings{garijo2017widoco,
+ title={WIDOCO: a wizard for documenting ontologies},
+ author={Garijo, Daniel},
+ booktitle={International Semantic Web Conference},
+ pages={94--102},
+ year={2017},
+ organization={Springer, Cham},
+ doi = {10.1007/978-3-319-68204-4_9},
+ funding = {USNSF ICER-1541029, NIH 1R01GM117097-01},
+ url={http://dgarijo.com/papers/widoco-iswc2017.pdf}
+}
+```
+If you want to cite the latest version of the software, you can do so by using: https://zenodo.org/badge/latestdoi/11427075.
+
+## Downloading the executable
+
+To download WIDOCO, you need to download a JAR executable file. Check the latest release for more details: (https://github.com/dgarijo/WIDOCO/releases/latest).
+
+## Importing WIDOCO as a dependency
+Just add the dependency and repository to your `pom.xml` file as follows. See the [WIDOCO JitPack](https://jitpack.io/#dgarijo/Widoco) page to find alternative means to incorporate WIDOCO to your project.
+
+```xml
+
+
+ com.github.dgarijo
+ Widoco
+ v1.4.24
+
+
+
+[ ... ]
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+```
+
+## Description
+WIDOCO helps you to publish and create an enriched and customized documentation of your ontology, by following a series of steps in a wizard. We extend the LODE framework by Silvio Peroni to describe the classes, properties and data properties of the ontology, the OOPS! webservice by María Poveda to print an evaluation and the Licensius service by Victor Rodriguez Doncel to determine the license URI and title being used. In addition, we use WebVowl to visualize the ontology and have extended Bubastis to show a complete changelog between different versions of your ontology.
+
+Features of WIDOCO:
+* Automatic documentation of the terms in your ontology (based on [LODE](http://www.essepuntato.it/lode/)). Now **you can use Markdown on your class descriptions** (see [example](https://dgarijo.github.io/Widoco/doc/gallery/index.html))
+* Massive metadata extraction and support: WIDOCO will enhance your ontology documentation based on your ontology annotations. Now you can add custom logos and images, edit the content of your sections, etc. by just editing metadata. See our [supported metadata](doc/metadataGuide/guide.md) and [recommendations](https://dgarijo.github.io/Widoco/doc/bestPractices/index-en.html) for more information.
+* Automatic annotation in JSON-LD snippets of the html produced.
+* Association of a provenance page which includes the history of your vocabulary (W3C PROV-O compliant).
+* Guidelines on the main sections that your document should have and how to complete them.
+* Integration with diagram creators ([WebVOWL](http://vowl.visualdataweb.org/webvowl/)).
+* Automatic changelog of differences between the actual and the previous version of the ontology (based on [Bubastis](http://www.ebi.ac.uk/efo/bubastis/)).
+* Separation of the sections of your html page so you can write them independently and replace only those needed.
+* Content negotiation and serialization of your ontology according to [W3C best practices](https://www.w3.org/TR/swbp-vocab-pub/)
+* Evaluation reports of your ontology (using the [OOPS! web service](https://oops.linkeddata.es/))
+* Integration with license metadata services ([Licensius](http://licensius.com/)) to automatically describe the license used in your ontology.
+
+## Examples
+Examples of the features of WIDOCO can be seen on [the gallery](https://dgarijo.github.io/Widoco/doc/gallery/)
+
+## GUI Tutorial
+A tutorial explaining the main features of the GUI can be found [here](https://dgarijo.github.io/Widoco/doc/tutorial/)
+
+## Metadata usage
+To see how WIDOCO recognizes metadata annotations in your ontology to create the documentation files, see [the WIDOCO metadata documentation](doc/metadataGuide/guide.md). To learn which metadata properties we recommend adding to your ontology for producing a nice-looking documentation, have a look at our [best practices guide](https://dgarijo.github.io/Widoco/doc/bestPractices/index-en.html).
+
+For example, in order to show your logo in your documentation you just need to use `foaf:logo` as an annotation, as follows:
+```
+@prefix owl: .
+@prefix foaf: .
+ a owl:Ontology ;
+ foaf:logo .
+```
+
+and it will show right next to the title. The [WIDOCO metadata documentation](doc/metadataGuide/guide.md) shows all supported metadata fields.
+
+## How to use WIDOCO
+
+### Building the JAR executable
+We provide JAR files for each release (see the [releases](https://github.com/dgarijo/Widoco/releases) page). However, if you want to build WIDOCO from scratch, just cd into the project folder and run:
+
+```bash
+mvn install
+```
+The JAR will be generated in a "JAR" folder. The name will follow the pattern: `widoco-{VERSION_ID}-jar-with-dependencies.jar`, where {VERSION_ID} is the version number of the tool.
+
+### JAR execution
+
+Download the latest `.jar` [WIDOCO available release](https://github.com/dgarijo/WIDOCO/releases/latest) (it will be something like `widoco-VERSION-jar-with-dependencies.jar`). Then just double click the `.jar` file.
+
+You may also execute WIDOCO through the command line. Usage:
+```bash
+java -jar widoco-VERSION-jar-with-dependencies.jar [OPTIONS]
+```
+
+### Docker execution
+If you don't want to use the JAR directly, you may run the project using a [Docker container](https://www.docker.com/). First you will need to download or build the image, and then run it.
+
+#### Reusing a pre-existing image
+We build containers in the [GitHub image registry](https://github.com/dgarijo/Widoco/pkgs/container/widoco) for all latest releases. In order to import one, just run the following command, stating the version of Widoco you prefer (e.g., for v1.4.23):
+
+```
+docker pull ghcr.io/dgarijo/widoco:v1.4.23
+```
+
+To browse all available images, see the [GitHub image registry](https://github.com/dgarijo/Widoco/pkgs/container/widoco).
+
+#### Building the image yourself
+
+Build the image using the `Dockerfile` in project folder:
+
+```bash
+docker build -t dgarijo/widoco .
+```
+
+#### Running WIDOCO's image
+
+You can now execute WIDOCO through the command line. Usage:
+
+```bash
+docker run -ti --rm dgarijo/widoco [OPTIONS]
+```
+
+**Note:** If you downloaded the image from the GitHub registry, you will have to change `dgarijo/widoco` with the name of the image you downloaded. For example `ghcr.io/dgarijo/widoco:v1.4.23`.
+
+If you want to share data between the Docker Container and your Host, for instance to load a local ontology file (from PATH), you will need to mount the container
+with host directories. For instance:
+
+```bash
+docker run -ti --rm \
+ -v `pwd`/test:/usr/local/widoco/in:Z \
+ -v `pwd`/target/generated-doc:/usr/local/widoco/out:Z \
+ dgarijo/widoco -ontFile in/bne.ttl -outFolder out -rewriteAll
+```
+
+### Execution options
+
+`-analytics CODE`: Add a code snippet for Google analytics to track your HTML documentation. You need to add your CODE next to the flag. For example: UA-1234
+
+`-confFile PATH`: Load your own configuration file for the ontology metadata. Use this option if you want to load your own HTML sections as well. Incompatible with -getOntologyMetadata. See [the configuration documentation](doc/configuration/configuration_doc.md) for more information about the accepted fields.
+
+`-crossRef`: ONLY generate the overview and cross reference sections. The index document will NOT be generated. The htaccess, provenance page, etc., will not be generated unless requested by other flags. This flag is intended to be used only after a first version of the documentation exists.
+
+`-displayDirectImportsOnly`: Only those imported ontologies that are directly imported in the ontology being documented.
+
+`-doNotDisplaySerializations`: The serializations of the ontology will not be displayed.
+
+`-excludeIntroduction`: Skip the introduction section in the documentation.
+
+`-excludeProvenance`: Do not add the link "Provenance of this page" in the metadata header section
+
+`-getOntologyMetadata`: Extract ontology metadata from the given ontology
+
+`--help`: Shows a help message and exits.
+
+`-htaccess`: Create a bundle for publication ready to be deployed on your Apache server.
+
+
+`-ignoreIndividuals`: Individuals will not be included in the documentation.
+
+`-includeAnnotationProperties`: Include annotation properties defined in your ontology in the documentation (by default they are not included)
+
+`-includeImportedOntologies`: Indicates whether the terms of the imported ontologies of the current ontology should be documented as well or not.
+
+`-import`: imports a local ontology (e.g., if you don't want to load an online ontology, you may load its local version)
+
+`-lang LANG1-LANG2`: Generate documentation in multiple languages (separated by "-"). Note that if the language is not supported, the system will load the labels in english. For example: en-pt-es
+
+`-licensius`: Use the Licensius web services (http://licensius.com/apidoc/index.html) to retrieve license metadata. Only works if the -getOntologyMetadata flag is enabled.
+
+`-noPlaceHolderText`: Do not add any placeholder text (this will remove intro, abstract (if empty) and description sections).
+
+`-ontFile PATH` [required (unless -ontURI is used)]: Load a local ontology file (from PATH) to document. This option is incompatible with -ontURI
+
+`-outFolder folderName`: Specifies the name of the folder where to save the documentation. By default is 'myDocumentation'
+
+`-ontURI URI` [required (unless -ontFile is used)]: Load an ontology to document from its URI. This option is incompatible with -ontFile
+
+`-oops`: Create an html page with the evaluation from the OOPS service (http://oops.linkeddata.es/)
+
+`-rewriteAll`: Replace any existing files when documenting an ontology (e.g., from a previous execution)
+
+`-rewriteBase PATH`: Change the default rewrite base path. The default value is "/". This flag can only be used with the htaccess option.
+
+`-saveConfig PATH`: Save a configuration file on PATH with the properties of a given ontology
+
+`-uniteSections`: Write all HTML sections into a single HTML document.
+
+`-useCustomStyle`: Export the documentation using alternate css files (by Daniel Vila).
+
+`--version`: Shows the current version of WIDOCO.
+
+`-webVowl`: Create a visualization based on WebVowl (http://vowl.visualdataweb.org/webvowl/index.html#) in the documentation.
+
+
+## How can I make WIDOCO automatically recognize my vocabulary annotations?
+There are two alternative ways for making WIDOCO get your vocabulary metadata annotations and use them automatically to document the ontology.
+
+* The recommended way: add them in your OWL file. For guidelines on which ones to include, follow our [best practices document](https://w3id.org/widoco/bestPractices), which indicates which ones we recommend.
+* Alternatively, edit the project properties of /config/config.properties. This is a key-value pair file with metadata properties. Some people consider it easier than adding the property annotations to the OWL file, although I recommend doing the former option. Note that the character ";" is used for lists (for instance first author; second author; third author).
+
+For more information, see the [Widoco metadata guide](doc/metadataGuide/guide.md)
+
+## Browser issues (Why can't I see the generated documentation / visualization?)
+WIDOCO separates the contents of different sections in HTML files, which are then loaded in the `index.html` file. WIDOCO was designed this way because it's easier to edit your introduction or description sections independently without being all aggregated together in a huge HTML document. **When all the contents generated by WIDOCO are stored in a server, you will be able to see the documentation of your ontology using any browser**. However, if you open the `index.html` file **on your local browser**, you may see a document missing most of the sections in your documentation. This happens because browsers don't allow loading separate content when opening a file locally for security reasons. If you want to explore how your ontology would look locally, you have two options:
+
+* a) Execute WIDOCO with the `-uniteSections` flag; or select the option `add al sections in a single document` in the "load sections" step in the WIDOCO GUI. This will make all the sections of WIDOCO to be in the `index.html`; and you will be able to see it in your browser. Note that the **LODE visualization will not be available** when exploring your ontology locally.
+* b) Create a local server: Set up a local server (e.g., using XAMPP or Tomcat) and serve the files WIDOCO generates (in the `htdocs` folder for Apache servers).
+
+If you place the files generated by WIDOCO in a server and access them via its URL (for example, a Github page), you should be able to see your documentation appropriately.
+
+## Current improvements
+For a complete list of the current improvements and next features, check the [project open issues](https://github.com/dgarijo/Widoco/issues) and [milestones](https://github.com/dgarijo/Widoco/milestones) in the repository.
+
+## Requirements
+You will need Java 1.8 or higher (SDK 1.8 or JRE 8) for WIDOCO to work
+Otherwise, you will probably experience an "Unsupported major.minor version 52.0" exception when executing the JAR file.
+
+## Contribution guidelines
+Contributions to address any of the current issues are welcome. In order to push your contribution, just **push your pull request to the develop branch**. The master branch has only the code associated to the latest release.
\ No newline at end of file
diff --git a/src/somef_core/test/test_data/README-widoco-swh.md b/src/somef_core/test/test_data/README-widoco-swh.md
new file mode 100644
index 0000000..0f72c58
--- /dev/null
+++ b/src/somef_core/test/test_data/README-widoco-swh.md
@@ -0,0 +1,233 @@
+# WIzard for DOCumenting Ontologies (WIDOCO)
+[](https://doi.org/10.5281/zenodo.11093793) [](https://jitpack.io/#dgarijo/Widoco) [](https://www.repostatus.org/#active) [](https://archive.softwareheritage.org/browse/origin/?origin_url=https://github.com/dgarijo/Widoco) [](https://archive.softwareheritage.org/swh:1:dir:40d462bbecefc3a9c3e810567d1f0d7606e0fae7;origin=https://github.com/dgarijo/Widoco;visit=swh:1:snp:4d8570d390a18fee1d37f262ad79b36c021c611a;anchor=swh:1:rev:fec66b89a4f4acb015a44c7f8cb671d49bec626a)
+
+
+
+WIDOCO helps you to publish and create an enriched and customized documentation of your ontology automatically, by following a series of steps in a GUI.
+
+**Author**: Daniel Garijo Verdejo (@dgarijo)
+
+**Contributors**: María Poveda, Idafen Santana, Almudena Ruiz, Miguel Angel García, Oscar Corcho, Daniel Vila, Sergio Barrio, Martin Scharm, Maxime Lefrancois, Alfredo Serafini, @kartgk, Pat Mc Bennett, Christophe Camel, Jacobus Geluk, Martin Scharm, @rpietzsch, Jonathan Leitschuh, Jodi Schneider, Giacomo Lanza, Alejandra Gonzalez-Beltran, Mario Scrocca, Miguel Angel García, Flores Bakker, @JohnnyMoonlight, René Fritze, @telecsur, Jan Vlug, Han Kruiger, Johannes Theissen-Lipp, Roberto Polli, Victor Chavez, Sirko Schindler and Michaël Dierick.
+
+**Citing WIDOCO**: If you used WIDOCO in your work, please cite the ISWC 2017 paper: https://iswc2017.semanticweb.org/paper-138
+
+```bib
+@inproceedings{garijo2017widoco,
+ title={WIDOCO: a wizard for documenting ontologies},
+ author={Garijo, Daniel},
+ booktitle={International Semantic Web Conference},
+ pages={94--102},
+ year={2017},
+ organization={Springer, Cham},
+ doi = {10.1007/978-3-319-68204-4_9},
+ funding = {USNSF ICER-1541029, NIH 1R01GM117097-01},
+ url={http://dgarijo.com/papers/widoco-iswc2017.pdf}
+}
+```
+If you want to cite the latest version of the software, you can do so by using: https://zenodo.org/badge/latestdoi/11427075.
+
+## Downloading the executable
+
+To download WIDOCO, you need to download a JAR executable file. Check the latest release for more details: (https://github.com/dgarijo/WIDOCO/releases/latest).
+
+## Importing WIDOCO as a dependency
+Just add the dependency and repository to your `pom.xml` file as follows. See the [WIDOCO JitPack](https://jitpack.io/#dgarijo/Widoco) page to find alternative means to incorporate WIDOCO to your project.
+
+```xml
+
+
+ com.github.dgarijo
+ Widoco
+ v1.4.24
+
+
+
+[ ... ]
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+```
+
+## Description
+WIDOCO helps you to publish and create an enriched and customized documentation of your ontology, by following a series of steps in a wizard. We extend the LODE framework by Silvio Peroni to describe the classes, properties and data properties of the ontology, the OOPS! webservice by María Poveda to print an evaluation and the Licensius service by Victor Rodriguez Doncel to determine the license URI and title being used. In addition, we use WebVowl to visualize the ontology and have extended Bubastis to show a complete changelog between different versions of your ontology.
+
+Features of WIDOCO:
+* Automatic documentation of the terms in your ontology (based on [LODE](http://www.essepuntato.it/lode/)). Now **you can use Markdown on your class descriptions** (see [example](https://dgarijo.github.io/Widoco/doc/gallery/index.html))
+* Massive metadata extraction and support: WIDOCO will enhance your ontology documentation based on your ontology annotations. Now you can add custom logos and images, edit the content of your sections, etc. by just editing metadata. See our [supported metadata](doc/metadataGuide/guide.md) and [recommendations](https://dgarijo.github.io/Widoco/doc/bestPractices/index-en.html) for more information.
+* Automatic annotation in JSON-LD snippets of the html produced.
+* Association of a provenance page which includes the history of your vocabulary (W3C PROV-O compliant).
+* Guidelines on the main sections that your document should have and how to complete them.
+* Integration with diagram creators ([WebVOWL](http://vowl.visualdataweb.org/webvowl/)).
+* Automatic changelog of differences between the actual and the previous version of the ontology (based on [Bubastis](http://www.ebi.ac.uk/efo/bubastis/)).
+* Separation of the sections of your html page so you can write them independently and replace only those needed.
+* Content negotiation and serialization of your ontology according to [W3C best practices](https://www.w3.org/TR/swbp-vocab-pub/)
+* Evaluation reports of your ontology (using the [OOPS! web service](https://oops.linkeddata.es/))
+* Integration with license metadata services ([Licensius](http://licensius.com/)) to automatically describe the license used in your ontology.
+
+## Examples
+Examples of the features of WIDOCO can be seen on [the gallery](https://dgarijo.github.io/Widoco/doc/gallery/)
+
+## GUI Tutorial
+A tutorial explaining the main features of the GUI can be found [here](https://dgarijo.github.io/Widoco/doc/tutorial/)
+
+## Metadata usage
+To see how WIDOCO recognizes metadata annotations in your ontology to create the documentation files, see [the WIDOCO metadata documentation](doc/metadataGuide/guide.md). To learn which metadata properties we recommend adding to your ontology for producing a nice-looking documentation, have a look at our [best practices guide](https://dgarijo.github.io/Widoco/doc/bestPractices/index-en.html).
+
+For example, in order to show your logo in your documentation you just need to use `foaf:logo` as an annotation, as follows:
+```
+@prefix owl: .
+@prefix foaf: .
+ a owl:Ontology ;
+ foaf:logo .
+```
+
+and it will show right next to the title. The [WIDOCO metadata documentation](doc/metadataGuide/guide.md) shows all supported metadata fields.
+
+## How to use WIDOCO
+
+### Building the JAR executable
+We provide JAR files for each release (see the [releases](https://github.com/dgarijo/Widoco/releases) page). However, if you want to build WIDOCO from scratch, just cd into the project folder and run:
+
+```bash
+mvn install
+```
+The JAR will be generated in a "JAR" folder. The name will follow the pattern: `widoco-{VERSION_ID}-jar-with-dependencies.jar`, where {VERSION_ID} is the version number of the tool.
+
+### JAR execution
+
+Download the latest `.jar` [WIDOCO available release](https://github.com/dgarijo/WIDOCO/releases/latest) (it will be something like `widoco-VERSION-jar-with-dependencies.jar`). Then just double click the `.jar` file.
+
+You may also execute WIDOCO through the command line. Usage:
+```bash
+java -jar widoco-VERSION-jar-with-dependencies.jar [OPTIONS]
+```
+
+### Docker execution
+If you don't want to use the JAR directly, you may run the project using a [Docker container](https://www.docker.com/). First you will need to download or build the image, and then run it.
+
+#### Reusing a pre-existing image
+We build containers in the [GitHub image registry](https://github.com/dgarijo/Widoco/pkgs/container/widoco) for all latest releases. In order to import one, just run the following command, stating the version of Widoco you prefer (e.g., for v1.4.23):
+
+```
+docker pull ghcr.io/dgarijo/widoco:v1.4.23
+```
+
+To browse all available images, see the [GitHub image registry](https://github.com/dgarijo/Widoco/pkgs/container/widoco).
+
+#### Building the image yourself
+
+Build the image using the `Dockerfile` in project folder:
+
+```bash
+docker build -t dgarijo/widoco .
+```
+
+#### Running WIDOCO's image
+
+You can now execute WIDOCO through the command line. Usage:
+
+```bash
+docker run -ti --rm dgarijo/widoco [OPTIONS]
+```
+
+**Note:** If you downloaded the image from the GitHub registry, you will have to change `dgarijo/widoco` with the name of the image you downloaded. For example `ghcr.io/dgarijo/widoco:v1.4.23`.
+
+If you want to share data between the Docker Container and your Host, for instance to load a local ontology file (from PATH), you will need to mount the container
+with host directories. For instance:
+
+```bash
+docker run -ti --rm \
+ -v `pwd`/test:/usr/local/widoco/in:Z \
+ -v `pwd`/target/generated-doc:/usr/local/widoco/out:Z \
+ dgarijo/widoco -ontFile in/bne.ttl -outFolder out -rewriteAll
+```
+
+### Execution options
+
+`-analytics CODE`: Add a code snippet for Google analytics to track your HTML documentation. You need to add your CODE next to the flag. For example: UA-1234
+
+`-confFile PATH`: Load your own configuration file for the ontology metadata. Use this option if you want to load your own HTML sections as well. Incompatible with -getOntologyMetadata. See [the configuration documentation](doc/configuration/configuration_doc.md) for more information about the accepted fields.
+
+`-crossRef`: ONLY generate the overview and cross reference sections. The index document will NOT be generated. The htaccess, provenance page, etc., will not be generated unless requested by other flags. This flag is intended to be used only after a first version of the documentation exists.
+
+`-displayDirectImportsOnly`: Only those imported ontologies that are directly imported in the ontology being documented.
+
+`-doNotDisplaySerializations`: The serializations of the ontology will not be displayed.
+
+`-excludeIntroduction`: Skip the introduction section in the documentation.
+
+`-excludeProvenance`: Do not add the link "Provenance of this page" in the metadata header section
+
+`-getOntologyMetadata`: Extract ontology metadata from the given ontology
+
+`--help`: Shows a help message and exits.
+
+`-htaccess`: Create a bundle for publication ready to be deployed on your Apache server.
+
+
+`-ignoreIndividuals`: Individuals will not be included in the documentation.
+
+`-includeAnnotationProperties`: Include annotation properties defined in your ontology in the documentation (by default they are not included)
+
+`-includeImportedOntologies`: Indicates whether the terms of the imported ontologies of the current ontology should be documented as well or not.
+
+`-import`: imports a local ontology (e.g., if you don't want to load an online ontology, you may load its local version)
+
+`-lang LANG1-LANG2`: Generate documentation in multiple languages (separated by "-"). Note that if the language is not supported, the system will load the labels in english. For example: en-pt-es
+
+`-licensius`: Use the Licensius web services (http://licensius.com/apidoc/index.html) to retrieve license metadata. Only works if the -getOntologyMetadata flag is enabled.
+
+`-noPlaceHolderText`: Do not add any placeholder text (this will remove intro, abstract (if empty) and description sections).
+
+`-ontFile PATH` [required (unless -ontURI is used)]: Load a local ontology file (from PATH) to document. This option is incompatible with -ontURI
+
+`-outFolder folderName`: Specifies the name of the folder where to save the documentation. By default is 'myDocumentation'
+
+`-ontURI URI` [required (unless -ontFile is used)]: Load an ontology to document from its URI. This option is incompatible with -ontFile
+
+`-oops`: Create an html page with the evaluation from the OOPS service (http://oops.linkeddata.es/)
+
+`-rewriteAll`: Replace any existing files when documenting an ontology (e.g., from a previous execution)
+
+`-rewriteBase PATH`: Change the default rewrite base path. The default value is "/". This flag can only be used with the htaccess option.
+
+`-saveConfig PATH`: Save a configuration file on PATH with the properties of a given ontology
+
+`-uniteSections`: Write all HTML sections into a single HTML document.
+
+`-useCustomStyle`: Export the documentation using alternate css files (by Daniel Vila).
+
+`--version`: Shows the current version of WIDOCO.
+
+`-webVowl`: Create a visualization based on WebVowl (http://vowl.visualdataweb.org/webvowl/index.html#) in the documentation.
+
+
+## How can I make WIDOCO automatically recognize my vocabulary annotations?
+There are two alternative ways for making WIDOCO get your vocabulary metadata annotations and use them automatically to document the ontology.
+
+* The recommended way: add them in your OWL file. For guidelines on which ones to include, follow our [best practices document](https://w3id.org/widoco/bestPractices), which indicates which ones we recommend.
+* Alternatively, edit the project properties of /config/config.properties. This is a key-value pair file with metadata properties. Some people consider it easier than adding the property annotations to the OWL file, although I recommend doing the former option. Note that the character ";" is used for lists (for instance first author; second author; third author).
+
+For more information, see the [Widoco metadata guide](doc/metadataGuide/guide.md)
+
+## Browser issues (Why can't I see the generated documentation / visualization?)
+WIDOCO separates the contents of different sections in HTML files, which are then loaded in the `index.html` file. WIDOCO was designed this way because it's easier to edit your introduction or description sections independently without being all aggregated together in a huge HTML document. **When all the contents generated by WIDOCO are stored in a server, you will be able to see the documentation of your ontology using any browser**. However, if you open the `index.html` file **on your local browser**, you may see a document missing most of the sections in your documentation. This happens because browsers don't allow loading separate content when opening a file locally for security reasons. If you want to explore how your ontology would look locally, you have two options:
+
+* a) Execute WIDOCO with the `-uniteSections` flag; or select the option `add al sections in a single document` in the "load sections" step in the WIDOCO GUI. This will make all the sections of WIDOCO to be in the `index.html`; and you will be able to see it in your browser. Note that the **LODE visualization will not be available** when exploring your ontology locally.
+* b) Create a local server: Set up a local server (e.g., using XAMPP or Tomcat) and serve the files WIDOCO generates (in the `htdocs` folder for Apache servers).
+
+If you place the files generated by WIDOCO in a server and access them via its URL (for example, a Github page), you should be able to see your documentation appropriately.
+
+## Current improvements
+For a complete list of the current improvements and next features, check the [project open issues](https://github.com/dgarijo/Widoco/issues) and [milestones](https://github.com/dgarijo/Widoco/milestones) in the repository.
+
+## Requirements
+You will need Java 1.8 or higher (SDK 1.8 or JRE 8) for WIDOCO to work
+Otherwise, you will probably experience an "Unsupported major.minor version 52.0" exception when executing the JAR file.
+
+## Contribution guidelines
+Contributions to address any of the current issues are welcome. In order to push your contribution, just **push your pull request to the develop branch**. The master branch has only the code associated to the latest release.
\ No newline at end of file
diff --git a/src/somef_core/test/test_data/api_responses/somef-demo.json b/src/somef_core/test/test_data/api_responses/somef-demo.json
new file mode 100644
index 0000000..15434bb
--- /dev/null
+++ b/src/somef_core/test/test_data/api_responses/somef-demo.json
@@ -0,0 +1,648 @@
+{
+ "somef_provenance": {
+ "somef_version": "0.9.12",
+ "somef_schema_version": "1.0.0",
+ "date": "2025-12-10 11:21:43"
+ },
+ "code_repository": [
+ {
+ "result": {
+ "value": "https://github.com/juanjemdIos/somef-demo-repo",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "owner": [
+ {
+ "result": {
+ "value": "juanjemdIos",
+ "type": "User"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "date_created": [
+ {
+ "result": {
+ "value": "2025-04-23T13:26:06Z",
+ "type": "Date"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "date_updated": [
+ {
+ "result": {
+ "value": "2025-05-05T06:57:47Z",
+ "type": "Date"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "license": [
+ {
+ "result": {
+ "value": "https://api.github.com/licenses/agpl-3.0",
+ "type": "License",
+ "name": "GNU Affero General Public License v3.0",
+ "url": "https://api.github.com/licenses/agpl-3.0",
+ "spdx_id": "AGPL-3.0"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": " GNU AFFERO GENERAL PUBLIC LICENSE\n Version 3, 19 November 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU Affero General Public License is a free, copyleft license for\nsoftware and other kinds of works, specifically designed to ensure\ncooperation with the community in the case of network server software.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nour General Public Licenses are intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n Developers that use our General Public Licenses protect your rights\nwith two steps: (1) assert copyright on the software, and (2) offer\nyou this License which gives you legal permission to copy, distribute\nand/or modify the software.\n\n A secondary benefit of defending all users' freedom is that\nimprovements made in alternate versions of the program, if they\nreceive widespread use, become available for other developers to\nincorporate. Many developers of free software are heartened and\nencouraged by the resulting cooperation. However, in the case of\nsoftware used on network servers, this result may fail to come about.\nThe GNU General Public License permits making a modified version and\nletting the public access it on a server without ever releasing its\nsource code to the public.\n\n The GNU Affero General Public License is designed specifically to\nensure that, in such cases, the modified source code becomes available\nto the community. It requires the operator of a network server to\nprovide the source code of the modified version running there to the\nusers of that server. Therefore, public use of a modified version, on\na publicly accessible server, gives the public access to the source\ncode of the modified version.\n\n An older license, called the Affero General Public License and\npublished by Affero, was designed to accomplish similar goals. This is\na different license, not a version of the Affero GPL, but Affero has\nreleased a new version of the Affero GPL which permits relicensing under\nthis license.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU Affero General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Remote Network Interaction; Use with the GNU General Public License.\n\n Notwithstanding any other provision of this License, if you modify the\nProgram, your modified version must prominently offer all users\ninteracting with it remotely through a computer network (if your version\nsupports such interaction) an opportunity to receive the Corresponding\nSource of your version by providing access to the Corresponding Source\nfrom a network server at no charge, through some standard or customary\nmeans of facilitating copying of software. This Corresponding Source\nshall include the Corresponding Source for any work covered by version 3\nof the GNU General Public License that is incorporated pursuant to the\nfollowing paragraph.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the work with which it is combined will remain governed by version\n3 of the GNU General Public License.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU Affero General Public License from time to time. Such new versions\nwill be similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU Affero General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU Affero General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU Affero General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU Affero General Public License as published\n by the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Affero General Public License for more details.\n\n You should have received a copy of the GNU Affero General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If your software can interact with users remotely through a computer\nnetwork, you should also make sure that it provides a way for users to\nget its source. For example, if your program is a web application, its\ninterface could display a \"Source\" link that leads users to an archive\nof the code. There are many ways you could offer source, and different\nsolutions will be better for different programs; see section 13 for the\nspecific requirements.\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU AGPL, see\n.\n",
+ "type": "File_dump",
+ "name": "GNU Affero General Public License v3.0",
+ "spdx_id": "AGPL-3.0"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/LICENSE"
+ }
+ ],
+ "description": [
+ {
+ "result": {
+ "value": "This repo aims to provide values for each metadata field that SOMEF (v0.9.10) can extract",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Text_excerpt",
+ "value": "[Yulun Zhang](http://yulunzhang.com/), [Yapeng Tian](http://yapengtian.org/), [Yu Kong](http://www1.ece.neu.edu/~yukong/), [Bineng Zhong](https://scholar.google.de/citations?user=hvRBydsAAAAJ&hl=en), and [Yun Fu](http://www1.ece.neu.edu/~yunfu/), \"Residual Dense Network for Image Super-Resolution\", CVPR 2018 (spotlight), [[arXiv]](https://arxiv.org/abs/1802.08797) \n \n",
+ "original_header": "Related papers"
+ },
+ "confidence": 0.8559632720021659,
+ "technique": "supervised_classification",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "name": [
+ {
+ "result": {
+ "value": "somef-demo-repo",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "full_name": [
+ {
+ "result": {
+ "value": "juanjemdIos/somef-demo-repo",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "issue_tracker": [
+ {
+ "result": {
+ "value": "https://api.github.com/repos/juanjemdIos/somef-demo-repo/issues",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "forks_url": [
+ {
+ "result": {
+ "value": "https://api.github.com/repos/juanjemdIos/somef-demo-repo/forks",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "keywords": [
+ {
+ "result": {
+ "value": "documentation, metadata, ontology, somef",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "download_url": [
+ {
+ "result": {
+ "value": "https://github.com/juanjemdIos/somef-demo-repo/releases",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "programming_languages": [
+ {
+ "result": {
+ "value": "Jupyter Notebook",
+ "name": "Jupyter Notebook",
+ "type": "Programming_language",
+ "size": 32402
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "Common Workflow Language",
+ "name": "Common Workflow Language",
+ "type": "Programming_language",
+ "size": 492
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "Dockerfile",
+ "name": "Dockerfile",
+ "type": "Programming_language",
+ "size": 265
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "Shell",
+ "name": "Shell",
+ "type": "Programming_language",
+ "size": 35
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "releases": [
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/juanjemdIos/somef-demo-repo/releases/214448249",
+ "tag": "0.0.1",
+ "name": "First releases",
+ "author": {
+ "name": "juanjemdIos",
+ "type": "User"
+ },
+ "description": "This release only serves to be extracted by SOMEF into `releases`",
+ "tarball_url": "https://api.github.com/repos/juanjemdIos/somef-demo-repo/tarball/0.0.1",
+ "zipball_url": "https://api.github.com/repos/juanjemdIos/somef-demo-repo/zipball/0.0.1",
+ "html_url": "https://github.com/juanjemdIos/somef-demo-repo/releases/tag/0.0.1",
+ "url": "https://api.github.com/repos/juanjemdIos/somef-demo-repo/releases/214448249",
+ "release_id": 214448249,
+ "date_created": "2025-04-23T14:26:19Z",
+ "date_published": "2025-04-24T08:51:25Z",
+ "assets": []
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "code_of_conduct": [
+ {
+ "result": {
+ "value": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participation in our\ncommunity a harassment-free experience for everyone, regardless of age, body\nsize, visible or invisible disability, ethnicity, sex characteristics, gender\nidentity and expression, level of experience, education, socio-economic status,\nnationality, personal appearance, race, religion, or sexual identity\nand orientation.\n\nWe pledge to act and interact in ways that contribute to an open, welcoming,\ndiverse, inclusive, and healthy community.\n\n## Our Standards\n\nExamples of behavior that contributes to a positive environment for our\ncommunity include:\n\n* Demonstrating empathy and kindness toward other people\n* Being respectful of differing opinions, viewpoints, and experiences\n* Giving and gracefully accepting constructive feedback\n* Accepting responsibility and apologizing to those affected by our mistakes,\n and learning from the experience\n* Focusing on what is best not just for us as individuals, but for the\n overall community\n\nExamples of unacceptable behavior include:\n\n* The use of sexualized language or imagery, and sexual attention or\n advances of any kind\n* Trolling, insulting or derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or email\n address, without their explicit permission\n* Other conduct which could reasonably be considered inappropriate in a\n professional setting\n\n## Enforcement Responsibilities\n\nCommunity leaders are responsible for clarifying and enforcing our standards of\nacceptable behavior and will take appropriate and fair corrective action in\nresponse to any behavior that they deem inappropriate, threatening, offensive,\nor harmful.\n\nCommunity leaders have the right and responsibility to remove, edit, or reject\ncomments, commits, code, wiki edits, issues, and other contributions that are\nnot aligned to this Code of Conduct, and will communicate reasons for moderation\ndecisions when appropriate.\n\n## Scope\n\nThis Code of Conduct applies within all community spaces, and also applies when\nan individual is officially representing the community in public spaces.\nExamples of representing our community include using an official e-mail address,\nposting via an official social media account, or acting as an appointed\nrepresentative at an online or offline event.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported to the community leaders responsible for enforcement at\n.\nAll complaints will be reviewed and investigated promptly and fairly.\n\nAll community leaders are obligated to respect the privacy and security of the\nreporter of any incident.\n\n## Enforcement Guidelines\n\nCommunity leaders will follow these Community Impact Guidelines in determining\nthe consequences for any action they deem in violation of this Code of Conduct:\n\n### 1. Correction\n\n**Community Impact**: Use of inappropriate language or other behavior deemed\nunprofessional or unwelcome in the community.\n\n**Consequence**: A private, written warning from community leaders, providing\nclarity around the nature of the violation and an explanation of why the\nbehavior was inappropriate. A public apology may be requested.\n\n### 2. Warning\n\n**Community Impact**: A violation through a single incident or series\nof actions.\n\n**Consequence**: A warning with consequences for continued behavior. No\ninteraction with the people involved, including unsolicited interaction with\nthose enforcing the Code of Conduct, for a specified period of time. This\nincludes avoiding interactions in community spaces as well as external channels\nlike social media. Violating these terms may lead to a temporary or\npermanent ban.\n\n### 3. Temporary Ban\n\n**Community Impact**: A serious violation of community standards, including\nsustained inappropriate behavior.\n\n**Consequence**: A temporary ban from any sort of interaction or public\ncommunication with the community for a specified period of time. No public or\nprivate interaction with the people involved, including unsolicited interaction\nwith those enforcing the Code of Conduct, is allowed during this period.\nViolating these terms may lead to a permanent ban.\n\n### 4. Permanent Ban\n\n**Community Impact**: Demonstrating a pattern of violation of community\nstandards, including sustained inappropriate behavior, harassment of an\nindividual, or aggression toward or disparagement of classes of individuals.\n\n**Consequence**: A permanent ban from any sort of public interaction within\nthe community.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage],\nversion 2.0, available at\nhttps://www.contributor-covenant.org/version/2/0/code_of_conduct.html.\n\nCommunity Impact Guidelines were inspired by [Mozilla's code of conduct\nenforcement ladder](https://github.com/mozilla/diversity).\n\n[homepage]: https://www.contributor-covenant.org\n\nFor answers to common questions about this code of conduct, see the FAQ at\nhttps://www.contributor-covenant.org/faq. Translations are available at\nhttps://www.contributor-covenant.org/translations.\n",
+ "type": "File_dump"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/CODE_OF_CONDUCT.md"
+ }
+ ],
+ "executable_example": [
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/executable_example.ipynb",
+ "type": "Url",
+ "format": "jupyter_notebook"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/executable_example.ipynb"
+ }
+ ],
+ "has_script_file": [
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/script_file.sh",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ }
+ ],
+ "authors": [
+ {
+ "result": {
+ "name": "Google Inc.",
+ "type": "Agent",
+ "value": "Google Inc."
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/AUTHORS"
+ },
+ {
+ "result": {
+ "name": "Daniel Garijo",
+ "type": "Agent",
+ "value": "Daniel Garijo",
+ "email": "daniel.garijo@upm.es",
+ "last_name": "Garijo",
+ "given_name": "Daniel"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/AUTHORS"
+ },
+ {
+ "result": {
+ "name": "Juanje Mendoza",
+ "type": "Agent",
+ "value": "Juanje Mendoza",
+ "email": "juanjesus.mendoza@fi.upm.es",
+ "last_name": "Mendoza",
+ "given_name": "Juanje"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/AUTHORS"
+ },
+ {
+ "result": {
+ "name": "Arm Ltd",
+ "type": "Agent",
+ "value": "Arm Ltd"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/AUTHORS"
+ }
+ ],
+ "has_build_file": [
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/Dockerfile",
+ "type": "Url",
+ "format": "dockerfile"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/Dockerfile"
+ }
+ ],
+ "citation": [
+ {
+ "result": {
+ "value": "cff-version: 1.2.0\nmessage: If you use this software, please cite it using these metadata.\ntitle: SOMEF DEMO REPO\nabstract: Demo repository for new version (0.9.10) of SOMEF \nauthors:\n - family-names: Thomas\n given-names: Pronk\n orcid: https://orcid.org/0000-0001-9334-7190\nversion: 0.0.1\ndate-released: 2023-11-23\nlicense: AGPL-3.0\nurl: \"https://github.com/tpronk/somef-demo-repo\"",
+ "type": "File_dump",
+ "author": [
+ {
+ "type": "Agent",
+ "name": "Pronk Thomas",
+ "family_name": "Thomas",
+ "given_name": "Pronk",
+ "url": "https://orcid.org/0000-0001-9334-7190"
+ }
+ ],
+ "title": "SOMEF DEMO REPO",
+ "url": "https://github.com/tpronk/somef-demo-repo",
+ "format": "cff",
+ "datePublished": "2023"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/CITATION.cff"
+ },
+ {
+ "result": {
+ "value": "Please cite this repo as Pronk, T. (2023). *somef-demo-repo: This repo aims to provide values for each metadata field that SOMEF (v0.9.4) can extract* (Version 0.0.1) [Computer software]. https://github.com/tpronk/somef-demo-repo\n",
+ "type": "Text_excerpt",
+ "original_header": "Citation"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "workflows": [
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/workflow.cwl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ }
+ ],
+ "readme_url": [
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ }
+ ],
+ "contributing_guidelines": [
+ {
+ "result": {
+ "value": "These guidelines were copied from [PychoPy](https://github.com/psychopy/psychopy/edit/dev/CONTRIBUTING.md)\n\n# Have you ever contributed to an Open Source project?\nYour first contribution can be a bit intimidating, but feel free to give it a try. If you get stuck, don't hesitate to ask for help in our [developer forum](https://discourse.psychopy.org/c/dev). This is also a good place to pitch your idea. Next up:\n* **I won't program it myself.** Please file a [GitHub issue](https://github.com/psychopy/psychopy/issues).\n* **I'd like to take a shot.** Read on to find out how!\n\n# How to contribute\nContributing to PsychoPy consists of four steps:\n1. Getting your own copy\n2. Making your changes\n3. Committing your changes\n4. Submitting a Pull Request\n\n## 1. Getting your own copy of the PsychoPy codebase\nTo be sure your improvements can easily be integrated, follow these steps:\n1. **Make a [fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) of the [PsychoPy repo](https://github.com/psychopy/psychopy).** This provides you with your own copy of the PsychoPy source code.\n2. **Inside your fork, make a new [branch](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-branches) for the feature you've got in mind.** If you'd like to fix a bug, base your new branch on the *release* branch. If you'd like to add a new feature, base it on the *dev* branch. We tend to name branches after the feature we're building. For example `olfactory_component`.\n3. **Clone your fork to your hard drive.** Next, switch to the new branch and you're all set up!\n\nLook [here](https://www.psychopy.org/developers/repository.html) to see how the PsychoPy repo is organized.\n\n## 2. Making your changes\nTo help you get started with modifying PsychoPy, we've got some [developer guides](https://www.psychopy.org/developers/index.html). To try out your modified PsychoPy, do a [developer's install](https://www.psychopy.org/download.html#developers-install).\n\n## 3. Committing your changes\nOnce you're happy with your changes, commit them to your GitHub repo. Please use the tags below in your commit and add an informative message.\n - **BF:** bug fix. For fixing bugs in the *release* branch.\n - **FF:** \u2018feature\u2019 fix. For fixing bugs in the *dev* branch.\n - **RF:** refactoring\n - **NF:** new feature\n - **ENH:** enhancement (to existing code, but don't worry too much about the difference between this and NF)\n - **DOC:** for all kinds of documentation related commits\n - **TEST:** for adding or changing tests\n\n## 4. File a Pull Request\nOnce you're done, it's time to add it to the central PsychoPy source code. File a [Pull Request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) from your own fork and branch to the PsychoPy repo. Be sure to target the right branch in PsychoPy (*release* or *dev*). Thanks for contributing!\n",
+ "type": "File_dump"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/CONTRIBUTING.md"
+ }
+ ],
+ "ontologies": [
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/ontology.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ }
+ ],
+ "acknowledgement": [
+ {
+ "result": {
+ "value": "This demonstration repo was created during the maSMP hackathon at [ZB MED](https://www.zbmed.de/en) sponsored by [NFDI4DataScience](https://www.nfdi4datascience.de). NFDI4DataScience is a consortium funded by the German Research Foundation (DFG), project number 460234259.\n",
+ "type": "Text_excerpt",
+ "original_header": "Acknowledgements"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "contact": [
+ {
+ "result": {
+ "value": "Contact person responsible for maintaining a software component\n",
+ "type": "Text_excerpt",
+ "original_header": "Contact"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "contributors": [
+ {
+ "result": {
+ "value": "Here could be a list of contributors to this software component\n",
+ "type": "Text_excerpt",
+ "original_header": "Contributors"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "documentation": [
+ {
+ "result": {
+ "value": "Where to find additional documentation about a software component.\n",
+ "type": "Text_excerpt",
+ "original_header": "Documentation"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ },
+ {
+ "result": {
+ "value": "For instructions on using OBA to create your API server, go to the [documentation](https://oba.readthedocs.io/en/latest/)\n",
+ "type": "Text_excerpt",
+ "original_header": "Related documentation"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "download": [
+ {
+ "result": {
+ "value": "Download instructions included in the repository.\n",
+ "type": "Text_excerpt",
+ "original_header": "Download"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "faq": [
+ {
+ "result": {
+ "value": "Frequently asked questions about a software component\n",
+ "type": "Text_excerpt",
+ "original_header": "FAQ"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "installation": [
+ {
+ "result": {
+ "value": "A set of instructions that indicate how to install a target repository\n",
+ "type": "Text_excerpt",
+ "original_header": "Installation instructions"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "requirements": [
+ {
+ "result": {
+ "value": "Pre-requisites and dependencies needed to execute a software component.\n",
+ "type": "Text_excerpt",
+ "original_header": "Requirements"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "run": [
+ {
+ "result": {
+ "value": "There is no code in this repo that can be run.\n",
+ "type": "Text_excerpt",
+ "original_header": "Run"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "support": [
+ {
+ "result": {
+ "value": "Guidelines and links of where to obtain support for a software component\n",
+ "type": "Text_excerpt",
+ "original_header": "Support"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ },
+ {
+ "result": {
+ "value": "[](https://gitter.im/OpenGeoscience/geonotebook)\n",
+ "type": "Text_excerpt",
+ "original_header": "Support channels"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "usage": [
+ {
+ "result": {
+ "value": "Assumptions and considerations recorded by the authors when executing a software component, or examples on how to use it.",
+ "type": "Text_excerpt",
+ "original_header": "Usage examples"
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "identifier": [
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://zenodo.org/badge/latestdoi/450496579"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "full_title": [
+ {
+ "result": {
+ "type": "String",
+ "value": "somef-demo-repo"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "related_documentation": [
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://oba.readthedocs.io/",
+ "format": "readthedocs"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "repository_status": [
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://www.repostatus.org/#active",
+ "description": "Active - The project has reached a stable, usable state and is being actively developed."
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "support_channels": [
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://gitter.im/OpenGeoscience/geonotebook"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "package_distribution": [
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://pypi.org/project/mapeathor/"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ },
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://pypi.org/project/mapeathor)/"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "logo": [
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo//main/logo_directory/logo2.png"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "images": [
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo//main/logo1.png"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ],
+ "related_papers": [
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://arxiv.org/abs/1802.08797"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/juanjemdIos/somef-demo-repo/main/README.md"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/somef_core/test/test_data/api_responses/widoco_api_response.json b/src/somef_core/test/test_data/api_responses/widoco_api_response.json
new file mode 100644
index 0000000..5d193d3
--- /dev/null
+++ b/src/somef_core/test/test_data/api_responses/widoco_api_response.json
@@ -0,0 +1,2779 @@
+{
+ "somef_provenance": {
+ "somef_version": "0.9.12",
+ "somef_schema_version": "1.0.0",
+ "date": "2025-12-10 11:44:17"
+ },
+ "code_repository": [
+ {
+ "result": {
+ "value": "https://github.com/dgarijo/Widoco",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "https://github.com/dgarijo/Widoco",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ }
+ ],
+ "owner": [
+ {
+ "result": {
+ "value": "dgarijo",
+ "type": "User"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "date_created": [
+ {
+ "result": {
+ "value": "2013-07-15T15:51:51Z",
+ "type": "Date"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "2013-07-15",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ }
+ ],
+ "date_updated": [
+ {
+ "result": {
+ "value": "2025-12-06T16:00:45Z",
+ "type": "Date"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "2025-01-31",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ }
+ ],
+ "license": [
+ {
+ "result": {
+ "value": "https://api.github.com/licenses/apache-2.0",
+ "type": "License",
+ "name": "Apache License 2.0",
+ "url": "https://api.github.com/licenses/apache-2.0",
+ "spdx_id": "Apache-2.0"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"{}\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright {2016} {Daniel Garijo, Information Sciences Institute, USC.}\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n",
+ "type": "File_dump",
+ "name": "Apache License 2.0",
+ "spdx_id": "Apache-2.0"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/LICENSE"
+ },
+ {
+ "result": {
+ "value": "Apache License 2.0",
+ "type": "License",
+ "url": "https://raw.githubusercontent.com/dgarijo/Widoco/master/LICENSE",
+ "identifier": "https://spdx.org/licenses/Apache-2.0",
+ "spdx_id": "Apache-2.0"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ }
+ ],
+ "description": [
+ {
+ "result": {
+ "value": "Wizard for documenting ontologies. WIDOCO is a step by step generator of HTML templates with the documentation of your ontology. It uses the LODE environment to create part of the template.",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": [
+ "Wizard for documenting ontologies. WIDOCO is a step by step generator of HTML templates with the documentation of your ontology. It uses the LODE environment to create part of the template.",
+ "WIDOCO helps you to publish and create an enriched and customized documentation of your ontology, by following a series of steps in a wizard. We extend the LODE framework by Silvio Peroni to describe the classes, properties and data properties of the ontology, the OOPS! webservice by Mar\u00eda Poveda to print an evaluation and the Licensius service by Victor Rodriguez Doncel to determine the license URI and title being used. In addition, we use WebVowl to visualize the ontology and have extended Bubastis to show a complete changelog between different versions of your ontology.\n\nFeatures of WIDOCO:\n* Automatic documentation of the terms in your ontology (based on [LODE](http://www.essepuntato.it/lode/)). Now **you can use Markdown on your class descriptions** (see [example](https://dgarijo.github.io/Widoco/doc/gallery/index.html))\n* Massive metadata extraction and support: WIDOCO will enhance your ontology documentation based on your ontology annotations. Now you can add custom logos and images, edit the content of your sections, etc. by just editing metadata. See our [supported metadata](doc/metadataGuide/guide.md) and [recommendations](https://dgarijo.github.io/Widoco/doc/bestPractices/index-en.html) for more information.\n* Automatic annotation in JSON-LD snippets of the html produced.\n* Association of a provenance page which includes the history of your vocabulary (W3C PROV-O compliant).\n* Guidelines on the main sections that your document should have and how to complete them.\n* Integration with diagram creators ([WebVOWL](http://vowl.visualdataweb.org/webvowl/)).\n* Automatic changelog of differences between the actual and the previous version of the ontology (based on [Bubastis](http://www.ebi.ac.uk/efo/bubastis/)).\n* Separation of the sections of your html page so you can write them independently and replace only those needed.\n* Content negotiation and serialization of your ontology according to [W3C best practices](https://www.w3.org/TR/swbp-vocab-pub/)\n* Evaluation reports of your ontology (using the [OOPS! web service](https://oops.linkeddata.es/))\n* Integration with license metadata services ([Licensius](http://licensius.com/)) to automatically describe the license used in your ontology.\n"
+ ],
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ },
+ {
+ "result": {
+ "value": "WIDOCO helps you to publish and create an enriched and customized documentation of your ontology, by following a series of steps in a wizard. We extend the LODE framework by Silvio Peroni to describe the classes, properties and data properties of the ontology, the OOPS! webservice by Mar\u00eda Poveda to print an evaluation and the Licensius service by Victor Rodriguez Doncel to determine the license URI and title being used. In addition, we use WebVowl to visualize the ontology and have extended Bubastis to show a complete changelog between different versions of your ontology.\n\nFeatures of WIDOCO:\n* Automatic documentation of the terms in your ontology (based on [LODE](http://www.essepuntato.it/lode/)). Now **you can use Markdown on your class descriptions** (see [example](https://dgarijo.github.io/Widoco/doc/gallery/index.html))\n* Massive metadata extraction and support: WIDOCO will enhance your ontology documentation based on your ontology annotations. Now you can add custom logos and images, edit the content of your sections, etc. by just editing metadata. See our [supported metadata](doc/metadataGuide/guide.md) and [recommendations](https://dgarijo.github.io/Widoco/doc/bestPractices/index-en.html) for more information.\n* Automatic annotation in JSON-LD snippets of the html produced.\n* Association of a provenance page which includes the history of your vocabulary (W3C PROV-O compliant).\n* Guidelines on the main sections that your document should have and how to complete them.\n* Integration with diagram creators ([WebVOWL](http://vowl.visualdataweb.org/webvowl/)).\n* Automatic changelog of differences between the actual and the previous version of the ontology (based on [Bubastis](http://www.ebi.ac.uk/efo/bubastis/)).\n* Separation of the sections of your html page so you can write them independently and replace only those needed.\n* Content negotiation and serialization of your ontology according to [W3C best practices](https://www.w3.org/TR/swbp-vocab-pub/)\n* Evaluation reports of your ontology (using the [OOPS! web service](https://oops.linkeddata.es/))\n* Integration with license metadata services ([Licensius](http://licensius.com/)) to automatically describe the license used in your ontology.\n",
+ "type": "Text_excerpt",
+ "original_header": "Description",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "type": "Text_excerpt",
+ "value": "WIDOCO helps you to publish and create an enriched and customized documentation of your ontology automatically, by following a series of steps in a GUI. \n",
+ "original_header": "WIzard for DOCumenting Ontologies (WIDOCO)"
+ },
+ "confidence": 0.9336412604289143,
+ "technique": "supervised_classification",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "type": "Text_excerpt",
+ "value": "For a complete list of the current improvements and next features, check the [project open issues](https://github.com/dgarijo/Widoco/issues) and [milestones](https://github.com/dgarijo/Widoco/milestones) in the repository.\n \n",
+ "original_header": "Current improvements"
+ },
+ "confidence": 0.9682942149713352,
+ "technique": "supervised_classification",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "type": "Text_excerpt",
+ "value": "Contributions to address any of the current issues are welcome. In order to push your contribution, just **push your pull request to the develop branch**. The master branch has only the code associated to the latest release. \n",
+ "original_header": "Contribution guidelines"
+ },
+ "confidence": 0.892416273463637,
+ "technique": "supervised_classification",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+ ],
+ "name": [
+ {
+ "result": {
+ "value": "Widoco",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "Widoco",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ }
+ ],
+ "full_name": [
+ {
+ "result": {
+ "value": "dgarijo/Widoco",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "issue_tracker": [
+ {
+ "result": {
+ "value": "https://api.github.com/repos/dgarijo/Widoco/issues",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "https://github.com/dgarijo/Widoco/issues",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ }
+ ],
+ "forks_url": [
+ {
+ "result": {
+ "value": "https://api.github.com/repos/dgarijo/Widoco/forks",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "stargazers_count": [
+ {
+ "result": {
+ "value": 341,
+ "type": "Number"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "keywords": [
+ {
+ "result": {
+ "value": "documentation, metadata, ontology, ontology-diagram, ontology-evaluation, wizard",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": [
+ "documentation",
+ "metadata",
+ "ontology",
+ "ontology-diagram",
+ "ontology-evaluation",
+ "wizard"
+ ],
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ }
+ ],
+ "forks_count": [
+ {
+ "result": {
+ "value": 100,
+ "type": "Number"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "download_url": [
+ {
+ "result": {
+ "value": "https://github.com/dgarijo/Widoco/releases",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "https://github.com/dgarijo/Widoco/releases",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ }
+ ],
+ "programming_languages": [
+ {
+ "result": {
+ "value": "JavaScript",
+ "name": "JavaScript",
+ "type": "Programming_language",
+ "size": 1124896
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "Java",
+ "name": "Java",
+ "type": "Programming_language",
+ "size": 594537
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "XSLT",
+ "name": "XSLT",
+ "type": "Programming_language",
+ "size": 226430
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "CSS",
+ "name": "CSS",
+ "type": "Programming_language",
+ "size": 84383
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "HTML",
+ "name": "HTML",
+ "type": "Programming_language",
+ "size": 35918
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "value": "Dockerfile",
+ "name": "Dockerfile",
+ "type": "Programming_language",
+ "size": 520
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "name": "JavaScript",
+ "value": "JavaScript",
+ "type": "Programming_language"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ },
+ {
+ "result": {
+ "name": "Java",
+ "value": "Java",
+ "type": "Programming_language"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ },
+ {
+ "result": {
+ "name": "XSLT",
+ "value": "XSLT",
+ "type": "Programming_language"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ },
+ {
+ "result": {
+ "name": "CSS",
+ "value": "CSS",
+ "type": "Programming_language"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ },
+ {
+ "result": {
+ "name": "HTML",
+ "value": "HTML",
+ "type": "Programming_language"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ },
+ {
+ "result": {
+ "name": "Dockerfile",
+ "value": "Dockerfile",
+ "type": "Programming_language"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ }
+ ],
+ "releases": [
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/163195556",
+ "tag": "v1.4.25",
+ "name": "WiDOCO 1.4.25: Documentation fixes and new provenance flag",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of WIDOCO fixes documentation broken links, clarifies how to download Docker images and includes a new option for excluding the provenance page from documentation (thanks to @MikiDi) \r\n\r\n## What's Changed\r\n* Bump docker/build-push-action from 5.3.0 to 5.4.0 by @dependabot in https://github.com/dgarijo/Widoco/pull/709\r\n* CLI option to exclude provenance link by @MikiDi in https://github.com/dgarijo/Widoco/pull/710\r\n* Improved documentation (broken links)\r\n\r\n\r\n**Full Changelog**: https://github.com/dgarijo/Widoco/compare/v1.4.24...v1.4.25",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.25",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.25",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.25",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/163195556",
+ "release_id": 163195556,
+ "date_created": "2024-06-30T09:43:24Z",
+ "date_published": "2024-06-30T09:48:00Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/176791751",
+ "name": "widoco-1.4.25-jar-with-dependencies_JDK-11.jar",
+ "content_size": 40858575,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.25/widoco-1.4.25-jar-with-dependencies_JDK-11.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-06-30T09:47:25Z",
+ "download_count": 2481
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/176791780",
+ "name": "widoco-1.4.25-jar-with-dependencies_JDK-14.jar",
+ "content_size": 40861516,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.25/widoco-1.4.25-jar-with-dependencies_JDK-14.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-06-30T09:47:40Z",
+ "download_count": 220
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/176791807",
+ "name": "widoco-1.4.25-jar-with-dependencies_JDK-17.jar",
+ "content_size": 40861591,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.25/widoco-1.4.25-jar-with-dependencies_JDK-17.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-06-30T09:47:48Z",
+ "download_count": 2576
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/153527742",
+ "tag": "v1.4.24",
+ "name": "WiDOCO 1.4.24: Hotfix for SWRL rules",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This release introduces a hotfix for ontologies with SWRL rules and empty labels.\r\n\r\n## What's Changed\r\n* External Property Parser: Fix comparison to optional variable by @vChavezB in https://github.com/dgarijo/Widoco/pull/693\r\n* Develop by @dgarijo in https://github.com/dgarijo/Widoco/pull/701\r\n\r\n\r\n**Full Changelog**: https://github.com/dgarijo/Widoco/compare/v1.4.23...v1.4.24",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.24",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.24",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.24",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/153527742",
+ "release_id": 153527742,
+ "date_created": "2024-04-30T15:04:14Z",
+ "date_published": "2024-04-30T15:12:35Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/165158401",
+ "name": "widoco-1.4.24-jar-with-dependencies_JDK-11.jar",
+ "content_size": 40858514,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.24/widoco-1.4.24-jar-with-dependencies_JDK-11.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-04-30T15:12:24Z",
+ "download_count": 99
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/165158392",
+ "name": "widoco-1.4.24-jar-with-dependencies_JDK-14.jar",
+ "content_size": 40861450,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.24/widoco-1.4.24-jar-with-dependencies_JDK-14.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-04-30T15:12:17Z",
+ "download_count": 37
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/165158374",
+ "name": "widoco-1.4.24-jar-with-dependencies_JDK-17.jar",
+ "content_size": 40861525,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.24/widoco-1.4.24-jar-with-dependencies_JDK-17.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-04-30T15:12:10Z",
+ "download_count": 314
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/150115431",
+ "tag": "v1.4.23",
+ "name": "WiDOCO 1.4.23: Bugfixes",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "Quick release for three minor bugs detected by @SirkoS:\r\n\r\n- Error in dark mode table\r\n- Markdown support when using the `uniteSections` flag\r\n- Content override when HTML sections were set up by hand.\r\n\r\n## What's Changed\r\n* bugfixes by @SirkoS in https://github.com/dgarijo/Widoco/pull/690\r\n* Merging latest master/develop by @dgarijo in https://github.com/dgarijo/Widoco/pull/691\r\n\r\n## New Contributors\r\n* @SirkoS made their first contribution in https://github.com/dgarijo/Widoco/pull/690\r\n\r\n**Full Changelog**: https://github.com/dgarijo/Widoco/compare/v1.4.22...v1.4.23",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.23",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.23",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.23",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/150115431",
+ "release_id": 150115431,
+ "date_created": "2024-04-07T16:31:54Z",
+ "date_published": "2024-04-07T16:37:55Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/160798750",
+ "name": "widoco-1.4.23-jar-with-dependencies_JDK-11.jar",
+ "content_size": 40858475,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.23/widoco-1.4.23-jar-with-dependencies_JDK-11.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-04-07T16:36:21Z",
+ "download_count": 170
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/160798754",
+ "name": "widoco-1.4.23-jar-with-dependencies_JDK-14.jar",
+ "content_size": 40861411,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.23/widoco-1.4.23-jar-with-dependencies_JDK-14.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-04-07T16:36:30Z",
+ "download_count": 43
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/160798761",
+ "name": "widoco-1.4.23-jar-with-dependencies_JDK-17.jar",
+ "content_size": 40861484,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.23/widoco-1.4.23-jar-with-dependencies_JDK-17.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-04-07T16:36:37Z",
+ "download_count": 161
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/149821484",
+ "tag": "v1.4.22",
+ "name": "WiDOCO 1.4.22: Dark mode and flexibility for loading references",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of Widoco adds a great dark mode by @vChavezB and some fixes to allow pointing to the code repo where a vocabulary is maintained, removing obsolete html annotations and allowing to load your own reference section from a config file. \r\n\r\n## What's Changed\r\n* Run widoco with unprivileged user in container by @janvlug in https://github.com/dgarijo/Widoco/pull/669\r\n* Fixed SWRL Toc by @vChavezB in https://github.com/dgarijo/Widoco/pull/670\r\n* Bump docker/metadata-action from 5.4.0 to 5.5.0 by @dependabot in https://github.com/dgarijo/Widoco/pull/673\r\n* Added darkmode by @vChavezB in https://github.com/dgarijo/Widoco/pull/672\r\n* Parsing external owl entities (direct/indirect imports) + individual facts with external owl entites by @vChavezB in https://github.com/dgarijo/Widoco/pull/668\r\n* Bump docker/metadata-action from 5.5.0 to 5.5.1 by @dependabot in https://github.com/dgarijo/Widoco/pull/678\r\n* feat: Considering owl:unionOf for rdfs:domain and rdfs:range by @Murloc6 in https://github.com/dgarijo/Widoco/pull/679\r\n* Allow loading local ontologies for imports by @vChavezB in https://github.com/dgarijo/Widoco/pull/674\r\n* Fix #618 by @dgarijo in https://github.com/dgarijo/Widoco/pull/685\r\n* fix(extraction): Do not force lower-case if URI do not have label by @Murloc6 in https://github.com/dgarijo/Widoco/pull/686\r\n* Develop by @dgarijo in https://github.com/dgarijo/Widoco/pull/687\r\n* version update by @dgarijo in https://github.com/dgarijo/Widoco/pull/689\r\n\r\n## New Contributors\r\n* @Murloc6 made their first contribution in https://github.com/dgarijo/Widoco/pull/679\r\n\r\n**Full Changelog**: https://github.com/dgarijo/Widoco/compare/v1.4.21...v1.4.22",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.22",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.22",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.22",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/149821484",
+ "release_id": 149821484,
+ "date_created": "2024-04-04T17:40:30Z",
+ "date_published": "2024-04-04T17:48:33Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/160331115",
+ "name": "widoco-1.4.22-jar-with-dependencies_JDK-11.jar",
+ "content_size": 40858426,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.22/widoco-1.4.22-jar-with-dependencies_JDK-11.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-04-04T17:56:01Z",
+ "download_count": 11
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/160331165",
+ "name": "widoco-1.4.22-jar-with-dependencies_JDK-14.jar",
+ "content_size": 40861365,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.22/widoco-1.4.22-jar-with-dependencies_JDK-14.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-04-04T17:56:15Z",
+ "download_count": 7
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/160331135",
+ "name": "widoco-1.4.22-jar-with-dependencies_JDK-17.jar",
+ "content_size": 40861440,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.22/widoco-1.4.22-jar-with-dependencies_JDK-17.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2024-04-04T17:56:08Z",
+ "download_count": 1491
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/135444538",
+ "tag": "v1.4.21",
+ "name": "WiDOCO 1.4.21: Better support for rules and minor fixes",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This release introduces the following changes:\r\n* Better support for SWRL rules thanks to @vChavezB \r\n* Fix #658 problems displaying custom introduction sections\r\n* Improved documentation and README\r\n* Now the affiliation parenthesis and commas are more consistent for authors (#572)\r\n* Fixed a problem when using the flag `-confFile` making disappear the namespace declaration section\r\n\r\n## New Contributors\r\n* @MikiDi made their first contribution in https://github.com/dgarijo/Widoco/pull/644\r\n* @vChavezB made their first contribution in https://github.com/dgarijo/Widoco/pull/653\r\n\r\n**Full Changelog**: https://github.com/dgarijo/Widoco/compare/v1.4.20...v1.4.21",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.21",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.21",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.21",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/135444538",
+ "release_id": 135444538,
+ "date_created": "2023-12-31T19:35:36Z",
+ "date_published": "2023-12-31T19:46:00Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/143178266",
+ "name": "widoco-1.4.21-jar-with-dependencies_JDK-11.jar",
+ "content_size": 40397382,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.21/widoco-1.4.21-jar-with-dependencies_JDK-11.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-12-31T19:50:32Z",
+ "download_count": 495
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/143178261",
+ "name": "widoco-1.4.21-jar-with-dependencies_JDK-14.jar",
+ "content_size": 40400218,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.21/widoco-1.4.21-jar-with-dependencies_JDK-14.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-12-31T19:50:24Z",
+ "download_count": 41
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/143178254",
+ "name": "widoco-1.4.21-jar-with-dependencies_JDK-17.jar",
+ "content_size": 40400273,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.21/widoco-1.4.21-jar-with-dependencies_JDK-17.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-12-31T19:50:19Z",
+ "download_count": 1112
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/119064737",
+ "tag": "v1.4.20",
+ "name": "WiDOCO 1.4.20: Increased Metadata support and many fixes",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This new release addresses the issues listed below, and it updates the metadata guides:\r\n\r\n- Name is expanded and documented in table and guides (614).\r\n- DateRelease and dateModified overlap (fixed) (614)\r\n- Support for http and https in schema.org properties (before only https). This flexibility is to address potential mismatch properties.\r\n- Fixed Licensius integration issues (607)\r\n- Placed JSON-LD before than HTML in htaccess so we can import ontologies in the JSON-LD playground (i.e., from browser)\r\n- Support for extended ontologies added from the ontology metadata (with voaf:extends) (614)\r\n- Separated abstract from description. Used ontology description for the description section (544) \r\n- Imported ontologies have been added to the documentation table (614)\r\n- skos:editorialNote (592)\r\n- editorialNote is not added in guide (now added)\r\n- Added preferred metadata terms in checklist, and added examples for each (242)\r\n- Added dce and dct as elements and terms for dublin core.\r\n- Added support for:\r\n - pav:version (http://purl.org/pav/version) (versionInfo)\r\n - http://purl.org/dc/terms/hasVersion (versionInfo)\r\n - http://purl.org/pav/lastUpdatedOn (modified)\r\n - http://www.w3.org/2007/05/powder-s#describedBy (source)\r\n- Added support for logos (and guidelines to add them #497).\r\n- Fixed error: when saving properties, there are some nulls in publisher.\r\n- Added support for mod:status.\r\n- Added support for describedby (source)\r\n- Add editorialNote in metadata guide.\r\n- Add source in Widoco (ontology level). And load/save in properties. And form. And HTML.\r\n- Add seeAlso in Widoco (ontology level). And load/save in properties. And form. And HTML.\r\n- Explain how to run from code (#574)\r\n- add support for schema:creativeWorkStatus.\r\n- Sort NS table (#610)\r\n- Checked equivalentClass works correctly.\r\n- JFileChooser in GUI (602) (except a minor one for browsing folders)\r\n- Fix #605 about the main gui when saving withot the --rewriteAll option.\r\n- If multiple labels (skos:prefLabel, rdfs:label) are provided, just pick just one. #556 \r\n- Added funding and funder information \r\n- Intro section (new property) (#544, #612) \r\n- Intro: load it from properties file if available.\r\n- Supported serializations (new prop) \r\n- Fixed problem with funders.\r\n- Added tests.\r\n- Separate namespace declaration in a different html (#609)\r\n- isDefinedBy in data properties does not work well (#588)\r\n- Bug: properties extending annotation properties do not work (530) \r\n- Rules: add a new section + doc (#591)\r\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.20",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.20",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.20",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/119064737",
+ "release_id": 119064737,
+ "date_created": "2023-08-29T12:04:47Z",
+ "date_published": "2023-08-29T12:17:07Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/123609987",
+ "name": "widoco-1.4.20-jar-with-dependencies_JDK-11.jar",
+ "content_size": 41013250,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.20/widoco-1.4.20-jar-with-dependencies_JDK-11.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-08-29T12:24:28Z",
+ "download_count": 186
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/123610019",
+ "name": "widoco-1.4.20-jar-with-dependencies_JDK-14.jar",
+ "content_size": 41016047,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.20/widoco-1.4.20-jar-with-dependencies_JDK-14.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-08-29T12:24:33Z",
+ "download_count": 61
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/123610684",
+ "name": "widoco-1.4.20-jar-with-dependencies_JDK-17.jar",
+ "content_size": 41016100,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.20/widoco-1.4.20-jar-with-dependencies_JDK-17.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-08-29T12:27:11Z",
+ "download_count": 1662
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/105715227",
+ "tag": "v1.4.19",
+ "name": "WiDOCO 1.4.19: Small fixes on redirections and version",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This new release of WIDOCO:\r\n- Addresses a problem with the name of the files for the rdf/xml serialization (at times `.owl`, at time `.rdf`). Now it's always `.owl`.\r\n- Adds a small icon (RDF) to the documentation pages\r\n- Adds the version of the WIDOCO JAR explicitly with the command `--version`\r\n- OOPS! tests are now static, not requiring the service to work for the build to pass.\r\n\r\n\r\n**Full Changelog**: https://github.com/dgarijo/Widoco/compare/v1.4.18...v1.4.19",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.19",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.19",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.19",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/105715227",
+ "release_id": 105715227,
+ "date_created": "2023-06-01T16:30:11Z",
+ "date_published": "2023-06-01T16:37:43Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/110831279",
+ "name": "widoco-1.4.19-jar-with-dependencies_JDK-11.jar",
+ "content_size": 41000835,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.19/widoco-1.4.19-jar-with-dependencies_JDK-11.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-06-01T16:42:00Z",
+ "download_count": 252
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/110831269",
+ "name": "widoco-1.4.19-jar-with-dependencies_JDK-14.jar",
+ "content_size": 41003361,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.19/widoco-1.4.19-jar-with-dependencies_JDK-14.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-06-01T16:41:55Z",
+ "download_count": 294
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/110831290",
+ "name": "widoco-1.4.19-jar-with-dependencies_JDK-17.jar",
+ "content_size": 41003414,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.19/widoco-1.4.19-jar-with-dependencies_JDK-17.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-06-01T16:42:08Z",
+ "download_count": 497
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/100962807",
+ "tag": "v1.4.18",
+ "name": "WIDOCO 1.4.18: Fix javascript issues",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version fixes:\r\n- Minor problems in the generated HTML.\r\n- Minor problems with mixed content in the javascript\r\n- Clarifies documentation on which fields Widoco adopts.\r\n\r\n## New Contributors\r\nThanks to: \r\n* @telecsur made their first contribution in https://github.com/dgarijo/Widoco/pull/517\r\n* @janvlug made their first contribution in https://github.com/dgarijo/Widoco/pull/538\r\n* @HanKruiger made their first contribution in https://github.com/dgarijo/Widoco/pull/540\r\n* @JohannesLipp made their first contribution in https://github.com/dgarijo/Widoco/pull/547\r\n* @ioggstream made their first contribution in https://github.com/dgarijo/Widoco/pull/561\r\n\r\n**Full Changelog**: https://github.com/dgarijo/Widoco/compare/v1.4.17...v1.4.18",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.18",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.18",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.18",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/100962807",
+ "release_id": 100962807,
+ "date_created": "2023-04-21T15:46:00Z",
+ "date_published": "2023-04-26T14:08:45Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/105401521",
+ "name": "widoco-1.4.18-jar-with-dependencies-java-11.jar",
+ "content_size": 40526768,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.18/widoco-1.4.18-jar-with-dependencies-java-11.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-04-26T14:28:45Z",
+ "download_count": 85
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/105563934",
+ "name": "widoco-1.4.18-jar-with-dependencies_JDK-14.jar",
+ "content_size": 40529324,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.18/widoco-1.4.18-jar-with-dependencies_JDK-14.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-04-27T09:11:42Z",
+ "download_count": 28
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/105563920",
+ "name": "widoco-1.4.18-jar-with-dependencies_JDK-17.jar",
+ "content_size": 40529380,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.18/widoco-1.4.18-jar-with-dependencies_JDK-17.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2023-04-27T09:11:32Z",
+ "download_count": 66
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/64724790",
+ "tag": "v1.4.17",
+ "name": "WIDOCO 1.4.17: Update OOPS! Web service. GitHub actions",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version fixes OOPS! (newest URL) and sets up GitHub actions so users with different versions of Java can use Widoco.\r\n\r\n## What's Changed\r\n* update readme and pom with proper versions by @dgarijo in https://github.com/dgarijo/Widoco/pull/502\r\n* switch import fonts to always use https scheme by @renefritze in https://github.com/dgarijo/Widoco/pull/509\r\n* [ci] setup gh actions + dependabot by @renefritze in https://github.com/dgarijo/Widoco/pull/507\r\n* Github actions set up by @renefritze by @dgarijo in https://github.com/dgarijo/Widoco/pull/512\r\n\r\n## New Contributors\r\n* @renefritze made their first contribution in https://github.com/dgarijo/Widoco/pull/509\r\n\r\n**Full Changelog**: https://github.com/dgarijo/Widoco/compare/v1.4.16...v1.4.17",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.17",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.17",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.17",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/64724790",
+ "release_id": 64724790,
+ "date_created": "2022-04-19T10:57:14Z",
+ "date_published": "2022-04-19T11:10:33Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/62988840",
+ "name": "java-11-widoco-1.4.17-jar-with-dependencies.jar",
+ "content_size": 40505030,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.17/java-11-widoco-1.4.17-jar-with-dependencies.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2022-04-19T11:07:47Z",
+ "download_count": 2664
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/62988900",
+ "name": "java-14-widoco-1.4.17-jar-with-dependencies.jar",
+ "content_size": 40507499,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.17/java-14-widoco-1.4.17-jar-with-dependencies.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2022-04-19T11:08:34Z",
+ "download_count": 214
+ },
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/62988955",
+ "name": "java-17-widoco-1.4.17-jar-with-dependencies.jar",
+ "content_size": 40507555,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.17/java-17-widoco-1.4.17-jar-with-dependencies.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2022-04-19T11:09:22Z",
+ "download_count": 1624
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/62144298",
+ "tag": "v1.4.16",
+ "name": "WIDOCO 1.4.16: Support for German and Dutch",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of WIDOCO includes support for German and Dutch (thanks to Flores Bakker), extraction of metadata from local authors and organizations URIs (if you describe authors and their organizations in your ontology, WIDOCO will automatically detect it) and additional support for adding images in your documentation.\r\n \r\n## What's Changed\r\n* Fix/duplicate namespace declarations by @pmcb55 in https://github.com/dgarijo/Widoco/pull/471\r\n* Only show legend entries if relevant by @pmcb55 in https://github.com/dgarijo/Widoco/pull/472\r\n* Dockerize project by @ccamel in https://github.com/dgarijo/Widoco/pull/479\r\n* Support for adding images with GUI by @dgarijo in https://github.com/dgarijo/Widoco/pull/492\r\n* Fix #262 by @dgarijo in https://github.com/dgarijo/Widoco/pull/493\r\n* German translation by @JohnnyMoonlight in https://github.com/dgarijo/Widoco/pull/494\r\n* Support for it and de by @dgarijo in https://github.com/dgarijo/Widoco/pull/495\r\n* Fix #498 by @engapa in https://github.com/dgarijo/Widoco/pull/500\r\n\r\n## New Contributors\r\n* @ccamel made their first contribution in https://github.com/dgarijo/Widoco/pull/479\r\n* @JohnnyMoonlight made their first contribution in https://github.com/dgarijo/Widoco/pull/494\r\n* @engapa made their first contribution in https://github.com/dgarijo/Widoco/pull/500\r\n\r\n**Full Changelog**: https://github.com/dgarijo/Widoco/compare/v1.4.15...v1.4.16",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.16",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.16",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.16",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/62144298",
+ "release_id": 62144298,
+ "date_created": "2022-03-17T21:38:26Z",
+ "date_published": "2022-03-17T22:13:15Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/59812154",
+ "name": "widoco-1.4.16-jar-with-dependencies.jar",
+ "content_size": 40504976,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.16/widoco-1.4.16-jar-with-dependencies.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2022-03-17T22:11:40Z",
+ "download_count": 495
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/45273016",
+ "tag": "v1.4.15",
+ "name": "WIDOCO 1.4.15: Major bug fixes",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This release addresses the following problems:\r\n- fixed return types for jsonld and rdf (#454)\r\n- fixed small caps issue for case sensitivity files in Unix (#455)\r\n- fix wrong metadata in prefix (#453) \r\n- Incorporated previous prereleases fixes.\r\n\r\nAll bugs fixed in this release can be found [here](https://github.com/dgarijo/Widoco/milestone/2?closed=1)",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.15",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.15",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.15",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/45273016",
+ "release_id": 45273016,
+ "date_created": "2021-06-26T11:29:58Z",
+ "date_published": "2021-06-26T11:39:10Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/40200251",
+ "name": "widoco-1.4.15-jar-with-dependencies.jar",
+ "content_size": 39590551,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.15/widoco-1.4.15-jar-with-dependencies.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2021-07-13T08:45:02Z",
+ "download_count": 1787
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/35216684",
+ "tag": "v1.4.15_1",
+ "name": "WIDOCO 1.4.15_1 (pre-release): Namespace prefixes fixes and WebVowl update",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This pre-release fixes issues regarding namespace prefixes (now they will be rad directly from the ontology instead of using LODE); it updates WebVOWL to the latest version (which let's you change the settings in your visualization)\r\n\r\nMore information on the addressed issues can be seen in: https://github.com/dgarijo/Widoco/milestone/2?closed=1",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.15_1",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.15_1",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.15_1",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/35216684",
+ "release_id": 35216684,
+ "date_created": "2020-12-14T04:07:24Z",
+ "date_published": "2020-12-14T04:18:58Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/29515905",
+ "name": "widoco-1.4.15-jar-with-dependencies.jar",
+ "content_size": 40032888,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.15_1/widoco-1.4.15-jar-with-dependencies.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2020-12-14T04:14:32Z",
+ "download_count": 1935
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/28719056",
+ "tag": "v1.4.15_0",
+ "name": "WIDOCO 1.4.15 (pre-release): Bug fixes and FAQ",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "(This is a pre-relase. For more information about the next release see https://github.com/dgarijo/Widoco/milestone/2)\r\nThis pre-release of WIDOCO fixes some bugs and adds a FAQ for common questions posted as issues. In particular, this solves:\r\n- External links will now open in another window instead of appearing dotted.\r\n- Fixed issue that made the index not be generated when including all the sections in a single html.\r\n- Added a FAQ explaining why by default the documentation cannot be seen locally.\r\n- Added a FAQ regarding how to use markdown on class definitions.\r\n- Error with a missing path when the CLI was run, which resulted in the /sections folder not being generated.\r\n- Fixed a typo in acknowledgments \r\n- Fixed typo in schema.org snippet.\r\n- Fixed a few URLs from http -> https",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.15_0",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.15_0",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.15_0",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/28719056",
+ "release_id": 28719056,
+ "date_created": "2020-07-19T22:55:20Z",
+ "date_published": "2020-07-19T23:11:42Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/23035620",
+ "name": "widoco-1.4.15-jar-with-dependencies.jar",
+ "content_size": 39372460,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.15_0/widoco-1.4.15-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2020-07-19T23:11:10Z",
+ "download_count": 83
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/26848705",
+ "tag": "v1.4.14",
+ "name": "WIDOCO 1.4.14: Multiple updates and bug fixes",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of WIDOCO updates some of the web services used:\r\n * Updated a comprehensive --help command.\r\n * Reviewed metadata properties (added incompatibleWith)\r\n * Removed JENA dependencies (now only OWLAPI is used)\r\n * Unified logging (now only SLF4J is used).\r\n * Fixed pointers in WIDOCO guidelines.\r\n * Updated OOPS! webservice call.\r\n * Fixed invalid ttl file when generating the provenance of a documentation.",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.14",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.14",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.14",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/26848705",
+ "release_id": 26848705,
+ "date_created": "2020-05-25T03:55:27Z",
+ "date_published": "2020-05-25T04:02:40Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/21025783",
+ "name": "widoco-1.4.14-jar-with-dependencies.jar",
+ "content_size": 39384905,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.14/widoco-1.4.14-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2020-05-25T04:02:00Z",
+ "download_count": 2175
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/22775882",
+ "tag": "v1.4.13",
+ "name": "WIDOCO 1.4.13: Linking evaluation in documentation",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of WIDOCO removes a few of unused dependencies and, if desired, shows a link to the OOPS! evaluation generated in the documentation. Before, this link had to be added manually. \r\n\r\nThanks to @HaydarAk for the suggestions on how to show it in the main page.\r\n\r\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.13",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.13",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.13",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/22775882",
+ "release_id": 22775882,
+ "date_created": "2020-01-12T22:19:15Z",
+ "date_published": "2020-01-12T22:25:11Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/17295468",
+ "name": "widoco-1.4.13-jar-with-dependencies.jar",
+ "content_size": 41627773,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.13/widoco-1.4.13-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2020-01-12T22:22:32Z",
+ "download_count": 20613
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/21002818",
+ "tag": "v1.4.12",
+ "name": "WIDOCO 1.4.12: Big fixes and new configurations",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of WIDOCO addresses the following issues (thanks to @pmcb55 for his contributions!!)\r\n * #354: The page would display centered in the visualization instead of the element loaded.\r\n * #362: Upgraded to latest version of OWL API\r\n * #361: Allowed adding a \"-uniteAllSections\" flag that will print all sections on the same document. Hence, dynamic loading will be removed.\r\n * Tidying up PROV rendering.\r\n * Small typo fixes in the default html ",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.12",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.12",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.12",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/21002818",
+ "release_id": 21002818,
+ "date_created": "2019-10-27T03:41:36Z",
+ "date_published": "2019-10-27T03:56:44Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/15756430",
+ "name": "widoco-1.4.12-jar-with-dependencies.jar",
+ "content_size": 41626814,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.12/widoco-1.4.12-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2019-10-27T03:56:00Z",
+ "download_count": 198
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/17596778",
+ "tag": "v1.4.11",
+ "name": "WIDOCO 1.4.11: Better logging and bug fixes",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of WIDOCO integrates the pull requests from @seralf to improve logging and simplify dependencies.\r\nIn addition, it addresses the following issues:\r\n * #344: Now double \"#\" errors have been removed from changelog.\r\n * #350: Fixed an issue in which the references would overwrite the main section ",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.11",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.11",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.11",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/17596778",
+ "release_id": 17596778,
+ "date_created": "2019-05-26T23:51:42Z",
+ "date_published": "2019-05-26T23:55:13Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/12880234",
+ "name": "widoco-1.4.11-jar-with-dependencies.jar",
+ "content_size": 41614957,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.11/widoco-1.4.11-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2019-05-26T23:53:22Z",
+ "download_count": 413
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/17029600",
+ "tag": "v1.4.10",
+ "name": "WIDOCO 1.4.10: Pull requests, updates and bug fixes",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of WIDOCO incorporates pull requests from @seralf and @jgeluk (updating to the latest version of WebVowl) and fixes the following issues:\r\n* #333 Now if there is an error in one of the imports the application will continue running instead of failing.\r\n* #217 Now the changelog can be expanded and collapsed, which makes it easier to navigate\r\n* #313 A link will be added in the index page if provided in the config file (using contextURI=\"YOUR URL\")\r\n* #339 Now WIDOCO will generate the folders four your htaccess file as well.\r\n\r\nIn addition, now the base encoding is UTF-8.",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.10",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.10",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.10",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/17029600",
+ "release_id": 17029600,
+ "date_created": "2019-04-29T00:26:07Z",
+ "date_published": "2019-04-29T00:31:54Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/12283704",
+ "name": "widoco-1.4.10-jar-with-dependencies.jar",
+ "content_size": 41613738,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.10/widoco-1.4.10-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2019-04-29T00:31:17Z",
+ "download_count": 58
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/15737608",
+ "tag": "v1.4.9",
+ "name": "WIDOCO 1.4.9: Supporting schema.org",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of WIDOCO addresses the following:\r\n* #274: Now WIDOCO will include the domain and range if you use schema:domainIncludes and schema:rangeIncludes to declare it in your object properties or data properties with . Note that WIDOCO still does not support plain rdf:Property.\r\n* Reduced the level of logging",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.9",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.9",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.9",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/15737608",
+ "release_id": 15737608,
+ "date_created": "2019-02-24T00:23:18Z",
+ "date_published": "2019-02-24T00:30:33Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/11213134",
+ "name": "widoco-1.4.9-jar-with-dependencies.jar",
+ "content_size": 41691275,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.9/widoco-1.4.9-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2019-02-24T00:28:43Z",
+ "download_count": 146
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/15474861",
+ "tag": "v1.4.8",
+ "name": "WIDOCO 1.4.8: Logging and automated citation",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This release of WIDOCO includes:\r\n* Fixes from @jgeluk to do proper logging.\r\n* Fix #264: now an automated citation will be produced for your ontology by default (if the appropriate metadata is there: creators, revision, and URL (this version)\r\n* JenaCatalogIRIMapper now supports Jena's ont-policy.rdf file to resolve imports with local files\r\n* Fixed #321, now WIDOCO uses a more recent version of OWL API \r\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.8",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.8",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.8",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/15474861",
+ "release_id": 15474861,
+ "date_created": "2019-02-11T03:30:12Z",
+ "date_published": "2019-02-11T03:38:13Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/11023656",
+ "name": "widoco-1.4.8-jar-with-dependencies.jar",
+ "content_size": 41511458,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.8/widoco-1.4.8-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2019-02-11T03:32:51Z",
+ "download_count": 56
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/13944540",
+ "tag": "v1.4.7",
+ "name": "WIDOCO 1.4.7: Dependency and bug fixes",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This release of WIDOCO fixes the following issues:\r\n* #305: Now when you launch WIDOCO without parameters, the console will also show a description of the tool and will explain how to run it. \r\n* #309 Removed the absolute layout dependency that prevented WIDOCO JAR from being run.\r\n* #311 Now the publisher will show on the GUI correctly (before it would only if it had a URL)\r\n* #314: Added an html tag around the external sections so the browser won't complain\r\n* #316 Fixed the generation of the table of contents so \"back to TOC\" wouldn't appear\r\n* #317 Fixed the GUI so the \"Imported ontologies\" label appears as imported and not \"extended\"\r\nIt also removes the restlet dependency, which had a vulnerability and was not used anymore.",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.7",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.7",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.7",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/13944540",
+ "release_id": 13944540,
+ "date_created": "2018-11-12T03:27:02Z",
+ "date_published": "2018-11-12T03:42:29Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/9650269",
+ "name": "widoco-1.4.7-jar-with-dependencies.jar",
+ "content_size": 41317020,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.7/widoco-1.4.7-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2018-11-12T03:37:07Z",
+ "download_count": 187
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/13019723",
+ "tag": "v1.4.6",
+ "name": "WIDOCO 1.4.6: Tutorial and bug fixes",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of WIDOCO includes the following updates:\r\n* Updated the OWL2Vowl library to the latest version (old library was producing errors in some ontologies)\r\n* Included a tutorial (http://dgarijo.github.io/Widoco/doc/tutorial/) describing the GUI step by step and all its functionality\r\n* Added support for selecting ontologies in JSON\r\n* Added contributing guidelines into readme.md\r\n* Fixed namespaces when selecting documentation in several languages\r\n* Now it's possible to edit the rewrite base path in the .htaccess file.\r\n* Fixed a typo in the .htaccess for serving json\r\n* Fixed an encoding problem when showing french labels.\r\n* @kartgk fixed an error with the import closure of ontologies (in case not all imports of imported ontologies wanted to be displayed)\r\n* Added the correct version numbers to pom file.\r\n* Fixed an issue in lang cs that made the table of namespaces not to show correctly",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.6",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.6",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.6",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/13019723",
+ "release_id": 13019723,
+ "date_created": "2018-09-21T08:03:14Z",
+ "date_published": "2018-09-21T08:19:40Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/8774684",
+ "name": "widoco-1.4.6-jar-with-dependencies.jar",
+ "content_size": 42009392,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.6/widoco-1.4.6-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2018-09-21T08:08:43Z",
+ "download_count": 552
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/12049594",
+ "tag": "v1.4.5",
+ "name": "WIDOCO 1.4.5: Updated WebVowl and support for Czech",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of WIDOCO includes the following updates:\r\n* Updated webVowl to version 1.1.2 (latest)\r\n* Allowed disabling showing ontology serializations (-doNotDisplaySerializations flag). Both in the console and GUI\r\n* Added support for Czech localization (also in GUI)\r\n\r\nThanks to Petr Kremen for contributing with the Czech localization",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.5",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.5",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.5",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/12049594",
+ "release_id": 12049594,
+ "date_created": "2018-07-23T07:15:14Z",
+ "date_published": "2018-07-23T07:23:58Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/7970893",
+ "name": "widoco-1.4.5-jar-with-dependencies.jar",
+ "content_size": 43008958,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.5/widoco-1.4.5-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2018-07-23T07:22:14Z",
+ "download_count": 220
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/11300894",
+ "tag": "v1.4.4",
+ "name": "WIDOCO 1.4.4: Added support for Google Analytics",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of WIDOCO allows to add a Google Analytics code to track the traffic received in one of the pages. WIDOCO assumes you have a UA code. You can use it on the GUI, through a config file or in the command line by adding `-analytics yourcode`\r\n\r\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.4",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.4",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.4",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/11300894",
+ "release_id": 11300894,
+ "date_created": "2018-06-04T01:12:31Z",
+ "date_published": "2018-06-04T01:17:34Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/7395302",
+ "name": "widoco-1.4.4-jar-with-dependencies.jar",
+ "content_size": 42927288,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.4/widoco-1.4.4-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2018-06-04T01:16:33Z",
+ "download_count": 61
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/10556972",
+ "tag": "v1.4.3",
+ "name": "WIDOCO 1.4.3: Bug Fixes and support for french",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This release fixes the following issues:\r\n* Added support for french (thanks to Maxime Lefrancois)\r\n* When imported ontologies had characters like \"<\" they were not showing.\r\n* Added JSON-LD serialization for ontologies automatically\r\n* When annotation properties have blank nodes, they will now be ignored instead of failing\r\n* Updated contributor list\r\n* Blank nodes are now absent from the provenance page.\r\n* Fixed default language when restarting WIDOCO.\r\n* Fixed the language form (now french can be selected, and it has the proper icons)\r\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.3",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.3",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.3",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/10556972",
+ "release_id": 10556972,
+ "date_created": "2018-04-16T05:17:23Z",
+ "date_published": "2018-04-16T05:23:25Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/6856085",
+ "name": "widoco-1.4.3-jar-with-dependencies.jar",
+ "content_size": 42926579,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.3/widoco-1.4.3-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2018-04-16T05:22:47Z",
+ "download_count": 96
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/9846306",
+ "tag": "v1.4.2",
+ "name": "WIDOCO 1.4.2: Small fixes and merged contributions",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This release includes the latest contributions to the project:\r\n* Fixes in HTML\r\n* Fixes in how OOPS! is called\r\nAlso, now the license name is the URI if no name is provided (and URI is) instead of \"license name goes here\", and the java encoding has been included in the pom file to prevent UTF-8 errors in compilation.",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.2",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.2",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.2",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/9846306",
+ "release_id": 9846306,
+ "date_created": "2018-02-27T02:55:24Z",
+ "date_published": "2018-02-27T03:02:50Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/6336641",
+ "name": "widoco-1.4.2-jar-with-dependencies.jar",
+ "content_size": 42914602,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.2/widoco-1.4.2-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2018-02-27T02:58:44Z",
+ "download_count": 231
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/6527938",
+ "tag": "v1.4.1",
+ "name": "WIDOCO 1.4.1: Metadata support and major bug fixes",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "WIDOCO now will comply with most of the terms listed in https://w3id.org/widoco/bestPractices. A few of them are still unsopported (e.g., rdfs:seeAlso) and will be added in next releases.\r\n\r\nIn this version, I have added support for all the deprecation terms in LODE, as well as support for skos:prefLabel and better recognition of some of the terms when the range can be a String or a resource.\r\n\r\nChanges:\r\n* Now the examples have a \"pre\" label, so if they include rdf text or json text they show properly.\r\n* A pointer to the guidelines has been added in the interface\r\n* When invoking the program using command line, the default behavior is to load the properties from the ontology. Only if a config file is provided, the properties won't be loaded. There is still a flag, which I have preferred to leave for possible legacy issues.\r\n* Markup is now recognized in all sections\r\n* The diagram is now optional (by default it was always produced in older versions)\r\n* This release also includes a doc folder with guidelines on the metadata properties to use, a benchmark of ontologies used for testing, a gallery with what WIDOCO can accomplish and a summary of projects that have adopted WIDOCO.\r\n\r\nBug fixes: \r\n* Changed the pom file with another plugin for creating the JAR, because some of the RIO parsers were not creating the appropriate serializations of the ontology.\r\n* Added robustness when the changelog was created. If a wrong URI is provided, then the changelog will not be created.\r\n* Changed how the ontology is chosen so there won't be errors in MAC systems.\r\n* Fixed some of the language tags.\r\n* Polished some errors related to the interface.",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.1",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.1",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.1",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/6527938",
+ "release_id": 6527938,
+ "date_created": "2017-05-28T10:17:58Z",
+ "date_published": "2017-05-28T18:46:39Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/3978689",
+ "name": "widoco-1.4.1-jar-with-dependencies.jar",
+ "content_size": 42914378,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.1/widoco-1.4.1-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2017-05-28T18:36:04Z",
+ "download_count": 386
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/6390471",
+ "tag": "v1.4.0",
+ "name": "WIDOCO 1.4.0: Inline visualization diagrams",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This release removes the external dependency to WebVowl, and creates a visualization that can be seen in the ontology document itself (overview section). In addition, the following changes have been made:\r\n * Migrated the framework to use a recent version of OWL API (hence the size of the JAR)\r\n * Bug fixes in meta data (more to come in future releases)\r\n * Made WIDOCO more robust to errors\r\n * Published a benchmark of ontologies used to test WIDOCO. If you want us to try a new one, just open an issue!\r\n * Published a draft of the best practices for ontology annotation (currently under work). These are meant\r\n * Published a showcase gallery with examples of WIDOCO's features\r\n * Published a report on the known usages by WIDOCO. \r\n\r\n\r\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.4.0",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.4.0",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.4.0",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/6390471",
+ "release_id": 6390471,
+ "date_created": "2017-05-13T23:26:12Z",
+ "date_published": "2017-05-15T16:53:34Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/3879303",
+ "name": "widoco-1.4.0-jar-with-dependencies.jar",
+ "content_size": 41119076,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.4.0/widoco-1.4.0-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2017-05-15T16:46:54Z",
+ "download_count": 28
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/5951267",
+ "tag": "v1.3.1",
+ "name": "Widoco 1.3.1: Bug fixes and metadata enrichment",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This release fixes several issues and extends LODE to accept more metadata options for defining terms and adding examples.\r\n* Fixed an issue with the changelog that produced an empty bullet when the domain or range of a property was an union or intersection.\r\n* Added tests with different ontologies that help inspecting whether a new change leads to errors or not.\r\n* Extended LODE to accept: prov:definition, vann:example, obo:definition (with the appropriate class name), obo:usageExample, vaem:rationale, skos:definition and terms:source.\r\n* Extended Widoco to accept terms:bibliographicCitation, bibo:status, bibo:doi and owl:backwardsCompatibleWith\r\n* If an error is produced while generating the changelog or the evaluation reports, the section is not generated. Before, an empty section would remain.\r\n* Fixed table of contents not being translated.\r\n* When generating the documentation of an ontology, if it imports another ontology that cannot be imported for any reason, Widoco will ignore the import instead of failing.\r\n* Added the possibility to ignore namedIndividuals when generating the documentation through console.\r\n\r\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.3.1",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.3.1",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.3.1",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/5951267",
+ "release_id": 5951267,
+ "date_created": "2017-04-03T00:33:14Z",
+ "date_published": "2017-04-03T00:48:48Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/3558233",
+ "name": "widoco-1.3.1-jar-with-dependencies.jar",
+ "content_size": 15577816,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.3.1/widoco-1.3.1-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2017-04-04T03:00:37Z",
+ "download_count": 34
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/5659212",
+ "tag": "v1.3.0",
+ "name": "Widoco 1.3.0: Automated changelog section",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version of Widoco creates an automated changelog section of your ontology. For all classes, properties and data properties, Widoco will calculate the new changes, additions and deletions and present them in a human-readable manner. In order to benefit from this feature, you just have to annotate your ontology with the URI of the previous version. You can use owl:priorVersion, dc:replaces or prov:wasRevisionOf to annotate your ontology (Widoco will only consider one file to compare against).\r\n\r\nAdditional improvements:\r\n* RDF-a annotations are replaced with JSON-LD snippets. The page is just annotated with schema.org. The rdf-a annotations made it difficult to maintain, and the structured extraction tool provided by Google did not work. With the JSON-LD snippet everything is clearer. The provenance of the page itself is published separately.\r\n* Now it is possible to generate ONLY the cross reference section of an ontology.\r\n* Bug fix that led to errors when opening some ontologies like OBI\r\n\r\nOverview sample of the changelog:\r\n\r\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.3.0",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.3.0",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.3.0",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/5659212",
+ "release_id": 5659212,
+ "date_created": "2017-03-07T03:06:28Z",
+ "date_published": "2017-03-07T03:17:36Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/3335677",
+ "name": "widoco-1.3.0-jar-with-dependencies.jar",
+ "content_size": 15423937,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.3.0/widoco-1.3.0-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2017-03-07T03:16:43Z",
+ "download_count": 36
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/4659138",
+ "tag": "v1.2.3",
+ "name": "Widoco 1.2.3: [Bug fix] Licensius is optional",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "The Licensius web service has been unstable lately. This led to long waits from the server, even with a timer on the request. Therefore retrieving the license using this service is now optional and loading metadata properties from the ontology is faster.\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.2.3",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.2.3",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.2.3",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/4659138",
+ "release_id": 4659138,
+ "date_created": "2016-11-15T03:11:37Z",
+ "date_published": "2016-11-15T03:17:26Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/2645844",
+ "name": "widoco-1.2.3-jar-with-dependencies.jar",
+ "content_size": 15411854,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.2.3/widoco-1.2.3-jar-with-dependencies.jar",
+ "encoding_format": "application/x-java-archive",
+ "upload_date": "2016-11-15T03:16:18Z",
+ "download_count": 91
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/3832172",
+ "tag": "v1.2.2",
+ "name": "Widoco 1.2.2: Major bug fixes and improvements",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version fixes the following issues/improvements:\n- 188: lang separator doesn't work on unix systems. Changed \";\" to \"-\" as separator\n- 189: return a non-zero value if there are problems generating the doc\n- 151: text area in the table should be bigger \n- 177: Ability to provide authors institution URI in the config \n- 155: allow possibility of adding Zenodo URI (DOI) \n- 132: could improve placeholder text\n- 174: Dynamic sections \n- 170: Check why isDefinedBy is not recognized sometimes\n- 171: Separate configuration from vocabulary metadata \n\nIn addition, I have fixed the custom style CSS, saving the publisher in the config file, producing an alt in images to avoid broken images when no connection is available and issues with the consistency in sections and back to toc titles.\n\nFinally, the toc will be now dynamic, so it will get updated if new headers with class \"list\" are added to the document.\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.2.2",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.2.2",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.2.2",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/3832172",
+ "release_id": 3832172,
+ "date_created": "2016-08-07T20:39:13Z",
+ "date_published": "2016-08-07T20:49:16Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/2111104",
+ "name": "widoco-1.2.2-jar-with-dependencies.jar",
+ "content_size": 15390961,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.2.2/widoco-1.2.2-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2016-08-08T08:22:33Z",
+ "download_count": 39
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/3701886",
+ "tag": "v1.2.1",
+ "name": "Widoco 1.2.1: Interface bug fixes",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "In this release a couple of bugs have been fixed.\nFirst, a bug that froze the program after hitting the \"back\" button, once the ontology properties had been loaded.\nAnother bug fix is that now \"publisher\" will not appear if it's not filled in the .properties file.\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.2.1",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.2.1",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.2.1",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/3701886",
+ "release_id": 3701886,
+ "date_created": "2016-07-20T16:54:43Z",
+ "date_published": "2016-07-20T16:58:10Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/2021317",
+ "name": "widoco-1.2.1-jar-with-dependencies.jar",
+ "content_size": 15363104,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.2.1/widoco-1.2.1-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2016-07-20T16:57:51Z",
+ "download_count": 27
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/3683077",
+ "tag": "v1.2.0",
+ "name": "Widoco 1.2.0: Extended metadata enrichment",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This version automatically extracts the properties \"publisher\" and \"versionIRI\" from the ontology. In addition, it adds a link to webVowl and fixes some minor issues.\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.2.0",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.2.0",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.2.0",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/3683077",
+ "release_id": 3683077,
+ "date_created": "2016-07-18T16:47:41Z",
+ "date_published": "2016-07-18T16:52:10Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/2007860",
+ "name": "widoco-1.2.0-jar-with-dependencies.jar",
+ "content_size": 15363881,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.2.0/widoco-1.2.0-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2016-07-18T16:51:55Z",
+ "download_count": 15
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/3673322",
+ "tag": "v1.1.1",
+ "name": "Widoco1.1.1: Integration with Licensius is back online",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This release contains the time outs for using Licensius (for retrieveing license names from the ontology) and OOPS! (for evaluation)\nIn addition, it also fixes some small issued with content negotiation when loading Prot\u00e9g\u00e9. By default, the .htaccess file will serve rdf/xml when asking for \\* / \\* and turtle when asking for text/*\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.1.1",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.1.1",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.1.1",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/3673322",
+ "release_id": 3673322,
+ "date_created": "2016-07-16T15:53:39Z",
+ "date_published": "2016-07-16T15:59:49Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/2000539",
+ "name": "widoco-1.1.1-jar-with-dependencies.jar",
+ "content_size": 15358279,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.1.1/widoco-1.1.1-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2016-07-16T16:09:51Z",
+ "download_count": 16
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/3599226",
+ "tag": "v1.1.0",
+ "name": "Content negotiation bundle",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "Now Widoco can create a content negotiation bundle that helps you deploy your vocabulary on your server. In addition, now different serializations of a vocabulary are saved locally, in order to facilitate users pointing to them.\n\nNote: due to time outs in Licensius, it is disabled in this version\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.1.0",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.1.0",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.1.0",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/3599226",
+ "release_id": 3599226,
+ "date_created": "2016-07-06T15:57:53Z",
+ "date_published": "2016-07-06T16:01:06Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/1950415",
+ "name": "widoco-1.1.0-jar-with-dependencies.jar",
+ "content_size": 15358060,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.1.0/widoco-1.1.0-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2016-07-06T16:00:40Z",
+ "download_count": 18
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ },
+ {
+ "result": {
+ "type": "Release",
+ "value": "https://api.github.com/repos/dgarijo/Widoco/releases/3263232",
+ "tag": "v1.0.0",
+ "name": "First stable release of Widoco",
+ "author": {
+ "name": "dgarijo",
+ "type": "User"
+ },
+ "description": "This release fixes multiple bugs from the earlier release, and allows customizing a label on the side with the current status of the document.\n\nThis version also improves how an ontology is loaded, applying content negotiation when necessary.\n",
+ "tarball_url": "https://api.github.com/repos/dgarijo/Widoco/tarball/v1.0.0",
+ "zipball_url": "https://api.github.com/repos/dgarijo/Widoco/zipball/v1.0.0",
+ "html_url": "https://github.com/dgarijo/Widoco/releases/tag/v1.0.0",
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/3263232",
+ "release_id": 3263232,
+ "date_created": "2016-05-19T16:43:03Z",
+ "date_published": "2016-05-19T16:49:39Z",
+ "assets": [
+ {
+ "url": "https://api.github.com/repos/dgarijo/Widoco/releases/assets/1712555",
+ "name": "widoco-1.0.0-jar-with-dependencies.jar",
+ "content_size": 15354399,
+ "content_url": "https://github.com/dgarijo/Widoco/releases/download/v1.0.0/widoco-1.0.0-jar-with-dependencies.jar",
+ "encoding_format": "application/octet-stream",
+ "upload_date": "2016-05-19T16:47:08Z",
+ "download_count": 23
+ }
+ ]
+ },
+ "confidence": 1,
+ "technique": "GitHub_API"
+ }
+ ],
+ "has_build_file": [
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/Dockerfile",
+ "type": "Url",
+ "format": "dockerfile"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/Dockerfile"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml",
+ "type": "Url",
+ "format": "pom.xml"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ }
+ ],
+ "citation": [
+ {
+ "result": {
+ "value": "title: \"WIDOCO: A Wizard for documenting ontologies\"\nlicense: Apache-2.0\nauthors:\n - family-names: Garijo\n given-names: Daniel\n orcid: \"http://orcid.org/0000-0003-0454-7145\"\ncff-version: 1.2.0\nmessage: \"If you use this software, please cite both the article from preferred-citation and the software itself.\"\npreferred-citation:\n authors:\n - family-names: Garijo\n given-names: Daniel\n title: \"WIDOCO: A wizard for documenting ontologies\"\n type: article\n year: 2017\n doi: 10.1007/978-3-319-68204-4_9\nidentifiers:\n - description: \"Collection of archived snapshots for WIDOCO\"\n type: doi\n value: 10.5281/zenodo.591294\n",
+ "type": "File_dump",
+ "identifier": [
+ {
+ "description": "Collection of archived snapshots for WIDOCO",
+ "type": "doi",
+ "value": "10.5281/zenodo.591294"
+ }
+ ],
+ "author": [
+ {
+ "type": "Agent",
+ "name": "Daniel Garijo",
+ "family_name": "Garijo",
+ "given_name": "Daniel",
+ "url": "http://orcid.org/0000-0003-0454-7145"
+ }
+ ],
+ "title": "WIDOCO: A Wizard for documenting ontologies",
+ "url": "https://doi.org/10.5281/zenodo.591294",
+ "doi": "10.1007/978-3-319-68204-4_9",
+ "format": "cff",
+ "datePublished": "2017"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/CITATION.cff"
+ },
+ {
+ "result": {
+ "value": "WIDOCO: a wizard for documenting ontologies",
+ "title": "WIDOCO: a wizard for documenting ontologies",
+ "type": "Scholarly_article",
+ "url": "http://dgarijo.com/papers/widoco-iswc2017.pdf",
+ "date_published": "2017",
+ "doi": "10.1007/978-3-319-68204-4_9"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ },
+ {
+ "result": {
+ "value": "@inproceedings{garijo2017widoco,\n url = {http://dgarijo.com/papers/widoco-iswc2017.pdf},\n funding = {USNSF ICER-1541029, NIH 1R01GM117097-01},\n doi = {10.1007/978-3-319-68204-4_9},\n organization = {Springer, Cham},\n year = {2017},\n pages = {94--102},\n booktitle = {International Semantic Web Conference},\n author = {Garijo, Daniel},\n title = {WIDOCO: a wizard for documenting ontologies},\n}",
+ "type": "Text_excerpt",
+ "format": "bibtex",
+ "doi": "10.1007/978-3-319-68204-4_9",
+ "title": "WIDOCO: a wizard for documenting ontologies",
+ "author": "Garijo, Daniel",
+ "url": "http://dgarijo.com/papers/widoco-iswc2017.pdf"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+ ],
+ "package_id": [
+ {
+ "result": {
+ "value": "es.oeg.widoco",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ }
+ ],
+ "version": [
+ {
+ "result": {
+ "value": "1.4.26",
+ "type": "Release"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "v1.4.25",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ }
+ ],
+ "requirements": [
+ {
+ "result": {
+ "value": "org.apache.maven.maven-model",
+ "name": "maven-model",
+ "version": "3.9.0",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "org.jsoup.jsoup",
+ "name": "jsoup",
+ "version": "1.17.2",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "com.github.VisualDataWeb.OWL2VOWL",
+ "name": "OWL2VOWL",
+ "version": "0.3.5",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "org.slf4j.slf4j-api",
+ "name": "slf4j-api",
+ "version": "1.7.30",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "org.slf4j.slf4j-simple",
+ "name": "slf4j-simple",
+ "version": "1.7.30",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "net.sf.saxon.Saxon-HE",
+ "name": "Saxon-HE",
+ "version": "9.4",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "net.sourceforge.owlapi.owlapi-distribution",
+ "name": "owlapi-distribution",
+ "version": "5.1.18",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "com.googlecode.json-simple.json-simple",
+ "name": "json-simple",
+ "version": "1.1",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "junit.junit",
+ "name": "junit",
+ "version": "4.13.1",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "org.hamcrest.hamcrest-core",
+ "name": "hamcrest-core",
+ "version": "1.3",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "Just add the dependency and repository to your `pom.xml` file as follows. See the [WIDOCO JitPack](https://jitpack.io/#dgarijo/Widoco) page to find alternative means to incorporate WIDOCO to your project.\n\n```xml\n\n \n com.github.dgarijo\n Widoco\n v1.4.24\n \n\n\n[ ... ]\n\n\n\t\n\t jitpack.io\n\t https://jitpack.io\n\t\n\n```",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ },
+ {
+ "result": {
+ "value": "You will need Java 1.8 or higher (SDK 1.8 or JRE 8) for WIDOCO to work\nOtherwise, you will probably experience an \"Unsupported major.minor version 52.0\" exception when executing the JAR file.",
+ "type": "Software_application"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ },
+ {
+ "result": {
+ "value": "Just add the dependency and repository to your `pom.xml` file as follows. See the [WIDOCO JitPack](https://jitpack.io/#dgarijo/Widoco) page to find alternative means to incorporate WIDOCO to your project.\n\n```xml\n\n \n com.github.dgarijo\n Widoco\n v1.4.24\n \n\n\n[ ... ]\n\n\n\t\n\t jitpack.io\n\t https://jitpack.io\n\t\n\n```\n",
+ "type": "Text_excerpt",
+ "original_header": "Importing WIDOCO as a dependency",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "value": "You will need Java 1.8 or higher (SDK 1.8 or JRE 8) for WIDOCO to work\nOtherwise, you will probably experience an \"Unsupported major.minor version 52.0\" exception when executing the JAR file.\n",
+ "type": "Text_excerpt",
+ "original_header": "Requirements",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+ ],
+ "package_distribution": [
+ {
+ "result": {
+ "value": "jitpack.io",
+ "url": "https://jitpack.io",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ },
+ {
+ "result": {
+ "value": "unknown-jars-temp-repo",
+ "name": "A temporary repository created by NetBeans for libraries and jars it could not identify. Please replace the dependencies in this repository with correct ones and delete this repository.",
+ "url": "file:${project.basedir}/lib",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ }
+ ],
+ "runtime_platform": [
+ {
+ "result": {
+ "value": "Java: 1.8",
+ "version": "1.8",
+ "name": "Java",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ }
+ ],
+ "has_package_file": [
+ {
+ "result": {
+ "value": "pom.xml",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/pom.xml"
+ }
+ ],
+ "readme_url": [
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ }
+ ],
+ "contributing_guidelines": [
+ {
+ "result": {
+ "value": "## Contribution guidelines\nContributions to address any of the current issues are welcome. In order to push your contribution, just **push your pull request to the develop branch**. The master branch has only the code associated to the latest release. \n",
+ "type": "File_dump"
+ },
+ "confidence": 1,
+ "technique": "file_exploration",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/CONTRIBUTING.md"
+ }
+ ],
+ "identifier": [
+ {
+ "result": {
+ "value": "https://doi.org/10.5281/zenodo.11093793",
+ "type": "String"
+ },
+ "confidence": 1,
+ "technique": "code_parser",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/codemeta.json"
+ },
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://doi.org/10.5281/zenodo.11093793"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://archive.softwareheritage.org/swh:1:rev:fec66b89a4f4acb015a44c7f8cb671d49bec626a"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+ ],
+ "continuous_integration": [
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/.github/workflows/ci.yml",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ }
+ ],
+ "ontologies": [
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/otalex.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/ebg-ontology_edited.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/p-plan.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/bne.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/NBAMovementsv2%20-%20copia.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/System.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/retele.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/geolinkeddata.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/contaminacion-acustica.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/instrument.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/IFC4_ADD1.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/disk.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/oa.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/ssn.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/Tissue.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/wot.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/charity_org_rdf_new.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/schema_sample.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/smartProtocol.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/ontosoft-v1.0.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/IFC4_ADD1_wrongImport.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/saref4envi.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/retele-share.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/coil.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/NBAMovementsv2.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/diff/coreNew.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/diff/coilNew.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/diff/coilOld.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/diff/coreOld.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/LinkedEarth/sensor.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/LinkedEarth/observation.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/LinkedEarth/archive.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/LinkedEarth/instrument.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/LinkedEarth/inferredVariables.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/LinkedEarth/core.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/RO/roevo.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/RO/roterms.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/RO/wf4ever.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/RO/wfdesc.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/RO/ro.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/RO/wfprov.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/benchmark/Disk/disk.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/vocabulary/1.0.0/ontology.nt",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/vocabulary/1.0.0/ontology.owl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ },
+ {
+ "result": {
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/doc/vocabulary/1.0.0/ontology.ttl",
+ "type": "Url"
+ },
+ "confidence": 1,
+ "technique": "file_exploration"
+ }
+ ],
+ "type": [
+ {
+ "result": {
+ "value": "commandline-application",
+ "type": "String"
+ },
+ "confidence": 0.82,
+ "technique": "software_type_heuristics"
+ }
+ ],
+ "download": [
+ {
+ "result": {
+ "value": "To download WIDOCO, you need to download a JAR executable file. Check the latest release for more details: (https://github.com/dgarijo/WIDOCO/releases/latest).\n",
+ "type": "Text_excerpt",
+ "original_header": "Downloading the executable",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+ ],
+ "usage": [
+ {
+ "result": {
+ "value": "Examples of the features of WIDOCO can be seen on [the gallery](https://dgarijo.github.io/Widoco/doc/gallery/)\n",
+ "type": "Text_excerpt",
+ "original_header": "Examples",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "value": "A tutorial explaining the main features of the GUI can be found [here](https://dgarijo.github.io/Widoco/doc/tutorial/) \n",
+ "type": "Text_excerpt",
+ "original_header": "GUI Tutorial",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "value": "To see how WIDOCO recognizes metadata annotations in your ontology to create the documentation files, see [the WIDOCO metadata documentation](doc/metadataGuide/guide.md). To learn which metadata properties we recommend adding to your ontology for producing a nice-looking documentation, have a look at our [best practices guide](https://dgarijo.github.io/Widoco/doc/bestPractices/index-en.html).\n\nFor example, in order to show your logo in your documentation you just need to use `foaf:logo` as an annotation, as follows:\n```\n@prefix owl: .\n@prefix foaf: .\n a owl:Ontology ;\n foaf:logo .\n```\n\nand it will show right next to the title. The [WIDOCO metadata documentation](doc/metadataGuide/guide.md) shows all supported metadata fields.\n",
+ "type": "Text_excerpt",
+ "original_header": "Metadata usage",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "value": "We provide JAR files for each release (see the [releases](https://github.com/dgarijo/Widoco/releases) page). However, if you want to build WIDOCO from scratch, just cd into the project folder and run:\n\n```bash\nmvn install\n```\nThe JAR will be generated in a \"JAR\" folder. The name will follow the pattern: `widoco-{VERSION_ID}-jar-with-dependencies.jar`, where {VERSION_ID} is the version number of the tool.\n",
+ "type": "Text_excerpt",
+ "original_header": "Building the JAR executable",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)",
+ "How to use WIDOCO"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "value": "Download the latest `.jar` [WIDOCO available release](https://github.com/dgarijo/WIDOCO/releases/latest) (it will be something like `widoco-VERSION-jar-with-dependencies.jar`). Then just double click the `.jar` file.\n\nYou may also execute WIDOCO through the command line. Usage:\n```bash\njava -jar widoco-VERSION-jar-with-dependencies.jar [OPTIONS]\n```\n",
+ "type": "Text_excerpt",
+ "original_header": "JAR execution",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)",
+ "How to use WIDOCO"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "value": "If you don't want to use the JAR directly, you may run the project using a [Docker container](https://www.docker.com/). First you will need to download or build the image, and then run it.\n",
+ "type": "Text_excerpt",
+ "original_header": "Docker execution",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)",
+ "How to use WIDOCO"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "value": "We build containers in the [GitHub image registry](https://github.com/dgarijo/Widoco/pkgs/container/widoco) for all latest releases. In order to import one, just run the following command, stating the version of Widoco you prefer (e.g., for v1.4.23):\n\n```\ndocker pull ghcr.io/dgarijo/widoco:v1.4.23\n```\n\nTo browse all available images, see the [GitHub image registry](https://github.com/dgarijo/Widoco/pkgs/container/widoco).\n",
+ "type": "Text_excerpt",
+ "original_header": "Reusing a pre-existing image",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)",
+ "How to use WIDOCO",
+ "Docker execution"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "value": "Build the image using the `Dockerfile` in project folder:\n\n```bash\ndocker build -t dgarijo/widoco .\n```\n",
+ "type": "Text_excerpt",
+ "original_header": "Building the image yourself",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)",
+ "How to use WIDOCO",
+ "Docker execution"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ },
+ {
+ "result": {
+ "value": "`-analytics CODE`: Add a code snippet for Google analytics to track your HTML documentation. You need to add your CODE next to the flag. For example: UA-1234\n\n`-confFile PATH`: Load your own configuration file for the ontology metadata. Use this option if you want to load your own HTML sections as well. Incompatible with -getOntologyMetadata. See [the configuration documentation](doc/configuration/configuration_doc.md) for more information about the accepted fields.\n\n`-crossRef`: ONLY generate the overview and cross reference sections. The index document will NOT be generated. The htaccess, provenance page, etc., will not be generated unless requested by other flags. This flag is intended to be used only after a first version of the documentation exists.\n\n`-displayDirectImportsOnly`: Only those imported ontologies that are directly imported in the ontology being documented.\n\n`-doNotDisplaySerializations`: The serializations of the ontology will not be displayed.\n\n`-excludeIntroduction`: Skip the introduction section in the documentation.\n\n`-excludeProvenance`: Do not add the link \"Provenance of this page\" in the metadata header section\n\n`-getOntologyMetadata`: Extract ontology metadata from the given ontology\n\n`--help`: Shows a help message and exits.\n\n`-htaccess`: Create a bundle for publication ready to be deployed on your Apache server.\n\n\n`-ignoreIndividuals`: Individuals will not be included in the documentation.\n\n`-includeAnnotationProperties`: Include annotation properties defined in your ontology in the documentation (by default they are not included)\n\n`-includeImportedOntologies`: Indicates whether the terms of the imported ontologies of the current ontology should be documented as well or not.\n\n`-import`: imports a local ontology (e.g., if you don't want to load an online ontology, you may load its local version)\n\n`-lang LANG1-LANG2`: Generate documentation in multiple languages (separated by \"-\"). Note that if the language is not supported, the system will load the labels in english. For example: en-pt-es\n\n`-licensius`: Use the Licensius web services (http://licensius.com/apidoc/index.html) to retrieve license metadata. Only works if the -getOntologyMetadata flag is enabled.\n\n`-noPlaceHolderText`: Do not add any placeholder text (this will remove intro, abstract (if empty) and description sections).\n\n`-ontFile PATH` [required (unless -ontURI is used)]: Load a local ontology file (from PATH) to document. This option is incompatible with -ontURI\n\n`-outFolder folderName`: Specifies the name of the folder where to save the documentation. By default is 'myDocumentation'\n\n`-ontURI URI` [required (unless -ontFile is used)]: Load an ontology to document from its URI. This option is incompatible with -ontFile\n\n`-oops`: Create an html page with the evaluation from the OOPS service (http://oops.linkeddata.es/)\n\n`-rewriteAll`: Replace any existing files when documenting an ontology (e.g., from a previous execution)\n\n`-rewriteBase PATH`: Change the default rewrite base path. The default value is \"/\". This flag can only be used with the htaccess option.\n\n`-saveConfig PATH`: Save a configuration file on PATH with the properties of a given ontology\n\n`-uniteSections`: Write all HTML sections into a single HTML document.\n\n`-useCustomStyle`: Export the documentation using alternate css files (by Daniel Vila).\n\n`--version`: Shows the current version of WIDOCO.\n\n`-webVowl`: Create a visualization based on WebVowl (http://vowl.visualdataweb.org/webvowl/index.html#) in the documentation.\n\n",
+ "type": "Text_excerpt",
+ "original_header": "Execution options",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)",
+ "How to use WIDOCO"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+ ],
+ "run": [
+ {
+ "result": {
+ "value": "You can now execute WIDOCO through the command line. Usage:\n\n```bash\ndocker run -ti --rm dgarijo/widoco [OPTIONS]\n```\n\n**Note:** If you downloaded the image from the GitHub registry, you will have to change `dgarijo/widoco` with the name of the image you downloaded. For example `ghcr.io/dgarijo/widoco:v1.4.23`.\n\nIf you want to share data between the Docker Container and your Host, for instance to load a local ontology file (from PATH), you will need to mount the container\nwith host directories. For instance:\n\n```bash\ndocker run -ti --rm \\\n -v `pwd`/test:/usr/local/widoco/in:Z \\\n -v `pwd`/target/generated-doc:/usr/local/widoco/out:Z \\\n dgarijo/widoco -ontFile in/bne.ttl -outFolder out -rewriteAll\n```\n",
+ "type": "Text_excerpt",
+ "original_header": "Running WIDOCO's image",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)",
+ "How to use WIDOCO",
+ "Docker execution"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+ ],
+ "documentation": [
+ {
+ "result": {
+ "value": "WIDOCO separates the contents of different sections in HTML files, which are then loaded in the `index.html` file. WIDOCO was designed this way because it's easier to edit your introduction or description sections independently without being all aggregated together in a huge HTML document. **When all the contents generated by WIDOCO are stored in a server, you will be able to see the documentation of your ontology using any browser**. However, if you open the `index.html` file **on your local browser**, you may see a document missing most of the sections in your documentation. This happens because browsers don't allow loading separate content when opening a file locally for security reasons. If you want to explore how your ontology would look locally, you have two options:\n\n* a) Execute WIDOCO with the `-uniteSections` flag; or select the option `add al sections in a single document` in the \"load sections\" step in the WIDOCO GUI. This will make all the sections of WIDOCO to be in the `index.html`; and you will be able to see it in your browser. Note that the **LODE visualization will not be available** when exploring your ontology locally.\n* b) Create a local server: Set up a local server (e.g., using XAMPP or Tomcat) and serve the files WIDOCO generates (in the `htdocs` folder for Apache servers).\n\nIf you place the files generated by WIDOCO in a server and access them via its URL (for example, a Github page), you should be able to see your documentation appropriately.\n",
+ "type": "Text_excerpt",
+ "original_header": "Browser issues (Why can't I see the generated documentation / visualization?)",
+ "parent_header": [
+ "WIzard for DOCumenting Ontologies (WIDOCO)"
+ ]
+ },
+ "confidence": 1,
+ "technique": "header_analysis",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+ ],
+ "application_domain": [
+ {
+ "result": {
+ "type": "String",
+ "value": "Semantic web"
+ },
+ "confidence": 0.921888526958785,
+ "technique": "supervised_classification"
+ }
+ ],
+ "full_title": [
+ {
+ "result": {
+ "type": "String",
+ "value": "WIzard for DOCumenting Ontologies (WIDOCO)"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+ ],
+ "repository_status": [
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://www.repostatus.org/#active",
+ "description": "Active \u2013 The project has reached a stable, usable state and is being actively developed."
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+ ],
+ "logo": [
+ {
+ "result": {
+ "type": "Url",
+ "value": "https://raw.githubusercontent.com/dgarijo/Widoco/master/src/main/resources/logo/logo2.png"
+ },
+ "confidence": 1,
+ "technique": "regular_expression",
+ "source": "https://raw.githubusercontent.com/dgarijo/Widoco/master/README.md"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/somef_core/test/test_data/authors_files/docker_AUTHORS 2.txt b/src/somef_core/test/test_data/authors_files/docker_AUTHORS 2.txt
new file mode 100644
index 0000000..3d3fe3c
--- /dev/null
+++ b/src/somef_core/test/test_data/authors_files/docker_AUTHORS 2.txt
@@ -0,0 +1,718 @@
+# This file lists all individuals having contributed content to the repository.
+# For how it is generated, see `project/generate-authors.sh`.
+
+Aanand Prasad
+Aaron Feng
+Aaron Huslage
+Abel Muiño
+Abhinav Ajgaonkar
+Abin Shahab
+Adam Miller
+Adam Singer
+Aditya
+Adrian Mouat
+Adrien Folie
+Ahmet Alp Balkan
+AJ Bowen
+alambike
+Alan Thompson
+Albert Callarisa
+Albert Zhang
+Aleksa Sarai
+Alexander Larsson
+Alexander Shopov
+Alexandr Morozov
+Alexey Kotlyarov
+Alexey Shamrin
+Alex Gaynor
+Alexis THOMAS
+Alex Warhawk
+almoehi
+Al Tobey
+Álvaro Lázaro
+amangoel
+Amit Bakshi
+AnandkumarPatel
+Anand Patil
+Andrea Luzzardi
+Andreas Köhler
+Andreas Savvides
+Andreas Tiefenthaler
+Andrea Turli
+Andre Dublin <81dublin@gmail.com>
+Andrew Duckworth
+Andrew France
+Andrew Macgregor
+Andrew Munsell
+Andrews Medina
+Andrew Weiss
+Andrew Williams
+Andrey Petrov
+Andrey Stolbovsky
+Andy Chambers
+andy diller
+Andy Goldstein
+Andy Kipp
+Andy Rothfusz
+Andy Smith
+Andy Wilson
+Anthony Bishopric
+Anton Löfgren
+Anton Nikitin
+Antony Messerli
+apocas
+ArikaChen
+Arnaud Porterie
+Arthur Gautier
+Asbjørn Enge
+averagehuman
+Avi Miller
+Barnaby Gray
+Barry Allard
+Bartłomiej Piotrowski
+bdevloed
+Ben Firshman
+Benjamin Atkin
+Benoit Chesneau
+Ben Sargent
+Ben Toews
+Ben Wiklund
+Bernerd Schaefer
+Bert Goethals
+Bhiraj Butala
+bin liu
+Blake Geno
+Bouke Haarsma
+Boyd Hemphill
+Brandon Liu
+Brandon Philips
+Brandon Rhodes
+Brett Kochendorfer
+Brian (bex) Exelbierd
+Brian Dorsey
+Brian Flad
+Brian Goff
+Brian McCallister
+Brian Olsen
+Brian Shumate
+Brice Jaglin
+Briehan Lombaard
+Bruno Bigras
+Bruno Binet
+Bruno Renié
+Bryan Bess
+Bryan Matsuo
+Bryan Murphy
+Burke Libbey
+Byung Kang
+Caleb Spare
+Calen Pennington
+Cameron Boehmer
+Carl X. Su
+Charles Hooper
+Charles Lindsay
+Charles Merriam
+Charlie Lewis
+Chewey
+Chia-liang Kao
+Chris Alfonso
+Chris Armstrong
+chrismckinnel
+Chris Snow
+Chris St. Pierre
+Christian Berendt
+ChristoperBiscardi
+Christopher Currie
+Christopher Rigor
+Christophe Troestler
+Ciro S. Costa
+Clayton Coleman
+Colin Dunklau
+Colin Rice
+Colin Walters
+Cory Forsyth
+cressie176
+Cruceru Calin-Cristian
+Daan van Berkel
+Daehyeok.Mun
+Dafydd Crosby
+Dan Buch
+Dan Cotora
+Dan Griffin
+Dan Hirsch
+Daniel, Dao Quang Minh
+Daniel Exner
+Daniel Farrell
+Daniel Garcia
+Daniel Gasienica
+Daniel Menet
+Daniel Mizyrycki
+Daniel Norberg
+Daniel Nordberg