Graph¶
- class psynet.trial.graph.GraphChainNetwork(*args, **kwargs)[source]¶
Bases:
ChainNetwork
A Network class for graph chains. A graph chain corresponds to the evolution of a vertex within a graph.
Parameters (for now stating the new ones)¶
- vertex_id
The id of the vertex that the network is representing within the graph.
- dependent_vertex_ids
A list of the vertex ids on which the current node depends (incoming edges).
- source_seed
Source seed to use when initializing the graph in the trialmaker.
- creation_time¶
the time at which the Network was created.
- details¶
a generic column for storing structured JSON data
- failed¶
boolean indicating whether the Network has failed which prompts Dallinger to ignore it unless specified otherwise. Objects are usually failed to indicate something has gone wrong.
- failed_reason¶
an optional reason the object was failed. If the object is failed as part of a cascading failure triggered from another object, the chain of objects will be captured in this field.
- full¶
Whether the network is currently full
- id¶
a unique number for every entry. 1, 2, 3 and so on…
- max_size¶
How big the network can get, this number is used by the full() method to decide whether the network is full
- property1¶
a generic column that can be used to store experiment-specific details in String form.
- property2¶
a generic column that can be used to store experiment-specific details in String form.
- property3¶
a generic column that can be used to store experiment-specific details in String form.
- property4¶
a generic column that can be used to store experiment-specific details in String form.
- property5¶
a generic column that can be used to store experiment-specific details in String form.
- role¶
The role of the network. By default dallinger initializes all networks as either “practice” or “experiment”
- time_of_death¶
the time at which failing occurred
- type¶
A String giving the name of the class. Defaults to “network”. This allows subclassing.
- vars¶
- class psynet.trial.graph.GraphChainNode(*args, **kwargs)[source]¶
Bases:
ChainNode
A Node class for graph chains.
Parameters (for now stating the new ones)¶
- vertex_id
The id of the vertex that the network is representing within the graph.
- dependent_vertex_ids
A list of the vertex ids on which the current node depends (incoming edges).
- create_definition_from_seed(seed, experiment, participant)[source]¶
(Built-in) In a graph chain, the next node in the chain is a faithful reproduction of the previous iteration.
- Parameters:
seed – The seed being passed to the node.
experiment – An instantiation of
psynet.experiment.Experiment
, corresponding to the current experiment.participant – Current participant, if relevant.
- Returns:
object – The node’s new definition, which is a faithful reproduction of the seed that it was passed.
- creation_time¶
the time at which the Network was created.
- details¶
a generic column for storing structured JSON data
- failed¶
boolean indicating whether the Network has failed which prompts Dallinger to ignore it unless specified otherwise. Objects are usually failed to indicate something has gone wrong.
- failed_reason¶
an optional reason the object was failed. If the object is failed as part of a cascading failure triggered from another object, the chain of objects will be captured in this field.
- id¶
a unique number for every entry. 1, 2, 3 and so on…
- network¶
the network the node is in
- network_id¶
the id of the network that this node is a part of
- participant¶
the participant the node is associated with
- participant_id¶
the id of the participant whose node this is
- property1¶
a generic column that can be used to store experiment-specific details in String form.
- property2¶
a generic column that can be used to store experiment-specific details in String form.
- property3¶
a generic column that can be used to store experiment-specific details in String form.
- property4¶
a generic column that can be used to store experiment-specific details in String form.
- property5¶
a generic column that can be used to store experiment-specific details in String form.
- summarize_trials(trials, experiment, participant)[source]¶
(Abstract method, to be overridden) This method should summarize the answers to the provided trials. A default method is implemented for cases when there is just one trial per node; in this case, the method extracts and returns the trial’s answer, available in
trial.answer
. The method must be extended if it is to cope with multiple trials per node, however.- Parameters:
trials (
list
) – Trials to be summarized. By default only trials that are completed (i.e. have received a response) and processed (i.e. aren’t waiting for an asynchronous process) are provided here.experiment – An instantiation of
psynet.experiment.Experiment
, corresponding to the current experiment.participant – The participant who initiated the creation of the node.
- Returns:
object – The derived seed. Should be suitable for serialisation to JSON.
- time_of_death¶
the time at which failing occurred
- type¶
A String giving the name of the class. Defaults to
node
. This allows subclassing.
- vars¶
- class psynet.trial.graph.GraphChainTrial(*args, **kwargs)[source]¶
Bases:
ChainTrial
A Trial class for graph chains.
- complete¶
whether the info is ‘complete’, i.e. has received its contents
- creation_time¶
the time at which the Network was created.
- details¶
a generic column for storing structured JSON data
- failed¶
boolean indicating whether the Network has failed which prompts Dallinger to ignore it unless specified otherwise. Objects are usually failed to indicate something has gone wrong.
- failed_reason¶
an optional reason the object was failed. If the object is failed as part of a cascading failure triggered from another object, the chain of objects will be captured in this field.
- id¶
a unique number for every entry. 1, 2, 3 and so on…
- make_definition(experiment, participant)[source]¶
(Built-in) In a graph chain, the trial’s definition equals the definition of the node that created it.
- Parameters:
experiment – An instantiation of
psynet.experiment.Experiment
, corresponding to the current experiment.participant – Optional participant with which to associate the trial.
- Returns:
object – The trial’s definition, equal to the node’s definition.
- network¶
the network the info is in
- network_id¶
the id of the network the info is in
- origin¶
the Node that created the info.
- origin_id¶
the id of the Node that created the info
- property1¶
a generic column that can be used to store experiment-specific details in String form.
- property2¶
a generic column that can be used to store experiment-specific details in String form.
- property3¶
a generic column that can be used to store experiment-specific details in String form.
- property4¶
a generic column that can be used to store experiment-specific details in String form.
- property5¶
a generic column that can be used to store experiment-specific details in String form.
- time_of_death¶
the time at which failing occurred
- type¶
a String giving the name of the class. Defaults to “info”. This allows subclassing.
- vars¶
- class psynet.trial.graph.GraphChainTrialMaker(*, id_, node_class, trial_class, network_structure, chain_type, expected_trials_per_participant, max_trials_per_participant, chains_per_participant, trials_per_node, balance_across_chains, check_performance_at_end, check_performance_every_trial, recruit_mode, target_n_participants=typing.Optional[int], max_nodes_per_chain=None, fail_trials_on_premature_exit=False, fail_trials_on_participant_performance_check=False, propagate_failure=True, n_repeat_trials=0, wait_for_networks=False, allow_revisiting_networks_in_across_chains=False, sync_group_type=None)[source]¶
Bases:
ChainTrialMaker
A TrialMaker class for graph chains; see the documentation for
ChainTrialMaker
for usage instructions.- Parameters:
network_structure – A representation of the graph structure to instantiate. The representation consistes of a dictionary of vertices and edges. E.g. {“vertices”: [1,2], “edges”: [{“origin”: 1, “target”: 2, “properties”: {“type”: “default”}}]}
- grow_network(network, experiment)[source]¶
Extends the network if necessary by adding one or more nodes. Returns
True
if any nodes were added.- Parameters:
network – The network to be potentially extended.
experiment – An instantiation of
psynet.experiment.Experiment
, corresponding to the current experiment.
- pre_deploy_routine(experiment)[source]¶
Defines a routine for setting up the experiment prior to deployment. This is a good place to prepare networks etc.
- Parameters:
experiment – An instantiation of
psynet.experiment.Experiment
, corresponding to the current experiment.