Probabilistic Relational Models¶
For now, pyAgrum only allows to explore Probabilistic Relational Models written with o3prm syntax (see O3PRM website).
- class pyAgrum.PRMexplorer¶
PRMexplorer helps navigate through probabilistic relational models.
- PRMexplorer() -> PRMexplorer
default constructor
- property aggType¶
min/max/count/exists/forall/or/and/amplitude/median
- classAggregates(class_name)¶
- Parameters
class_name (str) – a class name
- Returns
the list of aggregates in the class
- Return type
list
- Raises
pyAgrum.IndexError – If the class is not in the PRM
- classAttributes(class_name)¶
- Parameters
class_name (str) – a class name
- Returns
the list of attributes
- Return type
list
- Raises
pyAgrum.IndexError – If the class is not in the PRM
- classDag(class_name)¶
- Parameters
class_name (str) – a class name
- Returns
a description of the DAG
- Return type
tuple
- Raises
pyAgrum.IndexError – If the class is not in the PRM
- classImplements(class_name)¶
- Parameters
class_name (str) – a class name
- Returns
the list of interfaces implemented by the class
- Return type
list
- classParameters(class_name)¶
- Parameters
class_name (str) – a class name
- Returns
the list of parameters
- Return type
list
- Raises
pyAgrum.IndexError – If the class is not in the PRM
- classReferences(class_name)¶
- Parameters
class_name (str) – a class name
- Returns
the list of references
- Return type
list
- Raises
pyAgrum.IndexError – If the class is not in the PRM
- classSlotChains(class_name)¶
- Parameters
class_name (str) – a class name
- Returns
the list of class slot chains
- Return type
list
- Raises
pyAgrum.IndexError – if the class is not in the PRM
- classes()¶
- Returns
the list of classes
- Return type
list
- cpf(class_name, attribute)¶
- Parameters
class_name (str) – a class name
attribute (str) – an attribute
- Returns
the potential of the attribute
- Return type
- Raises
pyAgrum.OperationNotAllowed – If the class element doesn’t have any pyAgrum.Potential (like a gum::PRMReferenceSlot).
pyAgrum.IndexError – If the class is not in the PRM
pyAgrum.IndexError – If the attribute in parameters does not exist
- getDirectSubClass(class_name)¶
- Parameters
class_name (str) – a class name
- Returns
the list of direct subclasses
- Return type
list
- Raises
pyAgrum.IndexError – If the class is not in the PRM
- getDirectSubInterfaces(interface_name)¶
- Parameters
interface_name (str) – an interface name
- Returns
the list of direct subinterfaces
- Return type
list
- Raises
pyAgrum.IndexError – If the interface is not in the PRM
- getDirectSubTypes(type_name)¶
- Parameters
type_name (str) – a type name
- Returns
the list of direct subtypes
- Return type
list
- Raises
pyAgrum.IndexError – If the type is not in the PRM
- getImplementations(interface_name)¶
- Parameters
interface_name (str) – an interface name
- Returns
the list of classes implementing the interface
- Return type
str
- Raises
pyAgrum.IndexError – If the interface is not in the PRM
- getLabelMap(type_name)¶
- Parameters
type_name (str) – a type name
- Returns
a dict containing pairs of label and their values
- Return type
dict
- Raises
pyAgrum.IndexError – If the type is not in the PRM
- getLabels(type_name)¶
- Parameters
type_name (str) – a type name
- Returns
the list of type labels
- Return type
list
- Raises
pyAgrum.IndexError – If the type is not in the PRM
- getSuperClass(class_name)¶
- Parameters
class_name (str) – a class name
- Returns
the class extended by class_name
- Return type
str
- Raises
pyAgrum.IndexError – If the class is not in the PRM
- getSuperInterface(interface_name)¶
- Parameters
interface_name (str) – an interface name
- Returns
the interace extended by interface_name
- Return type
str
- Raises
pyAgrum.IndexError – If the interface is not in the PRM
- getSuperType(type_name)¶
- Parameters
type_name (str) – a type name
- Returns
the type extended by type_name
- Return type
str
- Raises
pyAgrum.IndexError – If the type is not in the PRM
- getalltheSystems()¶
- Returns
the list of all the systems and their components
- Return type
list
- interAttributes(interface_name, allAttributes=False)¶
- Parameters
interface_name (str) – an interface
allAttributes (bool) – True if supertypes of a custom type should be indicated
- Returns
the list of (<type>,<attribute_name>) for the given interface
- Return type
list
- Raises
pyAgrum.IndexError – If the type is not in the PRM
- interReferences(interface_name)¶
- Parameters
interface_name (str) – an interface
- Returns
the list of (<reference_type>,<reference_name>,<True if the reference is an array>) for the given interface
- Return type
list
- Raises
pyAgrum.IndexError – If the type is not in the PRM
- interfaces()¶
- Returns
the list of interfaces in the PRM
- Return type
list
- isAttribute(class_name, att_name)¶
- Parameters
class_name (str) – a class name
att_name (str) – the name of the attribute to be tested
- Returns
True if att_name is an attribute of class_name
- Return type
bool
- Raises
pyAgrum.IndexError – If the class is not in the PRM
pyAgrum.IndexError – If att_name is not an element of class_name
- isClass(name)¶
- Parameters
name (str) – an element name
- Returns
True if the parameter correspond to a class in the PRM
- Return type
bool
- isInterface(name)¶
- Parameters
name (str) – an element name
- Returns
True if the parameter correspond to an interface in the PRM
- Return type
bool
- isType(name)¶
- Parameters
name (str) – an element name
- Returns
True if the parameter correspond to a type in the PRM
- Return type
bool
- load(*args)¶
Load a PRM into the explorer.
- Parameters
filename (str) – the name of the o3prm file
classpath (str) – the classpath of the PRM
- Raises
pyAgrum.FatalError – If file not found
- Return type
None
- types()¶
- Returns
the list of the custom types in the PRM
- Return type
list