Skip to main content

SOFT7 semantic interoperability framework.

Project description

SOFT7

OTEAPI plugin

The soft7 packages comes with an OTEAPI plugin that allows one to convert any core parser data to a SOFT7 Entity instance.

To use the plugin, call the 'soft7' functionType function strategy.

Test the plugin

At the root of the repository is a Docker Compose file, which, when run, will start an OTEAPI Service that includes the soft7 OTEAPI plugin.

To start the service, run:

docker compose pull
docker compose up -d

To follow along with the installation of the soft7 package and startup of the OTEAPI Service, run:

docker logs -f soft7-oteapi-1

Press Ctrl+C to stop following the logs.

To eventually stop the services, run:

docker compose down

But first, let's test the plugin.

Open a Python shell, an IPython shell, or a Jupyter Notebook, and run:

from s7.factories import create_datasource

# Let us use an OPTIMADE structure from the Materials Project as our "raw" data source.
# The chosen structure is mp-1228448 (Al2O3):
# https://materialsproject.org/materials/mp-1228448/
# For more information about OPTIMADE, see https://www.optimade.org/
# For more information about the Materials Project, see https://materialsproject.org/
dataresource_config = {
    "downloadUrl": (
        "https://optimade.materialsproject.org/v1/structures/mp-1228448?"
        "response_format=json"
    ),
    "mediaType": "application/json",
}

# We need to setup a mapping configuration to tell the plugin how to map the OPTIMADE
# structure to a SOFT7 Entity instance.
# This requires knowledge of the OPTIMADE structure and the SOFT7 Entity.
# In our case the OPTIMADE structure specification is available at
# https://github.com/Materials-Consortia/OPTIMADE/blob/v1.1.0/optimade.rst#structures-entries
# and the SOFT7 Entity of choice is the `OPTIMADEStructure` Entity, which can be found
# at http://onto-ns.com/meta/1.0/OPTIMADEStructure
mapping_config = {
    "mappingType": "triples",
    "prefixes": {
        "optimade": "https://optimade.materialsproject.org/v1/structures/mp-1228448#",
        "soft7": "http://onto-ns.com/meta/1.0/OPTIMADEStructure#",
    },
    "triples": {
        ("optimade:data.id", "", "soft7:properties.id"),
        ("optimade:data.type", "", "soft7:properties.type"),
        ("optimade:data.attributes", "", "soft7:properties."),
    }
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

soft7-0.1.0.tar.gz (67.6 kB view details)

Uploaded Source

Built Distribution

soft7-0.1.0-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

Details for the file soft7-0.1.0.tar.gz.

File metadata

  • Download URL: soft7-0.1.0.tar.gz
  • Upload date:
  • Size: 67.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for soft7-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a366c3b954b5a2090ecfaf5a933e2746b138a8b1450f7b648d3886e6447d4b81
MD5 775fa4303778a3fc44bf98632d19890a
BLAKE2b-256 44ede8511e46372025a58c9ea83c4d39302af8f34db2c86c45cf24a154b427ae

See more details on using hashes here.

File details

Details for the file soft7-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: soft7-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for soft7-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ef530b0c2e8be5175d68367215ae9f2f0eefb069509c0d064743047f1d37714
MD5 88d6f60da110d1dcc0bd50a5e447cd5c
BLAKE2b-256 bab3e26f9ec2af3a39217360fd5257abb0e1cca75d44336cffbed5a84aa9e843

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page