pattern¶
Python APIs for STIX 2 Pattern Semantic Equivalence.
compare |
Some generic comparison utility functions. |
transform |
Generic AST transformation classes. |
-
equivalent_patterns
(pattern1, pattern2, stix_version='2.1')¶ Determine whether two STIX patterns are semantically equivalent.
Parameters: - pattern1 – The first STIX pattern
- pattern2 – The second STIX pattern
- stix_version – The STIX version to use for pattern parsing, as a string (“2.0”, “2.1”, etc). Defaults to library-wide default version.
Returns: True if the patterns are semantically equivalent; False if not
-
find_equivalent_patterns
(search_pattern, patterns, stix_version='2.1')¶ Find patterns from a sequence which are equivalent to a given pattern. This is more efficient than using equivalent_patterns() in a loop, because it doesn’t re-normalize the search pattern over and over. This works on an input iterable and is implemented as a generator of matches. So you can “stream” patterns in and matching patterns will be streamed out.
Parameters: - search_pattern – A search pattern as a string
- patterns – An iterable over patterns as strings
- stix_version – The STIX version to use for pattern parsing, as a string (“2.0”, “2.1”, etc). Defaults to library-wide default version.
Returns: A generator iterator producing the semantically equivalent patterns