Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
antaenc committed Oct 31, 2024
1 parent 9e1eaa8 commit 9cd6916
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 25 deletions.
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning].

## [Unreleased]

## [0.1.10] - 2024-10-31

### Changed in 0.1.10

- Synchronized szengineflags with latest V4 build
- Modified signatures for find_network_by_* to new default engine flag

## [0.1.9] - 2024-10-31

### Changed in 0.1.9
Expand Down Expand Up @@ -48,7 +55,7 @@ and this project adheres to [Semantic Versioning].

### Added in 0.1.4

- `sz_enzine.preprocess_record()`
- `sz_engine.preprocess_record()`
- Engine flags:
- `SZ_ENTITY_INCLUDE_RECORD_FEATURE_DETAILS`
- `SZ_ENTITY_INCLUDE_RECORD_FEATURE_STATS`
Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[metadata]
name = senzing_abstract
version = 0.1.9
version = 0.1.10
author = senzing
author_email = support@senzing.com
description = Python SDK method definitions
Expand Down
4 changes: 2 additions & 2 deletions src/senzing_abstract/szengine_abstract.py
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,7 @@ def find_network_by_entity_id(
max_degrees: int,
build_out_degrees: int,
build_out_max_entities: int,
flags: int = SzEngineFlags.SZ_FIND_NETWORK_DEFAULT_FLAGS,
flags: int = SzEngineFlags.SZ_FIND_PATH_DEFAULT_FLAGS,
**kwargs: Any,
) -> str:
"""
Expand Down Expand Up @@ -387,7 +387,7 @@ def find_network_by_record_id(
max_degrees: int,
build_out_degrees: int,
build_out_max_entities: int,
flags: int = SzEngineFlags.SZ_FIND_NETWORK_DEFAULT_FLAGS,
flags: int = SzEngineFlags.SZ_FIND_PATH_DEFAULT_FLAGS,
**kwargs: Any,
) -> str:
"""
Expand Down
47 changes: 28 additions & 19 deletions src/senzing_abstract/szengineflags.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ def combine_flags(cls, flags: Union[List[Self], List[str]]) -> int:
@classmethod
def get_flag_int(cls, flag: Union[Self, str]) -> int:
"""TODO:"""
# TODO - Ant - Correct type?
try:
if isinstance(flag, str):
flag = cls[flag.upper()]
Expand All @@ -77,6 +76,11 @@ def get_flag_int(cls, flag: Union[Self, str]) -> int:
raise SzError(f"{err} is not a valid engine flag") from err
return flag_int

# Flags for including special data.

SZ_INCLUDE_FEATURE_SCORES = 1 << 26
SZ_INCLUDE_MATCH_KEY_DETAILS = 1 << 34

# Flags for exporting entity data.

SZ_EXPORT_INCLUDE_MULTI_RECORD_ENTITIES = 1 << 0
Expand Down Expand Up @@ -123,39 +127,35 @@ def get_flag_int(cls, flag: Union[Self, str]) -> int:
SZ_ENTITY_INCLUDE_RECORD_MATCHING_INFO = 1 << 15
SZ_ENTITY_INCLUDE_RECORD_JSON_DATA = 1 << 16
SZ_ENTITY_INCLUDE_RECORD_UNMAPPED_DATA = 1 << 31
SZ_ENTITY_INCLUDE_RECORD_FEATURES = 1 << 18
SZ_ENTITY_INCLUDE_RECORD_FEATURES_IDS = 1 << 18
SZ_ENTITY_INCLUDE_RECORD_FEATURE_DETAILS = 1 << 35
SZ_ENTITY_INCLUDE_RECORD_FEATURE_STATS = 1 << 36
SZ_ENTITY_INCLUDE_RELATED_ENTITY_NAME = 1 << 19
SZ_ENTITY_INCLUDE_RELATED_MATCHING_INFO = 1 << 20
SZ_ENTITY_INCLUDE_RELATED_RECORD_SUMMARY = 1 << 21
SZ_ENTITY_INCLUDE_RELATED_RECORD_TYPES = 1 << 29
SZ_ENTITY_INCLUDE_RELATED_RECORD_DATA = 1 << 22
SZ_ENTITY_INCLUDE_RECORD_FEATURE_DETAILS = 1 << 35
SZ_ENTITY_INCLUDE_RECORD_FEATURE_STATS = 1 << 36

# Flags for extra feature data.

SZ_ENTITY_INCLUDE_INTERNAL_FEATURES = 1 << 23
SZ_ENTITY_INCLUDE_FEATURE_STATS = 1 << 24

# Flags for extra matching data.

SZ_INCLUDE_MATCH_KEY_DETAILS = 1 << 34

# Flags for finding entity path & network data.
# Flags for finding entity path data.

SZ_FIND_PATH_STRICT_AVOID = 1 << 25
SZ_FIND_PATH_INCLUDE_MATCHING_INFO = 1 << 30
SZ_FIND_NETWORK_INCLUDE_MATCHING_INFO = 1 << 33

# Flags for including search result information.
# Flags for including search result feature scores.

SZ_INCLUDE_FEATURE_SCORES = 1 << 26
# SZ_INCLUDE_FEATURE_SCORES = 1 << 26
SZ_SEARCH_INCLUDE_STATS = 1 << 27

# Flag for returning with info responses.
SZ_WITH_INFO = 1 << 62

# Flags for exporting entity data.
# Flags for searching for entities.

SZ_SEARCH_INCLUDE_RESOLVED = SZ_EXPORT_INCLUDE_MULTI_RECORD_ENTITIES
SZ_SEARCH_INCLUDE_POSSIBLY_SAME = SZ_EXPORT_INCLUDE_POSSIBLY_SAME
Expand All @@ -168,10 +168,12 @@ def get_flag_int(cls, flag: Union[Self, str]) -> int:
| SZ_SEARCH_INCLUDE_NAME_ONLY
)

# Recommended settings.
# Recommended settings for various API functions.

# The recommended default flag values for getting records.
SZ_RECORD_DEFAULT_FLAGS = SZ_ENTITY_INCLUDE_RECORD_JSON_DATA

# The recommended default flag values for getting entities.
SZ_ENTITY_DEFAULT_FLAGS = (
SZ_ENTITY_INCLUDE_ALL_RELATIONS
| SZ_ENTITY_INCLUDE_REPRESENTATIVE_FEATURES
Expand All @@ -184,26 +186,24 @@ def get_flag_int(cls, flag: Union[Self, str]) -> int:
| SZ_ENTITY_INCLUDE_RELATED_MATCHING_INFO
)

# The recommended default flag values for a brief entity result.
SZ_ENTITY_BRIEF_DEFAULT_FLAGS = (
SZ_ENTITY_INCLUDE_RECORD_MATCHING_INFO
| SZ_ENTITY_INCLUDE_ALL_RELATIONS
| SZ_ENTITY_INCLUDE_RELATED_MATCHING_INFO
)

# The recommended default flag values for exporting entities.
SZ_EXPORT_DEFAULT_FLAGS = SZ_EXPORT_INCLUDE_ALL_ENTITIES | SZ_ENTITY_DEFAULT_FLAGS

# The recommended default flag values for finding entity paths.
SZ_FIND_PATH_DEFAULT_FLAGS = (
SZ_FIND_PATH_INCLUDE_MATCHING_INFO
| SZ_ENTITY_INCLUDE_ENTITY_NAME
| SZ_ENTITY_INCLUDE_RECORD_SUMMARY
)

SZ_FIND_NETWORK_DEFAULT_FLAGS = (
SZ_FIND_NETWORK_INCLUDE_MATCHING_INFO
| SZ_ENTITY_INCLUDE_ENTITY_NAME
| SZ_ENTITY_INCLUDE_RECORD_SUMMARY
)

# The recommended default flag values for why-analysis on entities.
SZ_WHY_ENTITIES_DEFAULT_FLAGS = (
SZ_ENTITY_DEFAULT_FLAGS
| SZ_ENTITY_INCLUDE_INTERNAL_FEATURES
Expand All @@ -225,10 +225,15 @@ def get_flag_int(cls, flag: Union[Self, str]) -> int:
| SZ_INCLUDE_FEATURE_SCORES
)

# The recommended default flag values for how-analysis on entities.
SZ_HOW_ENTITY_DEFAULT_FLAGS = SZ_INCLUDE_FEATURE_SCORES

# The recommended default flag values for virtual-entity-analysis on entities.
SZ_VIRTUAL_ENTITY_DEFAULT_FLAGS = SZ_ENTITY_DEFAULT_FLAGS

# The recommended settings for searching by attributes.

# The recommended flag values for searching by attributes, returning all matching entities.
SZ_SEARCH_BY_ATTRIBUTES_ALL = (
SZ_SEARCH_INCLUDE_ALL_ENTITIES
| SZ_ENTITY_INCLUDE_REPRESENTATIVE_FEATURES
Expand All @@ -237,6 +242,7 @@ def get_flag_int(cls, flag: Union[Self, str]) -> int:
| SZ_INCLUDE_FEATURE_SCORES
)

# The recommended flag values for searching by attributes, returning only strongly matching entities.
SZ_SEARCH_BY_ATTRIBUTES_STRONG = (
SZ_SEARCH_INCLUDE_RESOLVED
| SZ_SEARCH_INCLUDE_POSSIBLY_SAME
Expand All @@ -246,10 +252,13 @@ def get_flag_int(cls, flag: Union[Self, str]) -> int:
| SZ_INCLUDE_FEATURE_SCORES
)

# Return minimal data with all matches.
SZ_SEARCH_BY_ATTRIBUTES_MINIMAL_ALL = SZ_SEARCH_INCLUDE_ALL_ENTITIES

# Return minimal data with only the strongest matches.
SZ_SEARCH_BY_ATTRIBUTES_MINIMAL_STRONG = (
SZ_SEARCH_INCLUDE_RESOLVED | SZ_SEARCH_INCLUDE_POSSIBLY_SAME
)

# Rhe recommended default flag values for search-by-attributes.
SZ_SEARCH_BY_ATTRIBUTES_DEFAULT_FLAGS = SZ_SEARCH_BY_ATTRIBUTES_ALL
4 changes: 2 additions & 2 deletions tests/szengine_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ def find_network_by_entity_id(
max_degrees: int,
build_out_degrees: int,
build_out_max_entities: int,
flags: int = SzEngineFlags.SZ_FIND_NETWORK_DEFAULT_FLAGS,
flags: int = SzEngineFlags.SZ_FIND_PATH_DEFAULT_FLAGS,
**kwargs: Any,
) -> str:
return ""
Expand All @@ -266,7 +266,7 @@ def find_network_by_record_id(
max_degrees: int,
build_out_degrees: int,
build_out_max_entities: int,
flags: int = SzEngineFlags.SZ_FIND_NETWORK_DEFAULT_FLAGS,
flags: int = SzEngineFlags.SZ_FIND_PATH_DEFAULT_FLAGS,
**kwargs: Any,
) -> str:
return ""
Expand Down

0 comments on commit 9cd6916

Please sign in to comment.