neurolang.utils package

class neurolang.utils.NamedRelationalAlgebraFrozenSet(columns, iterable=None)

Bases: RelationalAlgebraFrozenSet, NamedRelationalAlgebraFrozenSet

Attributes:
arity
columns

Methods

isdisjoint(other)

Return True if two sets have a null intersection.

projection(*columns)

Projects the set on the given list of columns.

selection(select_criteria)

Select the elements based on the given selet_criteria.

selection_columns(select_criteria)

Select the elements where column pairs indicated as key, value items of the select_criteria are equal.

aggregate

as_numpy_array

as_pandas_dataframe

copy

create_view_from

cross_product

dee

dum

equijoin

explode

extended_projection

fetch_one

groupby

is_dee

is_dum

is_empty

itervalues

left_naturaljoin

naturaljoin

projection_to_unnamed

rename_column

rename_columns

replace_null

to_unnamed

aggregate(group_columns, aggregate_function)
property arity
property columns
classmethod create_view_from(other)
cross_product(other)
classmethod dee()
classmethod dum()
equijoin(other, join_indices)
explode(src_column, dst_columns)
extended_projection(eval_expressions)
fetch_one()
groupby(columns)
left_naturaljoin(other)
naturaljoin(other)
projection(*columns)

Projects the set on the given list of columns.

Examples

>>> ras = RelationalAlgebraFrozenSet(
        [(i % 2, i, i * 2) for i in range(5)])
>>> ras
   0  1  2
0  0  0  0
1  1  1  2
2  0  2  4
3  1  3  6
4  0  4  8
>>> ras.projection(1)
   0
0  0
1  1
2  2
3  3
4  4
projection_to_unnamed(*columns)
rename_column(src, dst)
rename_columns(renames)
replace_null(column, value)
to_unnamed()
class neurolang.utils.OrderedSet(iterable=None)

Bases: MutableSet, Sequence

Methods

add(value)

Add an element.

clear()

This is slow (creates N new iterators!) but effective.

count(value)

discard(value)

Remove an element.

index(value, [start, [stop]])

Raises ValueError if the value is not present.

isdisjoint(other)

Return True if two sets have a null intersection.

pop()

Return the popped value.

remove(value)

Remove an element.

copy

issubset

issuperset

replace

add(value)

Add an element.

copy()
discard(value)

Remove an element. Do not raise an exception if absent.

index(value[, start[, stop]]) integer -- return first index of value.

Raises ValueError if the value is not present.

Supporting start and stop arguments is optional, but recommended.

issubset(other)
issuperset(other)
replace(src, dst)
class neurolang.utils.RelationalAlgebraFrozenSet(iterable=None)

Bases: RelationalAlgebraFrozenSet

RelationalAlgebraFrozenSet implementation using in-memory pandas.DataFrame as container for the elements.

Attributes:
arity
columns

Methods

isdisjoint(other)

Return True if two sets have a null intersection.

projection(*columns)

Projects the set on the given list of columns.

selection(select_criteria)

Select the elements based on the given selet_criteria.

selection_columns(select_criteria)

Select the elements where column pairs indicated as key, value items of the select_criteria are equal.

as_numpy_array

as_pandas_dataframe

copy

create_view_from

cross_product

dee

dum

equijoin

fetch_one

groupby

is_dee

is_dum

is_empty

itervalues

property arity
as_numpy_array()
as_pandas_dataframe()
property columns
copy()
classmethod create_view_from(other)
cross_product(other)
classmethod dee()
classmethod dum()
equijoin(other, join_indices)
fetch_one()
groupby(columns)
is_empty()
itervalues()
projection(*columns)

Projects the set on the given list of columns.

Examples

>>> ras = RelationalAlgebraFrozenSet(
        [(i % 2, i, i * 2) for i in range(5)])
>>> ras
   0  1  2
0  0  0  0
1  1  1  2
2  0  2  4
3  1  3  6
4  0  4  8
>>> ras.projection(1)
   0
0  0
1  1
2  2
3  3
4  4
selection(select_criteria: Callable | RelationalAlgebraStringExpression | Dict[int, int | Callable])

Select the elements based on the given selet_criteria. The select_criteria may be a callable function, a string expression or a Dict of columns -> value

Parameters:
select_criteriaUnion[Callable, RelationalAlgebraStringExpression,
Dict[int, Union[int, Callable]]]

selection criteria

Returns:
RelationalAlgebraFrozenSet

A RelationalAlgebraFrozenSet with elements matching the criteria.

selection_columns(select_criteria: Dict[int, int])

Select the elements where column pairs indicated as key, value items of the select_criteria are equal. The select_criteria must be a Dict of Int -> Int.

Parameters:
select_criteriaDict [Int, Int]

selection criteria

Returns:
RelationalAlgebraFrozenSet

A RelationalAlgebraFrozenSet with elements matching the criteria.

Examples

Select the elements where col0 == col1 and col1 == col2 >>> ras = RelationalAlgebraFrozenSet(

[(i % 2, i, i * 2) for i in range(5)])

>>> ras.selection_columns({0:1, 1: 2})
   0  1  2
0  0  0  0
class neurolang.utils.RelationalAlgebraSet(iterable=None)

Bases: RelationalAlgebraFrozenSet, RelationalAlgebraSet

Attributes:
arity
columns

Methods

add(value)

Add an element.

clear()

This is slow (creates N new iterators!) but effective.

discard(value)

Remove an element.

isdisjoint(other)

Return True if two sets have a null intersection.

pop()

Return the popped value.

projection(*columns)

Projects the set on the given list of columns.

remove(value)

Remove an element.

selection(select_criteria)

Select the elements based on the given selet_criteria.

selection_columns(select_criteria)

Select the elements where column pairs indicated as key, value items of the select_criteria are equal.

as_numpy_array

as_pandas_dataframe

copy

create_view_from

cross_product

dee

dum

equijoin

fetch_one

groupby

is_dee

is_dum

is_empty

itervalues

add(value)

Add an element.

discard(value)

Remove an element. Do not raise an exception if absent.

class neurolang.utils.RelationalAlgebraStringExpression

Bases: str

Methods

capitalize(/)

Return a capitalized version of the string.

casefold(/)

Return a version of the string suitable for caseless comparisons.

center(width[, fillchar])

Return a centered string of length width.

count(sub[, start[, end]])

Return the number of non-overlapping occurrences of substring sub in string S[start:end].

encode(/[, encoding, errors])

Encode the string using the codec registered for encoding.

endswith(suffix[, start[, end]])

Return True if S ends with the specified suffix, False otherwise.

expandtabs(/[, tabsize])

Return a copy where all tab characters are expanded using spaces.

find(sub[, start[, end]])

Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end].

format(*args, **kwargs)

Return a formatted version of S, using substitutions from args and kwargs.

format_map(mapping)

Return a formatted version of S, using substitutions from mapping.

index(sub[, start[, end]])

Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end].

isalnum(/)

Return True if the string is an alpha-numeric string, False otherwise.

isalpha(/)

Return True if the string is an alphabetic string, False otherwise.

isascii(/)

Return True if all characters in the string are ASCII, False otherwise.

isdecimal(/)

Return True if the string is a decimal string, False otherwise.

isdigit(/)

Return True if the string is a digit string, False otherwise.

isidentifier(/)

Return True if the string is a valid Python identifier, False otherwise.

islower(/)

Return True if the string is a lowercase string, False otherwise.

isnumeric(/)

Return True if the string is a numeric string, False otherwise.

isprintable(/)

Return True if the string is printable, False otherwise.

isspace(/)

Return True if the string is a whitespace string, False otherwise.

istitle(/)

Return True if the string is a title-cased string, False otherwise.

isupper(/)

Return True if the string is an uppercase string, False otherwise.

join(iterable, /)

Concatenate any number of strings.

ljust(width[, fillchar])

Return a left-justified string of length width.

lower(/)

Return a copy of the string converted to lowercase.

lstrip([chars])

Return a copy of the string with leading whitespace removed.

maketrans(x[, y, z])

Return a translation table usable for str.translate().

partition(sep, /)

Partition the string into three parts using the given separator.

replace(old, new[, count])

Return a copy with all occurrences of substring old replaced by new.

rfind(sub[, start[, end]])

Return the highest index in S where substring sub is found, such that sub is contained within S[start:end].

rindex(sub[, start[, end]])

Return the highest index in S where substring sub is found, such that sub is contained within S[start:end].

rjust(width[, fillchar])

Return a right-justified string of length width.

rpartition(sep, /)

Partition the string into three parts using the given separator.

rsplit(/[, sep, maxsplit])

Return a list of the words in the string, using sep as the delimiter string.

rstrip([chars])

Return a copy of the string with trailing whitespace removed.

split(/[, sep, maxsplit])

Return a list of the words in the string, using sep as the delimiter string.

splitlines(/[, keepends])

Return a list of the lines in the string, breaking at line boundaries.

startswith(prefix[, start[, end]])

Return True if S starts with the specified prefix, False otherwise.

strip([chars])

Return a copy of the string with leading and trailing whitespace removed.

swapcase(/)

Convert uppercase characters to lowercase and lowercase characters to uppercase.

title(/)

Return a version of the string where each word is titlecased.

translate(table, /)

Replace each character in the string using the given translation table.

upper(/)

Return a copy of the string converted to uppercase.

zfill(width, /)

Pad a numeric string with zeros on the left, to fill a field of the given width.

neurolang.utils.log_performance(logger, init_message, init_args=None, end_message=None, end_args=None, level=20)

Context manager to log the performance of executed commands in the context.

Parameters:
loggerlogging.Logger

Logger to use for the message

init_messagestr

Message to display before executing the code within the context.

init_argstuple, optional

Tuple with the arguments for the init message, by default None

end_messagestr, optional

Message to display when code has finished first parameter is the elapsed seconds, by default None

end_argstuple, optional

more arguments for the end message, by default None

levellogging level, optional

level to log, by default logging.INFO

neurolang.utils.powerset(iterable)

Subpackages

Submodules