Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nasa-pds/pds4-information-model
The software tools and data necessary for generating the Information Model including PDS4 ontology, data, and information model.
https://github.com/nasa-pds/pds4-information-model
data-model nasa nasa-pds pds pds4
Last synced: 3 days ago
JSON representation
The software tools and data necessary for generating the Information Model including PDS4 ontology, data, and information model.
- Host: GitHub
- URL: https://github.com/nasa-pds/pds4-information-model
- Owner: NASA-PDS
- License: other
- Created: 2019-07-24T22:19:57.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-11-06T08:24:16.000Z (7 days ago)
- Last Synced: 2024-11-06T09:27:25.075Z (7 days ago)
- Topics: data-model, nasa, nasa-pds, pds, pds4
- Language: HTML
- Homepage: https://nasa-pds.github.io/pds4-information-model/
- Size: 56.3 MB
- Stars: 10
- Watchers: 10
- Forks: 7
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# ðŠ NASA PDS4 Information Model Repo
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5755795.svg)](https://doi.org/10.5281/zenodo.5755795) [![ðĪŠ Unstable integration & delivery](https://github.com/NASA-PDS/pds4-information-model/actions/workflows/unstable-cicd.yaml/badge.svg)](https://github.com/NASA-PDS/pds4-information-model/actions/workflows/unstable-cicd.yaml) [![ð Stable integration & delivery](https://github.com/NASA-PDS/pds4-information-model/actions/workflows/stable-cicd.yaml/badge.svg)](https://github.com/NASA-PDS/pds4-information-model/actions/workflows/stable-cicd.yaml)
The software tools and data necessary for generating the Information Model including PDS4 ontology, data, and information model.
Please visit our website at https://nasa-pds.github.io/pds4-information-model/ for information about the modules that comrpise the information model.
## ðĨ Contributing
Within the NASA Planetary Data System, we value the health of our community as much as the code. Towards that end, we ask that you read and practice what's described in these documents:
- Our [contributor's guide](https://github.com/NASA-PDS/.github/blob/main/CONTRIBUTING.md) delineates the kinds of contributions we accept.
- Our [code of conduct](https://github.com/NASA-PDS/.github/blob/main/CODE_OF_CONDUCT.md) outlines the standards of behavior we practice and expect by everyone who participates with our software.## ð Installation
Installation instructions are broken into sections for _operational_ and _development_ installations.
### Operational
For operational installation of LDDTool, see the deployed documentation for installation instructions: https://nasa-pds.github.io/pds4-information-model/model-lddtool/install/index.html
### Development
For development installation, use maven:
```console
$ # Package the software
$ mvn clean package$ # Generate the site (must run package first)
$ mvn site:site site:stage$ # To view generated docs
$ open target/staging/model/index.html
```### Testing
Tests are ran using Cucumber and Maven.
#### Running Tests
```bash
# Package the software
mvn clean package# Run Cucumber tests
mvn clean test
```#### Adding New Tests
To add additional tests:
- Create a directory within the [resources](model-lddtool/src/test/resources) directory and place your test data there
- In either the [developer](model-lddtool/src/test/resources/features/developer.feature) or [integration](model-lddtool/src/test/resources/features/integration.feature) feature file, add your test case to the table under `Examples`. For example,```feature
| testName | resourceDirectory | testDirectory | commandArgs | expectedResponse |
| "NASA-PDS/pds4-information-model#738 LDDTool is not creating valid URL for KPLO" | "src/test/resources" | "github738" | "-lpJ {resourceDirectory}/{testDirectory}/PDS4_KPLO_IngestLDD.xml" | "0 error(s)" |
```### Update Site Documentation
To update the site documentation, see each components `src/site` directory (this is common for all Java Maven software):
| Component | Site Directory | Online Documentation |
|-----------|----------------|----------------------|
| Top-level Page | `src/site` | https://nasa-pds.github.io/pds4-information-model/ |
| LDDTool | `model-lddtool/src/site` | https://nasa-pds.github.io/pds4-information-model/model-lddtool/ |
| DMDocument | `model-dmdocument/src/site` | https://nasa-pds.github.io/pds4-information-model/model-dmdocument/ |
| Ontology | `model-ontology/src/site` | https://nasa-pds.github.io/pds4-information-model/model-ontology/ |### Detect Secrets
The Planetary Data System's Engineering Node uses [detect-secrets](https://github.com/Yelp/detect-secrets), specifically a version forked by the [SLIM Team](https://nasa-ammos.github.io/slim/), called [slim-detect-secrets](https://github.com/NASA-AMMOS/slim-detect-secrets/tree/exp). This tool replaces Git Secrets but serves the same purpose: it helps prevent committing information to a repository that should remain secret. Unlike Git Secrets, though, the kinds of secrets detect-secrets finds includes not just passwords or API keys, but also hostnames and email addresses. It also uses entropy analysis to detect randomized strings that could be passwords.
To install, [see the wiki](https://github.com/NASA-PDS/nasa-pds.github.io/wiki/Git-and-Github-Guide#detect-secrets). To update a new `.secrets.baseline` file, run the custom script in the repo to generate the secrets. https://github.com/NASA-PDS/pds4-information-model/tree/main/bin. This is needed because there are numerous additional files that should be ignored in this repo.
## ðââïļ Usage
See the deployed documentation for usage details for the various components: https://nasa-pds.github.io/pds4-information-model/
## ðĨ Contributing
Please see the [contribution guidelines](https://github.com/NASA-PDS/.github/blob/main/CONTRIBUTING.md) but also be sure to see our [code of conduct](https://github.com/NASA-PDS/.github/blob/main/CODE_OF_CONDUCT.md).
### ðĒ Versioning
We use the [SemVer](https://semver.org/) philosophy for versioning this software.
## ð License
The project is licensed under the [Apache version 2](LICENSE.md) license.