glazing.verbnet.loader¶
Loading VerbNet data from JSON Lines.
loader
¶
VerbNet data loader.
This module provides functionality for loading VerbNet verb classes from JSON Lines files, with support for cross-reference resolution, inheritance handling, and lazy loading.
| CLASS | DESCRIPTION |
|---|---|
VerbNetLoader |
Load and manage VerbNet verb classes with automatic loading. |
| FUNCTION | DESCRIPTION |
|---|---|
load_verb_classes |
Load all verb classes from a JSON Lines file. |
load_verb_class |
Load a specific verb class by ID. |
Examples:
>>> from glazing.verbnet.loader import VerbNetLoader
>>> # Data loads automatically on initialization
>>> loader = VerbNetLoader()
>>> classes = loader.classes # Access loaded verb classes via property
>>> verb_class = loader.get_verb_class("give-13.1")
>>> member = loader.get_member("give#2")
>>>
>>> # Or disable autoload for manual control
>>> loader = VerbNetLoader(autoload=False)
>>> classes = loader.load() # Load manually when needed
Classes¶
VerbNetLoader(data_path: Path | str | None = None, lazy: bool = False, autoload: bool = True, cache_size: int = 1000, **kwargs)
pydantic-model
¶
Bases: GlazingBaseModel
Load and manage VerbNet verb classes with automatic loading.
By default, data is loaded automatically on initialization.
| PARAMETER | DESCRIPTION |
|---|---|
data_path
|
Path to VerbNet JSON Lines file. If None, uses default path.
TYPE:
|
lazy
|
Whether to use lazy loading for verb classes.
TYPE:
|
autoload
|
Whether to automatically load data on initialization. Only applies when lazy=False.
TYPE:
|
cache_size
|
Maximum number of verb classes to cache in memory.
TYPE:
|
| ATTRIBUTE | DESCRIPTION |
|---|---|
data_path |
Path to the data file.
TYPE:
|
lazy |
Whether lazy loading is enabled.
TYPE:
|
classes |
Property that returns loaded verb classes, loading them if needed.
TYPE:
|
cache |
Cache for loaded verb classes (only when lazy=True).
TYPE:
|
class_index |
Index mapping class IDs to file positions.
TYPE:
|
member_index |
Index mapping member keys to class IDs.
TYPE:
|
inheritance_resolver |
Resolver for thematic role inheritance.
TYPE:
|
| METHOD | DESCRIPTION |
|---|---|
load |
Load all verb classes into memory. |
get_verb_class |
Get a specific verb class by ID. |
get_member |
Get a specific member by verbnet_key. |
get_effective_roles |
Get effective roles considering inheritance. |
build_indices |
Build class and member indices. |
Examples:
>>> # Automatic loading (default)
>>> loader = VerbNetLoader()
>>> classes = loader.classes # Already loaded
>>> verb_class = loader.get_verb_class("give-13.1")
>>> print(f"Found {len(verb_class.members)} members")
Found 15 members
Initialize VerbNet loader.
| PARAMETER | DESCRIPTION |
|---|---|
data_path
|
Path to VerbNet JSON Lines file. If None, uses default path from environment.
TYPE:
|
lazy
|
Whether to use lazy loading.
TYPE:
|
autoload
|
Whether to automatically load data on initialization. Only applies when lazy=False.
TYPE:
|
cache_size
|
Maximum cache size.
TYPE:
|
**kwargs
|
Additional keyword arguments.
DEFAULT:
|
Config:
arbitrary_types_allowed:True
Fields:
-
data_path(Path) -
lazy(bool) -
cache(QueryCache | None) -
class_index(dict[VerbClassID, int]) -
member_index(dict[VerbNetKey, VerbClassID]) -
classes_cache(dict[VerbClassID, VerbClass] | None) -
inheritance_resolver(RoleInheritanceResolver)
Source code in src/glazing/verbnet/loader.py
Attributes¶
classes: dict[VerbClassID, VerbClass]
property
¶
Get loaded verb classes.
| RETURNS | DESCRIPTION |
|---|---|
dict[VerbClassID, VerbClass]
|
Dictionary of verb classes mapped by class ID. Loads automatically if not yet loaded. |
Functions¶
build_indices() -> None
¶
Build class and member indices for fast lookup.
This method scans the JSON Lines file to build indices without loading all data into memory.
Source code in src/glazing/verbnet/loader.py
get_class_hierarchy() -> dict[VerbClassID, list[VerbClassID]]
¶
Get the class hierarchy structure.
| RETURNS | DESCRIPTION |
|---|---|
dict[VerbClassID, list[VerbClassID]]
|
Maps parent class IDs to lists of subclass IDs. |
Source code in src/glazing/verbnet/loader.py
get_effective_roles(class_id: VerbClassID) -> list[ThematicRole]
¶
Get effective roles for a class considering inheritance.
| PARAMETER | DESCRIPTION |
|---|---|
class_id
|
Verb class ID.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[ThematicRole]
|
Effective roles after applying inheritance. |
Source code in src/glazing/verbnet/loader.py
get_member(verbnet_key: VerbNetKey) -> Member | None
¶
Get a specific member by verbnet_key.
| PARAMETER | DESCRIPTION |
|---|---|
verbnet_key
|
Member verbnet_key (e.g., "give#2").
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Member | None
|
The member if found, None otherwise. |
Source code in src/glazing/verbnet/loader.py
get_statistics() -> dict[str, int | float | bool]
¶
Get statistics about loaded VerbNet data.
| RETURNS | DESCRIPTION |
|---|---|
dict[str, int | float | bool]
|
Statistics including counts and coverage. |
Source code in src/glazing/verbnet/loader.py
get_verb_class(class_id: VerbClassID) -> VerbClass | None
¶
Get a specific verb class by ID.
| PARAMETER | DESCRIPTION |
|---|---|
class_id
|
Verb class ID to look up.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
VerbClass | None
|
The verb class if found, None otherwise. |
Source code in src/glazing/verbnet/loader.py
iter_verb_classes(batch_size: int = 100) -> Generator[list[VerbClass], None, None]
¶
Iterate over verb classes in batches.
| PARAMETER | DESCRIPTION |
|---|---|
batch_size
|
Number of verb classes per batch.
TYPE:
|
| YIELDS | DESCRIPTION |
|---|---|
list[VerbClass]
|
Batch of verb classes. |
Source code in src/glazing/verbnet/loader.py
load() -> dict[VerbClassID, VerbClass]
¶
Load all verb classes into memory.
| RETURNS | DESCRIPTION |
|---|---|
dict[VerbClassID, VerbClass]
|
All verb classes mapped by class ID. |
| RAISES | DESCRIPTION |
|---|---|
ValueError
|
If data file contains invalid JSON. |
Source code in src/glazing/verbnet/loader.py
search_by_pattern(pattern: str) -> list[VerbClass]
¶
Search for verb classes by ID pattern.
| PARAMETER | DESCRIPTION |
|---|---|
pattern
|
Regular expression pattern to match class IDs.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[VerbClass]
|
Matching verb classes. |
Source code in src/glazing/verbnet/loader.py
Functions¶
load_verb_class(path: Path | str, class_id: VerbClassID) -> VerbClass | None
¶
Load a specific verb class by ID.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
Path to the JSON Lines file.
TYPE:
|
class_id
|
Verb class ID to load.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
VerbClass | None
|
The verb class if found. |
Examples:
>>> verb_class = load_verb_class("verbnet.jsonl", "give-13.1")
>>> if verb_class:
... print(f"Found {len(verb_class.members)} members")
Source code in src/glazing/verbnet/loader.py
load_verb_classes(path: Path | str) -> dict[VerbClassID, VerbClass]
¶
Load all VerbNet verb classes from a JSON Lines file.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
Path to the JSON Lines file.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
dict[VerbClassID, VerbClass]
|
All verb classes mapped by class ID. |
Examples:
>>> verb_classes = load_verb_classes("verbnet.jsonl")
>>> print(f"Loaded {len(verb_classes)} verb classes")