https://github.com/kurokio/soso-spase
For creating Science On Schema.Org (SOSO) markup in dataset landing pages to improve data discovery through search engines.
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.0%) to scientific vocabulary
Last synced: 4 months ago
·
JSON representation
Repository
For creating Science On Schema.Org (SOSO) markup in dataset landing pages to improve data discovery through search engines.
Basic Info
- Host: GitHub
- Owner: Kurokio
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://soso.readthedocs.io/
- Size: 56.3 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 0
Fork of clnsmth/soso
Created about 1 year ago
· Last pushed 5 months ago
https://github.com/Kurokio/soso-spase/blob/main/
# soso
[](https://www.repostatus.org/#wip)

[](https://codecov.io/github/clnsmth/soso)
[](https://zenodo.org/badge/latestdoi/666558073)

For converting dataset metadata into [Science On Schema.Org](https://github.com/ESIPFed/science-on-schema.org) markup.
## Quick Start
### Installation
Install from PyPI:
$ pip install soso
### Metadata Conversion
To perform a conversion, specify the file path of the metadata and the desired conversion strategy. Each metadata standard corresponds to a specific strategy.
>>> from soso.main import convert
>>> r = convert(file='metadata.xml', strategy='EML')
>>> r
'{"@context": {"@vocab": "https://schema.org/", "prov": "http://www. ...}'
For a list of available strategies, please refer to the documentation of the `convert` function.
### Adding Unmappable Properties
Some SOSO properties may not be derived from metadata records alone. In such cases, additional information can be provided via `kwargs`, where keys match the top level property name, and values are the property value.
For example, the `url` property representing the landing page URL does not exist in an EML metadata record. But this information is known to the repository hosting the dataset.
>>> kwargs = {'url': 'https://sample-data-repository.org/dataset/472032'}
>>> r = convert(file='metadata.xml', strategy='EML', **kwargs)
>>> r
'{"@context": {"@vocab": "https://schema.org/", "prov": "http://www. ...}'
It's worth noting that this `kwargs` approach is not limited to supplying unmappable properties; it can be utilized to override any top-level SOSO property.
Unmappable properties are listed in the strategy documentation.
### Other Modifications
Any additional modifications can be made to the resulting JSON-LD string before it is used. Simply parse the string into a Python dictionary, make the necessary changes, and then convert it back to a JSON-LD string.
### Shared Conversion Scripts
When data repositories use a common metadata standard and adopt shared infrastructure, such as databases containing ancillary information, a shared conversion script can be used. These scripts reliably reference the shared infrastructure to create a richer SOSO record by incorporating this additional information. Below is a list of available scripts and their usage examples:
- [SPASE-schema.org Conversion Script](https://soso.readthedocs.io/en/latest/user/examples/spase-HowToConvert.html)
## API Reference and User Guide
The API reference and user guide are available on [Read the Docs](https://soso.readthedocs.io).
## Code of Conduct
In the spirit of collaboration, we emphasize the importance of maintaining a respectful and inclusive environment.
See the [Code of Conduct](https://soso.readthedocs.io/en/latest/dev/conduct.html#conduct) for details.
Owner
- Name: Zach Boquet
- Login: Kurokio
- Kind: user
- Repositories: 1
- Profile: https://github.com/Kurokio
GitHub Events
Total
- Issues event: 5
- Delete event: 1
- Issue comment event: 3
- Push event: 86
- Pull request review event: 1
- Pull request event: 8
- Fork event: 2
- Create event: 2
Last Year
- Issues event: 5
- Delete event: 1
- Issue comment event: 3
- Push event: 86
- Pull request review event: 1
- Pull request event: 8
- Fork event: 2
- Create event: 2