Glazing¶
Unified data models and interfaces for syntactic and semantic frame ontologies.
Overview¶
Glazing provides a unified, type-safe interface for working with FrameNet, PropBank, VerbNet, and WordNet. It simplifies the process of downloading, converting, and searching across these datasets with a consistent API.
Key Features¶
- 🚀 One-command initialization: Download and convert all datasets with
glazing init - 📦 Type-safe data models: Using Pydantic v2 for validation and serialization
- 🔍 Command-line interface: Download, convert, and search datasets from the command line
- 🔗 Cross-dataset references: Find connections between different linguistic resources
- 🐍 Python 3.13+: Python 3.13+ with full type hints
- 📊 Efficient storage: JSON Lines format for fast loading and streaming
Supported Datasets¶
FrameNet 1.7¶
Semantic frames and frame-to-frame relations representing schematic situations.
PropBank 3.4¶
Predicate-argument structures and semantic role labels for verbs.
VerbNet 3.4¶
Hierarchical verb classes with thematic roles and syntactic patterns.
WordNet 3.1¶
Lexical database of synonyms, hypernyms, and other semantic relations.
Quick Start¶
After initialization, you can immediately start exploring the data:
from glazing.search import UnifiedSearch
# Automatically uses default data directory after 'glazing init'
search = UnifiedSearch()
# Search across all datasets
results = search.search("give")
for result in results[:5]:
print(f"{result.dataset}: {result.name} - {result.description}")
Documentation¶
Start with Installation for system requirements, then follow the Quick Start to get running in minutes. The User Guide covers detailed usage, while the API Reference documents all classes and methods. See Contributing if you'd like to help improve the project.
Why Glazing?¶
Working with linguistic resources traditionally requires understanding different data formats (XML, custom databases), writing custom parsers for each resource, managing cross-references manually, and dealing with inconsistent APIs. Glazing solves these problems by providing unified data models across all resources, automatic data conversion to efficient formats, built-in cross-reference resolution, and consistent search and access patterns.
Project Status¶
Glazing is actively maintained and welcomes contributions. The project follows semantic versioning and includes extensive test coverage.
Links¶
License¶
This package is licensed under an MIT License. See LICENSE file for details.
Citation¶
If you use Glazing in your research, please cite:
@software{glazing2025,
author = {White, Aaron Steven},
title = {Glazing: Unified Data Models and Interfaces for Syntactic and Semantic Frame Ontologies},
year = {2025},
url = {https://github.com/factslab/glazing},
version = {0.2.2},
doi = {10.5281/zenodo.17467082}
}
Acknowledgments¶
This project was funded by a National Science Foundation (BCS-2040831) and builds upon the foundational work of the FrameNet, PropBank, VerbNet, and WordNet teams.