SOLI Python Library
The SOLI Python Library provides a simple and efficient way to interact with the Standard for Open Legal Information (SOLI) ontology.
SOLI is an open, CC-BY licensed standard designed to represent universal elements of legal data, improving communication and data interoperability across the legal industry.
Features
- Load the SOLI ontology from GitHub or a custom HTTP URL
- Search for classes by label or definition
- Get subclasses and parent classes
- Access detailed information about each class, including labels, definitions, and examples
- Convert classes to OWL XML or Markdown format
Changelog
The changelog can be found at CHANGES.md.
Installation
You can install the SOLI Python library using pip:
pip install soli-python
For the latest development version, you can install directly from GitHub:
pip install --upgrade https://github.com/alea-institute/soli-python/archive/refs/heads/main.zip
Quick Start
Here's a simple example to get you started with the SOLI Python library:
from soli import SOLI
soli = SOLI()
results = soli.search_by_prefix("Mich")
for owl_class in results:
print(f"Class: {owl_class.label}")
results = soli.search_by_label("Mich")
for owl_class, score in results:
print(f"Class: {owl_class.label}, Score: {score}")
areas_of_law = soli.get_areas_of_law()
for area in areas_of_law:
print(area.label)
Searching with an LLM
async def search_example():
for result in await soli.parallel_search_by_llm(
"redline lease agreement",
search_sets=[
soli.get_areas_of_law(max_depth=1),
soli.get_player_actors(max_depth=2),
],
):
print(result)
import asyncio
asyncio.run(search_example())
LLM search uses the alea_llm_client
to provide abstraction across multiple APIs and providers.
Documentation
For more detailed information about using the SOLI Python library, please refer to our full documentation.
Contributing
We welcome contributions to the SOLI Python library! If you'd like to contribute, please follow these steps:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes and write tests if applicable
- Run the test suite to ensure everything is working
- Submit a pull request with a clear description of your changes
For more information, see our contribution guidelines.
SOLI API
A public, freely-accessible API is available for the SOLI ontology.
The API is hosted at https://soli.openlegalstandard.org/.
The source code for the API is available on GitHub at https://github.com/alea-institute/soli-api.
License
The SOLI Python library is released under the MIT License. See the LICENSE file for details.
Support
If you encounter any issues or have questions about using the SOLI Python library, please open an issue on GitHub.
Learn More
To learn more about SOLI, its development, and how you can get involved, visit the SOLI website or join the SOLI community forum.