HUGIN web service API

Description

The HUGIN web service API exposes a RESTful HTTP interface for interacting with the HUGIN decision engine.  The common HUGIN objects Domains, Nodes, Tables etc. are exposed as resources each with a distinct URL.

Resources

All resources (the decision engine entry point, Domains, Nodes, Tables etc.) are exposed over HTTP as URLs formatted using following convention:

/restthis is the basic entry point for the HUGIN decision engine (see Rest).

Resource instances are named using a /rest/{resource-class}/{ID} naming convention, where the class of the resource and its unique instance ID can be extracted from the URL.

/rest/domain/{ID}DomainResource instances.
/rest/domain/{ID}/node/{ID}NodeResource instances (always belongs to a specific DomainResource instance).
/rest/domain/{ID}/table/{ID}TableResource instances (always belongs to a specific DomainResource instance).
/rest/domain/{ID}/model/{ID}ModelResource instances (always belongs to a specific DomainResource instance).
/rest/domain/{ID}/clique/{ID}CliqueResource instances (always belongs to a specific DomainResource instance).
/rest/domain/{ID}/junctiontree/{ID}JunctionTreeResource instances (always belongs to a specific DomainResource instance).

Functions

A specific resources class provides a set of functions.  To invoke a function one can construct the correct URL by appending the function name to the resource instance URL like this: /rest/{resource-class}/{ID}/function-name

/rest/newDomainto construct a new domain (Rest -> /newDomain ).
/rest/domain/{ID}/propagateto propagate a domain (DomainResource -> /propagate).
/rest/domain/{ID}/node/{ID}/getNameto get the name of a node (NodeResource -> /getName).

Function Invocation

Functions are invoked using a GET or POST reqest.  GET requests are used for idempotent functions, POST requests are used for functions that have side effects (that results in a change in the state of the decision engine).  For performance considerations, the result of any GET requests should be cached until the next POST request.

Passing Parameters

Parameters passed to any function are formatted as an URL encoded querystring with a set of one or more anonymous fields and values.  The number of fields depends on the number of parameters that the function requires.

Example of GET requests

  • Getting a node by name from a domain (see <DomainResource -> /getNodeByName>):
GET /rest/domain/67ddd8e9-0105-4323-8804-614ada1a7bf4/getNodeByName?=A
Response: 200 OK
Response Body: /rest/domain/67ddd8e9-0105-4323-8804-614ada1a7bf4/node/25c0e5a9-16bd-423b-85a6-fd8e7cf67a45
GET /rest/domain/67ddd8e9-0105-4323-8804-614ada1a7bf4/node/25c0e5a9-16bd-423b-85a6-fd8e7cf67a45/getBelief?=1
Response: 200 OK
Response Body: 0.25
GET /rest/domain/67ddd8e9-0105-4323-8804-614ada1a7bf4/table/7cc8452f-7049-40df-afbb-4760796d99e1/getData?=0&=10
Response: 200 OK
Response Body: 0.2 0.5 0.1 0.4 0.6 0.2 0.2 0.3 0.9 0.1

Example of POST requests

POST /rest/domain/67ddd8e9-0105-4323-8804-614ada1a7bf4/propagate
Reqeust body: =sum&=normal
Response: 200 OK
POST /rest/domain/67ddd8e9-0105-4323-8804-614ada1a7bf4/node/25c0e5a9-16bd-423b-85a6-fd8e7cf67a45/selectState
Request Body: =0
Response: 200 OK
POST /rest/domain/67ddd8e9-0105-4323-8804-614ada1a7bf4/keepAlive
Response: 200 OK

Garbage Collection

Due to the nature of HTTP based web services the server may not be notified when a client no longer need a resource.  Therefore the Server Process performs garbage collection of untouched DomainResources at 5 minute intervals.  Any DomainResource that has not been touched - that is have had any functions invoked on it or on any of the other resources that it owns - is deleted and the memory reclaimed.

To prevent a DomainResource from being garbage collected during extended periods of time where no functions are invoked, on should regularly invoke the DomainResource -> /keepAlive to inform the garbage collector that the DomainResource as still active.

Resources can be explicitly deleted using the /delete functions (<DomainResource -> /delete>, NodeResource -> /delete, TableResource -> /delete, ModelResource -> /delete).

Error Handling

Errors are communicated using the HTTP status codes.

200The operation was completed successfully!
400An error occured, this may be due to a number of things e.g. pre-conditions for invoking a function was not met, wrong parameters etc.  More information about the particular error can be found by inspecting the HTTP response body.
404This means that a resource is not found.  Often this is because the URL is wrong or because the resource in question has already been deleted or garbage collected.
500Denotes an internal error.  These errors should ideally be impossible, but may happen.  If you see a 500 error the HUGIN developers would appreciate a message with a description of the actions that led to the error, related output from the Server Process as well as the HTTP response produced.
Summary
HUGIN web service APIThe HUGIN web service API exposes a RESTful HTTP interface for interacting with the HUGIN decision engine.
RestMain entry point for the HUGIN web service API.
Functions
/loadDomainConstruct a domain from a HUGIN Knowledge Base retrieved over HTTP.
/loadCompileDomainConstruct a domain from a HUGIN Knowledge Base retrieved over HTTP.
/newDomainConstruct an empty domain.
/newClassCollectionConstruct an empty classcollection.
/loadClassCollectionConstruct a classcollection from a HUGIN Knowledge Base retrieved over HTTP.
/loadDataSetConstruct a data set from a CSV file retrieved over HTTP.
/newDataSetConstruct an empty data set.
/runBatchJSONExperimental JSON batch feature.
ClassCollectionResourceClassResources are grouped into ClassCollectionResources.
Functions
/deleteDeletes this ClassCollectionResource, including all nested HUGIN resources belonging to it (e.g.
/keepAliveTouch the ClassCollectionResource to mark it as active in periods where no other functions are being called.
/getClassByNameReturns a ClassResource by name.
/getMembersGet all ClassResources of this ClassCollectionResource.
/saveSubmits this ClassCollectionResource in the form of a HKB file to the service located at a target URL.
/downloadGet this ClassCollectionResource in the form of a HKB file.
/getNewClassCreates a new ClassResource.
ClassResourceInstances of the ClassResource represent object-oriented Bayesian networks and LIMIDs.
Functions
/createDBNDomainCreates a DBN runtime DomainResource from this ClassResource.
/createDomainCreates a flat runtime DomainResource from this ClassResource.
/getNewInstanceNodeCreates a new instance node NodeResource.
/getClassCollectionGet the ClassCollectionResource to which this ClassResource belongs.
/getInputsGet all input NodeResources defined for this ClassResource.
/getInstancesGet all instance NodeResources that are instances of this ClassResource.
/getOutputsGet all output NodeResources defined for this ClassResource.
/getNameReturns the name of this ClassResource.
/setNameSets the name of this ClassResource.
NetworkModelResourceNetworkModelResource interface is implemented by ClassResource and DomainResource.
Functions
/deleteDeletes this NetworkModelResource, including all nested HUGIN resources belonging to it (e.g.
/getNodeByNameReturns a NodeResource by name.
/getNewNodeCreates a new NodeResource.
/getNodesGet all NodeResources in this NetworkModelResource.
/generateTablesGenerates the conditional probability tables for all nodes of this NetworkModelResource.
/getAttributeReturns an attribute value.
/parseNodesParses the file retrieved from an URL and returns a white-space separated list of URI references to NodeResources.
/setAttributeInserts the key/value pair in the attribute list for this NetworkModelResource.
DomainResourceInstances of the DomainResource represent Bayesian networks and LIMIDs in which you can propagate evidence and calculate updated beliefs and expected utilities.
Functions
/keepAliveTouch the DomainResource to mark it as active in periods where no other functions are being called.
/parseCaseParses a case retrieved from an URL and enters the associated findings into this DomainResource.
/saveCaseSubmits all evidence entered in this DomainResource to the service located at a target URL.
/saveSubmits this DomainResource in the form of a HKB file to the service located at a target URL.
/downloadGet this DomainResource in the form of a HKB file.
/parseCasesParses the cases retrieved form an URL and enters the cases into this DomainResource.
/saveCasesSubmits all cases in this DomainResource to the service located at a target URL.
/propagateEstablishes the specified equilibrium using the evidence mode indicated for incorporation of evidence on all JunctionTrees of this DomainResource.
/compileCompiles this DomainResource.
/adaptAdapts this DomainResource according to the evidence entered.
/adaptClassTablesUsingFractionalUpdateFor each discrete node of this DomainResource (which must be a runtime domain) such that both the node and its source node have experience tables, the conditional probability and experience tables of both nodes are learned/updated, and the tables of the domain node will be identical to those of its source node.
/adaptClassTablesUsingOnlineEMThis function updates (adapts), for all discrete chance nodes of this DomainResource, the experience count (retrieval of experience) and the conditional probability distribution (dissemination of experience) for all parent configurations having a valid experience count.
/approximateRemoves “near-zero” probabilities from the clique probability tables.
/cgEvidenceIsPropagatedCheck if evidence on CG nodes has been propagated.
/evidenceIsPropagatedTests if evidence has been propagated for this DomainResource.
/evidenceToPropagateTests if evidence has been entered since the last propagation.
/retractFindingsRetracts (all) evidence for all nodes in this DomainResource.
/getNewModelConstructs a ModelResource over a NodeResource given a list of NodeResources.
/getExpectedUtilityGets the total expected utility associated with this DomainResource.
/isCompiledTests whether this DomainResource is compiled.
/isTriangulatedTests whether this DomainResource is triangulated.
/isTriangulatedForBKTests whether this DomainResource has been triangulated for Boyen-Koller approximate inference.
/initializeEstablishes the initial values for all tables of this DomainResource (which must be compiled).
/getJunctionTreesGets all JunctionTreeResources of this DomainResource.
/compressRemoves the zero entries from the clique and separator tables of the junction trees in this DomainResource.
/computeSensitivityDataComputes the constants of the sensitivity functions for the specified output probabilities and all CPT parameters in the network.
/getLogLikelihoodComputes the log-likelihood of the case data.
/getLogLikelihoodToleranceReturns the log-likelihood tolerance for this DomainResource.
/getLogNormalizationConstantReturns the log of the normalization constant.
/getMAPConfigurationReturns a MAP configuration.
/getMarginalComputes the marginal distribution for the nodes provided as argument with respect to the (imaginary) joint potential, determined by the current potentials on the junction tree(s) of this DomainResource.
/getMaxNumberOfEMIterationsReturns the maximum number of iterations allowed for the EM algorithm.
/getMaxNumberOfSeparatorsReturns the maximum number of separators allowed when using the total weight triangulation method.
/getNormalDeviateUse the pseudo-random number generator for this DomainResource to sample a real number from a normal (aka Gaussian) distribution.
/getNormalizationConstantRetrieves the normalization constant for the most recent propagation.
/getNumberOfCasesReturns the number of data cases.
/getNumberOfMAPConfigurationsReturns the number of MAP configurations.
/getProbabilityOfMAPConfigurationReturns the probability of a MAP configuration.
/getSensitivitySetReturns the sensitivity set computed by the most recent call to DomainResource -> /computeSensitivityData.
/getSignificanceLevelReturns the significance level of the dependency tests performed during structure learning using the PC-algorithm.
/getUniformDeviateUse the pseudo-random number generator for this DomainResource to sample a real number from the uniform distribution over the interval [0,1).
/enterCaseEnters a case as evidence.
/equilibriumIsTests the Equilibrium type.
/isCompressedTests whether this DomainResource is compressed.
/evidenceModeIsTests for evidence mode.
/learnStructureLearn the structure (graph) of the Bayesian network from data using the PC-algorithm.
/learnTablesLearns the conditional probability tables from data using the EM algorithm.
/likelihoodIsPropagatedReturns true if likelihood has been propagated for this DomainResource; otherwise, returns false.
/newCaseCreates a new case.
/findMAPConfigurationsFinds all configurations of nodes with probability at least {minprobability}.
/getAICComputes the AIC score (Akaike’s Information Criterion) of the case data.
/getApproximationConstantReturns the approximation constant.
/getBICComputes the BIC score (Bayesian Information Criterion) of the case data.
/getCaseCountReturns case count for a case.
/getConflictReturns the conflict value.
/getDConnectedNodesPerforms a d-separation test and returns a list of d-connected nodes.
/getDSeparatedNodesPerforms a d-separation test and returns a list of d-separated nodes.
/getEliminationOrderReturns the triangulation order.
/resetInferenceEngineEstablishes the initial state of the inference engine, which is sum-equilibrium with no evidence incorporated.
/saveToMemoryCreates a copy in memory of the belief and junction tree tables of this DomainResource.
/seedRandomSeeds the pseudo-random number generator for this DomainResource.
/setCaseCountSets case count for a case.
/setLogLikelihoodToleranceSets the log-likelihood tolerance for this DomainResource.
/setMaxNumberOfEMIterationsSets the maximum number of iterations allowed for the EM algorithm.
/setMaxNumberOfSeparatorsSets the maximum number of separators allowed when using the total weight triangulation method.
/setNumberOfCasesSets the number of cases.
/setSignificanceLevelSets the significance level of the dependency tests performed during structure learning using the PC-algorithm.
/simulateGenerates a sample configuration from the joint distribution represented by this DomainResource.
/batchSimulateGenerates a number of sample configurations by invoking DomainResource -> /simulate a number of times and for each iteration recording the results of NodeResource -> /getSampledValue , NodeResource -> /getSampledState or NodeResource -> /getSampledUtility for specified NodeResources.
/tablesToPropagateTests for new node tables.
/triangulateTriangulates the graph of this DomainResource using the default triangulation method.
/triangulateWithMethodTriangulates the graph of this DomainResource using the specified triangulation method.
/computeDBNPredictionsComputes predictions for {numberOfTimePoints} time slices beyond the current time window.
/getDBNWindowOffsetReturns the total number of time steps that the time window of this DBN runtime domain has been moved.
/initializeDBNWindowMoves the time window of this DBN back to its initial position, and removes all evidence.
/moveDBNWindowSlides the time window of this DBN delta steps into the future.
/triangulateDBNTriangulates a DomainResource produced by ClassResource -> /createDBNDomain such that DomainResource -> /moveDBNWindow can be used.
/triangulateDBNForBKTriangulates a DomainResource produced by ClassResource -> /createDBNDomain such that DomainResource -> /moveDBNWindow can be used.
/uncompileUncompiles this DomainResource.
/updatePoliciesUpdates the policy tables of the domain.
/getExplanationReturns the evidence subset associated with the explanation of rank index computed by the most recent call to NodeResource -> /computeExplanationData.
/getExplanationScoreReturns the score of the specified explanation.
/getNumberOfExplanationsReturns the number of explanations.
/addCasesAdds the specified range of rows of the data set to this DomainResource as cases.
NodeResourceNodes are one of the fundamental objects used in the construction of Bayesian networks and LIMIDs.
Functions
/deleteDeletes this NodeResource.
/getModelGets the ModelResource for this NodeResource.
/getNameReturns the name of this NodeResource.
/setNameSets the name of this NodeResource.
/getPositionXReturns the position of this NodeResource on the X-axis.
/getPositionYReturns the position of this NodeResource on the Y-axis.
/setPositionSets the position of this NodeResource.
/setNumberOfStatesSets the number of states of this NodeResource.
/getNumberOfStatesGet the number of states of this discrete node.
/setStateLabelSets the label of the specified state.
/getStateLabelGets the label of the specified state.
/getTableGets the TableResource associated with this NodeResource.
/getBeliefGets the belief for the specified state of this NodeResource.
/getPredictedBeliefReturns the predicted belief for the specified state of this discrete NodeResource at the specified time point.
/getParentsGet list of parent nodes for this NodeResource.
/getChildrenGet list of child nodes for this NodeResource.
/addParentAdds a NodeResource as a new parent of this NodeResource.
/selectStateSelects the specified state of this NodeResource.
/getSelectedStateGets (the index of) the selected state of this node.
/retractFindingsRetracts all findings for this NodeResource.
/getExpectedUtilityGets the expected utility associated with this utility node or specified action of this discrete decision node.
/getSampledUtilityReturns the sampled utility associated with this utility node.
/getValueGets the value of this FunctionNode.
/getPredictedValueGets the predicted value of this FunctionNode at the specified time point.
/setValueSets the function associated with this function node to a number value.
/evidenceIsEnteredTest if the evidence potential, currently registered with this NodeResource, is non-vacuous.
/getStateIndexGet the index of the state matching the specified value.
/getStateValueGets the value associated with a particular state of this numbered node or the low value of the interval associated with a particular state of this interval node.
/setStateValueSets the value associated with a particular state of this numbered node or the low value of the interval associated with a particular state of this interval node.
/enterValueEnters evidence (observation of the value) for this continuous chance node.
/getEnteredValueReturns the evidence (value) entered for this continuous chance node.
/evidenceIsPropagatedReturns true if the evidence potential for this NodeResource, incorporated within the current junction tree potentials, is non-vacuous; otherwise, returns false.
/evidenceToPropagateReturns true if the entered and the propagated evidence differ; otherwise, returns false.
/getAttributeReturns an attribute value.
/getCategoryReturns the category of this NodeResource.
/getEdgeConstraintReturns the constraint between this and node.
/getHomeDomainReturns the DomainResource containing this NodeResource.
/getJunctionTreeReturns the JunctionTreeResource to which this NodeResource belongs.
/getKindReturns the kind of this NodeResource.
/getSubtypeReturns the subtype of this NodeResource.
/getLabelReturns the label of this NodeResource.
/likelihoodIsPropagatedReturns true if the evidence potential for this NodeResource, incorporated within the current junction tree potentials, is a likelihood; otherwise, returns false.
/likelihoodIsEnteredReturns true if the evidence potential, currently registered with this NodeResource, is a likelihood; otherwise, returns false.
/removeParentRemoves the directed link between a parent and this NodeResource.
/reverseEdgeReverses the edge between this NodeResource and the specified neighbor.
/setAttributeSets a value for a particular attribute in the attribute list for this NodeResource.
/setEdgeConstraintSets a constraint between this NodeResource and another NodeResource.
/setLabelSets the label of this NodeResource.
/switchParentReplace the given parent node with the new node.
/caseIsSetReturns true if a value has been set for this continuous chance or discrete node in case {caseindex}; otherwise, returns false.
/getAlphaReturns the alpha component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.
/getBetaReturns the beta component of the CG distribution of this continuous chance node given a continuous parent and the discrete parent configuration corresponding to {i}.
/getCaseValueReturns the value set for this continuous chance node in case {caseindex}.
/getDistributionReturns the distribution for this continuous node.
/getExperienceTableReturns the experience table of this continuous or discrete chance node.
/getGammaReturns the gamma component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.
/getMeanReturns the mean of the marginal distribution of this continuous chance node.
/getPredictedMeanReturns the predicted mean of the marginal distribution of this continuous chance node at the specified time point.
/getPropagatedValueRetrieves the value that has been propagated for this continuous chance node.
/getSampledValueReturns the value of this function or continuous chance node for the configuration generated by the most recent call to DomainResource -> /simulate.
/getVarianceReturns the variance of the marginal distribution of this continuous chance node.
/getPredictedVarianceReturns the predicted variance of the marginal distribution of this continuous chance node at the specified time point.
/hasExperienceTableReturns true if this continuous or discrete chance node has an experience table; returns false otherwise.
/setAlphaSets the alpha component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.
/setBetaSets the beta component of the CG distribution of this continuous chance node given a continuous parent and the discrete parent configuration corresponding to {i}.
/setCaseValueSets the value of this continuous chance node to {value} in case {c}.
/setGammaSets the gamma component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.
/unsetCaseSpecifies that the value of this continuous chance or discrete node is “unknown” for case {caseindex}.
/computeSensitivityDataComputes the constants of the sensitivity functions for the specified output probability and all CPT/policy parameters in the network.
/getFadingTableReturns the fading table of this discrete chance node.
/hasFadingTableReturns true if this discrete chance node has a fading table; returns false otherwise.
/getRequisiteAncestorsReturns a white-space separated list of URI references to the requisite ancestors of this decision node.
/getRequisiteParentsReturns a white-space separated list of URI references to the requisite parents of this decision node.
/enterFindingSpecifies a finding value for a given state with all other states unaffected.
/generateTableGenerates the table of this discrete node from its model (a missing model will trigger an error).
/getCaseStateReturns the state of this discrete node for case {c}.
/getEnteredFindingReturns the entered finding for the specified state of this node.
/getEntropyComputes the entropy of this node.
/getMutualInformationComputes the mutual information between this node and the specified node.
/getPropagatedFindingReturns the propagated finding.
/getSampledStateReturns the state index of this discrete node for the configuration generated by the most recent call to DomainResource -> /simulate.
/getSensitivityConstantsReturns the four constants of the specified sensitivity function.
/getSensitivityConstantsByOutputReturns the four constants of the specified sensitivity function.
/setCaseStateSets the state of this discrete node to {state} in case {c}.
/getStateIndexFromLabelReturns the index of the state matching the specified {label}.
/computeExplanationDataComputes Bayes factor data for all (nonempty) subsets of evidence nodes up to the specified maximum size.
/addToInputsMakes this <NodeResoruce> become an input node of its ClassResource.
/addToOutputsMakes this NodeResource become an output node of its ClassResource.
/createTemporalCloneConstructs a temporal clone of this NodeResource.
/getHomeReturns the ClassResource or DomainResource containing this NodeResource.
/getHomeClassReturns the ClassResource containing this NodeResource.
/getInstanceReturns the instance NodeResource containing this (cloned) output node.
/getMasterReturns the “master” of this (cloned) output NodeResource of an instance node (i.e., the node cloned to get this output node).
/getSourceGet a list of NodeResources of ClassResource nodes that identifies this DomainResource node.
/getTemporalCloneGet the “temporal clone” of this NodeResource.
/getTemporalMasterGet the “temporal master” of this NodeResource.
/removeFromInputsRemoves this NodeResource from the set of input nodes of its class.
/removeFromOutputsRemoves this NodeResource from the set of output nodes of its class.
TableResourceHugin uses tables for representing the conditional probability and utility potentials of individual nodes, the probability and utility potentials on separators and cliques of junction trees, evidence potentials, etc.
Functions
/deleteDeletes this TableResource.
/getSizeGet the size of this TableResource.
/getNodesGet all NodeResources associated with this TableResource.
/getDataItemGet the data item at position {index} of the discrete data of this TableResource.
/setDataItemSets a specific data item of the discrete data of this TableResource.
/setDataSets a region of the discrete data of this TableResource.
/getDataGets a region of the discrete data of this TableResource.
/getMeanReturns the mean of a continuous chance NodeResource given a configuration of the discrete chance NodeResources of this TableResource.
/getVarianceReturns the variance of a continuous chance NodeResource given a configuration of the discrete chance NodeResources of this TableResource.
/getCovarianceReturns the covariance of a couple of continuous chance NodeResources given a configuration of the discrete chance NodeResources of this TableResource.
/reorderNodesReorders the list of NodeResource of this TableResource.
/getCGSizeReturns the CG size of this TableResource.
/setAllDataItemsSets all data items of the discrete data of this TableResource.
ModelResourceA Model is a compact description of a table.
Functions
/deleteDeletes this ModelResource.
/setExpressionAssociates an expression (specified as a string) with a specific configuration of the NodeResources of this ModelResource.
/getExpressionReturns the expression (as a string) associated with a specific configuration of the NodeResources of this ModelResource.
/setNumberOfSamplesPerIntervalSets the number of values taken within each bounded interval of an interval parent when generating the conditional probability table for a node with interval parents.
/getNumberOfSamplesPerIntervalGets the number of values per interval used when generating the conditional probability table for a node with interval parents.
/getSizeReturns the number of configurations of the NodeResources of this ModelResource.
/getNodesReturns the list of NodeResources in this ModelResource.
CliqueResourceCliqueResources represents the cliques in the junction tree.
Functions
/getJunctionTreeGet the JunctionTreeResource to which this CliqueResource belongs.
/getMembersGet the list of NodeResources that are members of this CliqueResource.
/getNeighborsReturns a list of CliqueResources that are neighbors of this CliqueResource.
JunctionTreeResourceJunctionTreeResources represents the junction trees in the compiled domain.
Functions
/cgEvidenceIsPropagatedReturns true if CG evidence has been propagated in this junction tree; otherwise, returns false.
/equilibriumIsTests the Equilibrium type.
/evidenceIsPropagatedTests if evidence has been propagated for this JunctionTreeResource.
/evidenceModeIsTests if the EvidenceMode matches {mode}.
/evidenceToPropagateTests if evidence has been entered since the last propagation.
/getCliquesReturns the list of CliqueResources in this JunctionTreeResource.
/getConflictReturns the conflict measure of the data inserted in this JunctionTreeResource.
/getRootReturns the root CliqueResource of this JunctionTreeResource.
/getTotalCGSizeReturns the total number of CG table entries for this JunctionTreeResource.
/getTotalSizeReturns the total number of discrete table configurations for this JunctionTreeResource.
/likelihoodIsPropagatedReturns true if likelihoods have been propagated in this JunctionTreeResource; otherwise, returns false.
/tablesToPropagateReturns true if this JunctionTreeResource contains updated tables that have not been propagated; otherwise, returns false.
/propagatePropagates evidence in this JunctionTreeResource.
DataSetResourceInstances of the DataSetResource represents a data set as a “matrix” with cases as rows and variables as columns.
Functions
/deleteDeletes this DataSetResource.
/keepAliveTouch the DataSetResource to mark it as active in periods where no other functions are being called.
/deleteColumnDeletes the specified column from this DataSet.
/deleteRowDeletes the specified row from this DataSet.
/getColumnNameReturns the name of the specified column of this DataSet.
/getDataItemReturns the data item at the specified location of this DataSet.
/getNumberOfColumnsReturns the number of columns in this DataSet.
/getNumberOfRowsReturns the number of rows in this DataSet.
/moveColumnMoves the specified column to a new position.
/moveRowMoves the specified row to a new position.
/newColumnCreates a new column in this DataSet.
/newRowCreates a new row in this DataSet.
/setColumnNameSets the name of the specified column of this DataSet.
/setDataItemSets (or deletes) the data item at the specified location of this DataSet.
/saveSubmits this DataSetResource in the form of a CSV file to the service located at a target URL.
/downloadGet this DataSetResource in the form of a CSV file.

Rest

Main entry point for the HUGIN web service API.  This resource provides functionallity for creating and loading DomainResources.

URI

/rest

Summary
Functions
/loadDomainConstruct a domain from a HUGIN Knowledge Base retrieved over HTTP.
/loadCompileDomainConstruct a domain from a HUGIN Knowledge Base retrieved over HTTP.
/newDomainConstruct an empty domain.
/newClassCollectionConstruct an empty classcollection.
/loadClassCollectionConstruct a classcollection from a HUGIN Knowledge Base retrieved over HTTP.
/loadDataSetConstruct a data set from a CSV file retrieved over HTTP.
/newDataSetConstruct an empty data set.
/runBatchJSONExperimental JSON batch feature.

Functions

/loadDomain

Construct a domain from a HUGIN Knowledge Base retrieved over HTTP.  If the contents constitutes a valid HKB file, a DomainResource is constructed and an URI reference is returned.

Request

POST /rest/loadDomain

Parameters

{URL}URL to HKB file

Request Body

={URL}

Response

200 OK

/rest/domain/{ID}

/loadCompileDomain

Construct a domain from a HUGIN Knowledge Base retrieved over HTTP.  If the contents constitutes a valid HKB file, a DomainResource is constructed and an URI reference is returned.  If the HKB file is a DomainResource stored in a compressed state, a sum,normal-propagation is performed, otherwise compile is invoked.

Request

POST /rest/loadCompileDomain

Parameters

{URL}URL to HKB file

Request Body

={URL}

Response

200 OK

/rest/domain/{ID}

/newDomain

Construct an empty domain.  An URI reference to the DomainResource is returned.

Request

POST /rest/newDomain

Response

200 OK

/rest/domain/{ID}

/newClassCollection

Construct an empty classcollection.  An URI reference to the ClassCollectionResource is returned.

Request

POST /rest/newClassCollection

Response

200 OK

/rest/cc/{ID}

/loadClassCollection

Construct a classcollection from a HUGIN Knowledge Base retrieved over HTTP.  If the contents constitutes a valid HKB file, a ClassCollectionResource is constructed and an URI reference is returned.

Request

POST /rest/loadClassCollection

Parameters

{URL}URL to HKB file

Request Body

={URL}

Response

200 OK

/rest/cc/{ID}

/loadDataSet

Construct a data set from a CSV file retrieved over HTTP.

Request

POST /rest/loadDataSet

Parameters

{URL}URL to CSV file

Request Body

={URL}&={delimiter}

Response

200 OK

/rest/dataset/{ID}

/newDataSet

Construct an empty data set.  An URI reference to the DataSetResource is returned.

Request

POST /rest/newDataSet

Response

200 OK

/rest/dataset/{ID}

/runBatchJSON

Experimental JSON batch feature.

Invoke a series of HUGIN function calls using just a single HTTP request.

Notice: the Content-Type of the request must be application/json.

Request

POST /rest/runBatchJSON

Parameters

{JSON}string; a JSON encoded list of HUGIN function calls.

Each HUGIN function call is a JSON object mimicking the corresponding HTTP request that would be needed to invoke the function.  The following two JSON objects are (strictly) accepted

POST

{
 "method": "POST",
 "url": "/rest/....",
 "body": "...."
}

GET

{
 "method": "GET",
 "url": "/rest/...."
}

Request Body

={JSON}

Example request body

=[
  {
   "method": "POST",
   "url": "/rest/domain/{ID}/compile",
   "body": ""
  },
  {
   "method": "POST",
   "url": "/rest/domain/{ID}/node/{ID}/selectState",
   "body": "=0"
  },
  {
   "method": "POST",
   "url": "/rest/domain/{ID}/propagate",
   "body": "=sum&=normal"
  },
  {
   "method": "GET",
   "url": "/rest/domain/{ID}/node/{ID}/getBelief?=1"
  }
]

Response

200 OK

{... JSON encoded list of results of HUGIN function calls ...}

Response Description

Response is a JSON encoded list of results containing the response to each function call in the batch.

If the request body (the JSON code) cannot be fully parsed the status code returned is a 202 Accepted and the response is the result of all batched requests up until the point where the parsing failed.

Example response

=[
  {
   "status": 200
  },
  {
   "status": 200
  },
  {
   "status": 200
  },
  {
   "status": 200,
   "body": "0.123"
  }
]

ClassCollectionResource

ClassResources are grouped into ClassCollectionResources.  Each class must belong to exactly one ClassCollectionResource.  A ClassCollectionResource can be considered a closed world of interdependent ClassResources (i.e., Bayesian networks and LIMIDs).  That is, each ClassResource may contain instances of other ClassResources of the ClassCollectionResource, but not of ClassResources of other ClassCollectionResources.

Several operations are supported for ClassCollectionResources

  • Create and delete
  • Saving to a HKB file URL
  • Retrieval of the list of ClassResource objects
  • Retrieval of a ClassResource object by its name

A ClassCollectionResource is instantiated using the Rest -> /newClassCollection or Rest -> /loadClassCollection.

URI

/rest/cc/{ID}

Summary
Functions
/deleteDeletes this ClassCollectionResource, including all nested HUGIN resources belonging to it (e.g.
/keepAliveTouch the ClassCollectionResource to mark it as active in periods where no other functions are being called.
/getClassByNameReturns a ClassResource by name.
/getMembersGet all ClassResources of this ClassCollectionResource.
/saveSubmits this ClassCollectionResource in the form of a HKB file to the service located at a target URL.
/downloadGet this ClassCollectionResource in the form of a HKB file.
/getNewClassCreates a new ClassResource.

Functions

/delete

Deletes this ClassCollectionResource, including all nested HUGIN resources belonging to it (e.g.  ClassResources, NodeResources, TableResources etc.).

Request

POST /rest/cc/{ID}/delete

Response

200 OK

/keepAlive

Touch the ClassCollectionResource to mark it as active in periods where no other functions are being called.  This function must be invoked regularly in periods where no operations are being performed on the ClassCollectionResource or any of the objects belonging to it, in order to signal the remote decision engine that the ClassCollectionResource and any of its objects are still in use and not subject to garbage collection.

Request

POST /rest/cc/{ID}/keepAlive

Response

200 OK

/getClassByName

Returns a ClassResource by name.

Request

GET /rest/cc/{ID}/getClassByName?={className}

Parameters

{className}name of the class to get.

Response

200 OK

/rest/cc/{ID}/class/{ID}

/getMembers

Get all ClassResources of this ClassCollectionResource.

Request

GET /rest/cc/{ID}/getMembers

Response

200 OK

/rest/cc/{ID}/class/{ID} /rest/cc/{ID}/class/{ID} /rest/cc/{ID}/class/{ID} ...

Response Description

Response is a white-space separated list of URI references to all ClassResources in this ClassCollectionResource.

/save

Submits this ClassCollectionResource in the form of a HKB file to the service located at a target URL.

Request

POST /rest/cc/{ID}/save

Parameters

{URL}the URL to submit HKB file
{method}the HTTP method to use: POST | PUT

Request Body

={URL}&={method}

Response

200 OK

/download

Get this ClassCollectionResource in the form of a HKB file.

Parameters

{filename}used for setting the Content-Disposition filename header of response.

Request

GET /rest/cc/{ID}/download?={filename}

Response

200 OK

[ ... raw HKB file contents ... ]

/getNewClass

Creates a new ClassResource.

Request

POST /rest/cc/{ID}/getNewClass

Parameters

{name}the name of the new class.

Request Body

={name}

Response

200 OK

/rest/cc/{ID}/class/{ID}

ClassResource

Instances of the ClassResource represent object-oriented Bayesian networks and LIMIDs.  Such an instance can contain nodes representing instances of other network classes and so on.  To use an instance (i.e., propagate evidence and calculate updated beliefs and expected utilities), it must first be unfolded to a plain Bayesian network or LIMID.  The ClassResource -> /createDomain function handles this.

A ClassResource is instantiated using the ClassCollectionResource -> /getNewClass.

URI

/rest/cc/{ID}/class/{ID}

Summary
Functions
/createDBNDomainCreates a DBN runtime DomainResource from this ClassResource.
/createDomainCreates a flat runtime DomainResource from this ClassResource.
/getNewInstanceNodeCreates a new instance node NodeResource.
/getClassCollectionGet the ClassCollectionResource to which this ClassResource belongs.
/getInputsGet all input NodeResources defined for this ClassResource.
/getInstancesGet all instance NodeResources that are instances of this ClassResource.
/getOutputsGet all output NodeResources defined for this ClassResource.
/getNameReturns the name of this ClassResource.
/setNameSets the name of this ClassResource.

Functions

/createDBNDomain

Creates a DBN runtime DomainResource from this ClassResource.  The domain is formed by linking (through temporal clones) the specified number of instances (called time slices) of the class.

Request

POST /rest/cc/{ID}/class/{ID}/createDBNDomain

Parameters

{numberOfSlices}the number of time slices; an integer.

Request Body

={numberOfSlices}

Response

200 OK

/rest/domain/{ID}

/createDomain

Creates a flat runtime DomainResource from this ClassResource.  The domain can be compiled and used for inference, etc.

Request

POST /rest/cc/{ID}/class/{ID}/createDomain

Response

200 OK

/rest/domain/{ID}

/getNewInstanceNode

Creates a new instance node NodeResource.

Request

POST /rest/cc/{ID}/class/{ID}/getNewInstanceNode

Parameters

{instanceOf}URI to the ClassResource from which to instantiate the new instance node.

Request Body

={instanceOf}

Response

200 OK

/rest/cc/{ID}/class/{ID}/node/{ID}

/getClassCollection

Get the ClassCollectionResource to which this ClassResource belongs.

Request

GET /rest/cc/{ID}/class/{ID}/getClassCollection

Response

200 OK

/rest/cc/{ID}

Response Description

An URI reference to the ClassCollectionResource is returned.

/getInputs

Get all input NodeResources defined for this ClassResource.

Request

GET /rest/cc/{ID}/class/{ID}/getInputs

Response

200 OK

/rest/cc/{ID}/class/{ID}/node/{ID} /rest/cc/{ID}/class/{ID}/node/{ID} /rest/cc/{ID}/class/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to NodeResources.

/getInstances

Get all instance NodeResources that are instances of this ClassResource.

Request

GET /rest/cc/{ID}/class/{ID}/getInstances

Response

200 OK

/rest/cc/{ID}/class/{ID}/node/{ID} /rest/cc/{ID}/class/{ID}/node/{ID} /rest/cc/{ID}/class/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to instance NodeResources.

/getOutputs

Get all output NodeResources defined for this ClassResource.

Request

GET /rest/cc/{ID}/class/{ID}/getOutputs

Response

200 OK

/rest/cc/{ID}/class/{ID}/node/{ID} /rest/cc/{ID}/class/{ID}/node/{ID} /rest/cc/{ID}/class/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to NodeResources.

/getName

Returns the name of this ClassResource.

Request

GET /rest/cc/{ID}/class/{ID}/getName

Response

200 OK

{node name string}

/setName

Sets the name of this ClassResource.  The name must be valid, i.e., it must follow the rules that govern the validity of C identifiers, and no other ClassResource in the ClassCollectionResource must have the same name.

Request

POST /rest/cc/{ID}/class/{ID}/setName

Parameters

{name}a string containing the new name of the ClassResource

Request Body

={name}

Response

200 OK

NetworkModelResource

NetworkModelResource interface is implemented by ClassResource and DomainResource.  A NetworkModelResource cannot be instantiated explicitly; use DomainResource and ClassResources.

DomainResource URI

/rest/domain/{ID}

ClassResource URI

/rest/cc/{ID}/class/{ID}

Summary
Functions
/deleteDeletes this NetworkModelResource, including all nested HUGIN resources belonging to it (e.g.
/getNodeByNameReturns a NodeResource by name.
/getNewNodeCreates a new NodeResource.
/getNodesGet all NodeResources in this NetworkModelResource.
/generateTablesGenerates the conditional probability tables for all nodes of this NetworkModelResource.
/getAttributeReturns an attribute value.
/parseNodesParses the file retrieved from an URL and returns a white-space separated list of URI references to NodeResources.
/setAttributeInserts the key/value pair in the attribute list for this NetworkModelResource.

Functions

/delete

Deletes this NetworkModelResource, including all nested HUGIN resources belonging to it (e.g.  NodeResources, TableResources etc.).  For DomainResources this includes JunctionTreeResources and CliqueResources as well.

ClassResource Request

POST /rest/cc/{ID}/class/{ID}/delete

DomainResource Request

POST /rest/domain/{ID}/delete

Response

200 OK

/getNodeByName

Returns a NodeResource by name.

ClassResource Request

GET /rest/cc/{ID}/class/{ID}/getNodeByName?={nodeName}

DomainResource Request

GET /rest/domain/{ID}/getNodeByName?={nodeName}

Parameters

{nodeName}name of the node to get.

Response

200 OK

/rest/domain/{ID}/node/{ID}

/getNewNode

Creates a new NodeResource.  The specifics of the node created depends on the category, kind and subtype specified.

ClassResource Request

POST /rest/cc/{ID}/class/{ID}/getNewNode

DomainResource Request

POST /rest/domain/{ID}/getNewNode

Parameters

{category}the node category.

Possible values for {category} are

  • chance
  • decision
  • utility
  • function
{kind}the node kind.

Possible values for {kind} are

  • discrete
  • continuous
  • other
{subtype}the node subtype.

Possible values for {subtype} are

  • label
  • boolean
  • number
  • interval
  • other

Request Body

={category}&={kind}&={subtype}

Response

200 OK

/rest/domain/{ID}/node/{ID}

/getNodes

Get all NodeResources in this NetworkModelResource.

ClassResource Request

GET /rest/cc/{ID}/class/{ID}/getNodes

DomainResource Request

GET /rest/domain/{ID}/getNodes

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to all NodeResources in this DomainResource.

/generateTables

Generates the conditional probability tables for all nodes of this NetworkModelResource.  This is done by calling NodeResource -> /generateTable for all nodes having a model, so the descriptions of the NodeResource -> /generateTable function (for discrete and utility nodes) also apply here.

ClassResource Request

POST /rest/cc/{ID}/class/{ID}/generateTables

DomainResource Request

POST /rest/domain/{ID}/generateTables

Response

200 OK

/getAttribute

Returns an attribute value.  That is, the value associated with a key in the attribute list for this NetworkModelResource.

ClassResource Request

GET /rest/cc/{ID}/class/{ID}/getAttribute?={key}

DomainResource Request

GET /rest/domain/{ID}/getAttribute?={key}

Parameters

{key}the key for which the attribute value is returned

Response

200 OK

...

Response Description

The attribute value associated with the {key}.

/parseNodes

Parses the file retrieved from an URL and returns a white-space separated list of URI references to NodeResources.  This is used for reading an elimination order from an external URL.

ClassResource Request

POST /rest/cc/{ID}/class/{ID}/parseNodes

DomainResource Request

POST /rest/domain/{ID}/parseNodes

Parameters

{URL}URL to the file with node names

Request Body

={URL}

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to NodeResources.

/setAttribute

Inserts the key/value pair in the attribute list for this NetworkModelResource.  If the key is already defined, the value is updated.  If no value is provided, the attribute is removed.

ClassResource Request

POST /rest/cc/{ID}/class/{ID}/setAttribute

DomainResource Request

POST /rest/domain/{ID}/setAttribute

Parameters

{key}The key identifying the attribute to be updated.
{value}The value of the attribute.

Request Body

={key}&={value}

Response

200 OK

DomainResource

Instances of the DomainResource represent Bayesian networks and LIMIDs in which you can propagate evidence and calculate updated beliefs and expected utilities.

A DomainResource is instantiated using the Rest -> /loadDomain or Rest -> /newDomain functions.

URI

/rest/domain/{ID}

Summary
Functions
/keepAliveTouch the DomainResource to mark it as active in periods where no other functions are being called.
/parseCaseParses a case retrieved from an URL and enters the associated findings into this DomainResource.
/saveCaseSubmits all evidence entered in this DomainResource to the service located at a target URL.
/saveSubmits this DomainResource in the form of a HKB file to the service located at a target URL.
/downloadGet this DomainResource in the form of a HKB file.
/parseCasesParses the cases retrieved form an URL and enters the cases into this DomainResource.
/saveCasesSubmits all cases in this DomainResource to the service located at a target URL.
/propagateEstablishes the specified equilibrium using the evidence mode indicated for incorporation of evidence on all JunctionTrees of this DomainResource.
/compileCompiles this DomainResource.
/adaptAdapts this DomainResource according to the evidence entered.
/adaptClassTablesUsingFractionalUpdateFor each discrete node of this DomainResource (which must be a runtime domain) such that both the node and its source node have experience tables, the conditional probability and experience tables of both nodes are learned/updated, and the tables of the domain node will be identical to those of its source node.
/adaptClassTablesUsingOnlineEMThis function updates (adapts), for all discrete chance nodes of this DomainResource, the experience count (retrieval of experience) and the conditional probability distribution (dissemination of experience) for all parent configurations having a valid experience count.
/approximateRemoves “near-zero” probabilities from the clique probability tables.
/cgEvidenceIsPropagatedCheck if evidence on CG nodes has been propagated.
/evidenceIsPropagatedTests if evidence has been propagated for this DomainResource.
/evidenceToPropagateTests if evidence has been entered since the last propagation.
/retractFindingsRetracts (all) evidence for all nodes in this DomainResource.
/getNewModelConstructs a ModelResource over a NodeResource given a list of NodeResources.
/getExpectedUtilityGets the total expected utility associated with this DomainResource.
/isCompiledTests whether this DomainResource is compiled.
/isTriangulatedTests whether this DomainResource is triangulated.
/isTriangulatedForBKTests whether this DomainResource has been triangulated for Boyen-Koller approximate inference.
/initializeEstablishes the initial values for all tables of this DomainResource (which must be compiled).
/getJunctionTreesGets all JunctionTreeResources of this DomainResource.
/compressRemoves the zero entries from the clique and separator tables of the junction trees in this DomainResource.
/computeSensitivityDataComputes the constants of the sensitivity functions for the specified output probabilities and all CPT parameters in the network.
/getLogLikelihoodComputes the log-likelihood of the case data.
/getLogLikelihoodToleranceReturns the log-likelihood tolerance for this DomainResource.
/getLogNormalizationConstantReturns the log of the normalization constant.
/getMAPConfigurationReturns a MAP configuration.
/getMarginalComputes the marginal distribution for the nodes provided as argument with respect to the (imaginary) joint potential, determined by the current potentials on the junction tree(s) of this DomainResource.
/getMaxNumberOfEMIterationsReturns the maximum number of iterations allowed for the EM algorithm.
/getMaxNumberOfSeparatorsReturns the maximum number of separators allowed when using the total weight triangulation method.
/getNormalDeviateUse the pseudo-random number generator for this DomainResource to sample a real number from a normal (aka Gaussian) distribution.
/getNormalizationConstantRetrieves the normalization constant for the most recent propagation.
/getNumberOfCasesReturns the number of data cases.
/getNumberOfMAPConfigurationsReturns the number of MAP configurations.
/getProbabilityOfMAPConfigurationReturns the probability of a MAP configuration.
/getSensitivitySetReturns the sensitivity set computed by the most recent call to DomainResource -> /computeSensitivityData.
/getSignificanceLevelReturns the significance level of the dependency tests performed during structure learning using the PC-algorithm.
/getUniformDeviateUse the pseudo-random number generator for this DomainResource to sample a real number from the uniform distribution over the interval [0,1).
/enterCaseEnters a case as evidence.
/equilibriumIsTests the Equilibrium type.
/isCompressedTests whether this DomainResource is compressed.
/evidenceModeIsTests for evidence mode.
/learnStructureLearn the structure (graph) of the Bayesian network from data using the PC-algorithm.
/learnTablesLearns the conditional probability tables from data using the EM algorithm.
/likelihoodIsPropagatedReturns true if likelihood has been propagated for this DomainResource; otherwise, returns false.
/newCaseCreates a new case.
/findMAPConfigurationsFinds all configurations of nodes with probability at least {minprobability}.
/getAICComputes the AIC score (Akaike’s Information Criterion) of the case data.
/getApproximationConstantReturns the approximation constant.
/getBICComputes the BIC score (Bayesian Information Criterion) of the case data.
/getCaseCountReturns case count for a case.
/getConflictReturns the conflict value.
/getDConnectedNodesPerforms a d-separation test and returns a list of d-connected nodes.
/getDSeparatedNodesPerforms a d-separation test and returns a list of d-separated nodes.
/getEliminationOrderReturns the triangulation order.
/resetInferenceEngineEstablishes the initial state of the inference engine, which is sum-equilibrium with no evidence incorporated.
/saveToMemoryCreates a copy in memory of the belief and junction tree tables of this DomainResource.
/seedRandomSeeds the pseudo-random number generator for this DomainResource.
/setCaseCountSets case count for a case.
/setLogLikelihoodToleranceSets the log-likelihood tolerance for this DomainResource.
/setMaxNumberOfEMIterationsSets the maximum number of iterations allowed for the EM algorithm.
/setMaxNumberOfSeparatorsSets the maximum number of separators allowed when using the total weight triangulation method.
/setNumberOfCasesSets the number of cases.
/setSignificanceLevelSets the significance level of the dependency tests performed during structure learning using the PC-algorithm.
/simulateGenerates a sample configuration from the joint distribution represented by this DomainResource.
/batchSimulateGenerates a number of sample configurations by invoking DomainResource -> /simulate a number of times and for each iteration recording the results of NodeResource -> /getSampledValue , NodeResource -> /getSampledState or NodeResource -> /getSampledUtility for specified NodeResources.
/tablesToPropagateTests for new node tables.
/triangulateTriangulates the graph of this DomainResource using the default triangulation method.
/triangulateWithMethodTriangulates the graph of this DomainResource using the specified triangulation method.
/computeDBNPredictionsComputes predictions for {numberOfTimePoints} time slices beyond the current time window.
/getDBNWindowOffsetReturns the total number of time steps that the time window of this DBN runtime domain has been moved.
/initializeDBNWindowMoves the time window of this DBN back to its initial position, and removes all evidence.
/moveDBNWindowSlides the time window of this DBN delta steps into the future.
/triangulateDBNTriangulates a DomainResource produced by ClassResource -> /createDBNDomain such that DomainResource -> /moveDBNWindow can be used.
/triangulateDBNForBKTriangulates a DomainResource produced by ClassResource -> /createDBNDomain such that DomainResource -> /moveDBNWindow can be used.
/uncompileUncompiles this DomainResource.
/updatePoliciesUpdates the policy tables of the domain.
/getExplanationReturns the evidence subset associated with the explanation of rank index computed by the most recent call to NodeResource -> /computeExplanationData.
/getExplanationScoreReturns the score of the specified explanation.
/getNumberOfExplanationsReturns the number of explanations.
/addCasesAdds the specified range of rows of the data set to this DomainResource as cases.

Functions

/keepAlive

Touch the DomainResource to mark it as active in periods where no other functions are being called.  This function must be invoked regularly in periods where no operations are being performed on the DomainResource or any of the objects belonging to it, in order to signal the remote decision engine that the DomainResource and any of its objects are still in use and not subject to garbage collection.

Request

POST /rest/domain/{ID}/keepAlive

Response

200 OK

/parseCase

Parses a case retrieved from an URL and enters the associated findings into this DomainResource.  All existing evidence in the DomainResource is retracted before entering the case findings.  Contents of the retrieved ressource must conform to the HUGIN case file grammar as defined in the HUGIN API manual (api-manual.pdf).

Request

POST /rest/domain/{ID}/parseCase

Parameters

{URL}URL to case file

Request Body

={URL}

Response

200 OK

/saveCase

Submits all evidence entered in this DomainResource to the service located at a target URL.  Submittet contents conforms to the HUGIN case file grammar as defined in the HUGIN API manual (api-manual.pdf).

Request

POST /rest/domain/{ID}/saveCase

Parameters

{URL}the URL to submit case file
{method}the HTTP method to use: POST | PUT

Request Body

={URL}&={method}

Response

200 OK

/save

Submits this DomainResource in the form of a HKB file to the service located at a target URL.

Request

POST /rest/domain/{ID}/save

Parameters

{URL}the URL to submit HKB file
{method}the HTTP method to use: POST | PUT

Request Body

={URL}&={method}

Response

200 OK

/download

Get this DomainResource in the form of a HKB file.

Parameters

{filename}filename, used for setting the Content-Disposition filename header of response.

Request

GET /rest/domain/{ID}/download?={filename}

Response

200 OK

[ ... raw HKB file contents ... ]

/parseCases

Parses the cases retrieved form an URL and enters the cases into this DomainResource.  Contents of the retrieved ressource must conform to the HUGIN data file grammar as defined in the HUGIN API manual (api-manual.pdf).

Request

POST /rest/domain/{ID}/parseCases

Parameters

{URL}URL to data file

Request Body

={URL}

Response

200 OK

/saveCases

Submits all cases in this DomainResource to the service located at a target URL.  Submittet contents uses specified {separator} between data items and {missingData} for missing data; and otherwise conforms to the HUGIN data file grammar as defined in the HUGIN API manual (api-manual.pdf)

Request

POST /rest/domain/{ID}/saveCases

Parameters

{URL}the URL to submit data file
{method}the HTTP method to use: POST | PUT
{nodes}a list of all nodes which are to be included in the file; a white-space separated list of URI references to NodeResources.
{cases}a white-space separated list of case indexes specifying the cases to be included in the file.  Note: passing an empty list for this parameter will include all cases.
{caseCounts}a string true or false.  If true, include case counts in the data file.  If false, only include case counts if they are present in the DomainResource.
{separator}the string used to seperate the items in the file
{missingData}the string used to represent missing data

Request Body

={URL}&={method}&={nodes}&={cases}&={caseCounts}&={separator}&={missingData}

Response

200 OK

/propagate

Establishes the specified equilibrium using the evidence mode indicated for incorporation of evidence on all JunctionTrees of this DomainResource.  Also, revised beliefs will be computed for all nodes.

Request

POST /rest/domain/{ID}/propagate

Parameters

{equilibrium}Equilibrium type.  The normal Equilibrium type is sum.

Possible values for {equilibrium} are

  • sum
  • max
{evidenceMode}EvidenceMode type.  The normal EvidenceMode type is normal.

Possible values for {evidenceMode} are

  • normal
  • retraction

Request Body

={equilibrium}&={evidenceMode}

Response

200 OK

/compile

Compiles this DomainResource.  The domain must not be compiled.  The default triangulation method is used (unless the domain is already triangulated, in which case the existing triangulation is used).

Request

POST /rest/domain/{ID}/compile

Response

200 OK

/adapt

Adapts this DomainResource according to the evidence entered.

Request

POST /rest/domain/{ID}/adapt

Response

200 OK

/adaptClassTablesUsingFractionalUpdate

For each discrete node of this DomainResource (which must be a runtime domain) such that both the node and its source node have experience tables, the conditional probability and experience tables of both nodes are learned/updated, and the tables of the domain node will be identical to those of its source node.

Nodes (in this domain or in the object-oriented model) without experience tables will not be modified.

This function updates (adapts), for all discrete nodes.

Request

POST /rest/domain/{ID}/adaptClassTablesUsingFractionalUpdate

Response

200 OK

/adaptClassTablesUsingOnlineEM

This function updates (adapts), for all discrete chance nodes of this DomainResource, the experience count (retrieval of experience) and the conditional probability distribution (dissemination of experience) for all parent configurations having a valid experience count.  (Fading factors are ignored.)

The alpha argument and the total experience determine the learning rate of the update step.

Request

POST /rest/domain/{ID}/adaptClassTablesUsingOnlineEM

Parameters

{alpha}the parameter to be used for online EM.

Request Body

={alpha}

Response

200 OK

/approximate

Removes “near-zero” probabilities from the clique probability tables.  For each clique in this DomainResource, a value delta is computed such that the sum of all elements less than delta in the (discrete part) of the clique table is less than epsilon.  These elements (less than delta) are then set to 0.

Request

POST /rest/domain/{ID}/approximate

Parameters

{epsilon}the threshold value.  Maximal probability mass to eradicate from each clique.

Request Body

={epsilon}

Response

200 OK

{real number}

Response Description

Returned {real number} is the probability mass remaining in the entire Domain, letting you know how much precision you have “lost”.  Note that this is not the same as 1 - epsilon, as the epsilon value is relative to each clique.  Typically, the amount of probability mass removed will be somewhat larger than epsilon.

/cgEvidenceIsPropagated

Check if evidence on CG nodes has been propagated.

Request

GET /rest/domain/{ID}/cgEvidenceIsPropagated

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if evidence on CG nodes has been propagated; otherwise, false.

/evidenceIsPropagated

Tests if evidence has been propagated for this DomainResource.

Request

GET /rest/domain/{ID}/evidenceIsPropagated

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if evidence has been propagated; otherwise, false.

/evidenceToPropagate

Tests if evidence has been entered since the last propagation.

Request

GET /rest/domain/{ID}/evidenceToPropagate

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if evidence has been entered since the last propagation; otherwise, false.

/retractFindings

Retracts (all) evidence for all nodes in this DomainResource.

Request

POST /rest/domain/{ID}/retractFindings

Response

200 OK

/getNewModel

Constructs a ModelResource over a NodeResource given a list of NodeResources.

Parameters

{belongsTo}URI reference to the NodeResource that the new ModelResource belongs to.
{modelNodes}a list of any model nodes for the new ModelResource; a white-space separated list of URI references to NodeResources.

Request

POST /rest/domain/{ID}/getNewModel

Request Body

={belongsTo}&={modelNodes}

Response

200 OK

/rest/domain/{ID}/model/{ID}

Response Description

The returned URI is a reference to the newly created ModelResource.

/getExpectedUtility

Gets the total expected utility associated with this DomainResource.

Request

GET /rest/domain/{ID}/getExpectedUtility

Response

200 OK

{real number}

Response Description

Returned {real number} is the total expected utility associated with this DomainResource.

/isCompiled

Tests whether this DomainResource is compiled.  A domain is “compiled” if it is triangulated and junction tree tables are created.

Request

GET /rest/domain/{ID}/isCompiled

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if the domain is compiled; otherwise, false.

/isTriangulated

Tests whether this DomainResource is triangulated.  Being “triangulated” means that the junction forest has been created, but not the associated tables.

Request

GET /rest/domain/{ID}/isTriangulated

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if the domain is triangulated; otherwise, false.

/isTriangulatedForBK

Tests whether this DomainResource has been triangulated for Boyen-Koller approximate inference.  That is, has this DomainResource been triangulated using DomainResource -> /triangulateDBNForBK.

Request

GET /rest/domain/{ID}/isTriangulatedForBK

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if the domain is triangulated for Boyen-Koller; otherwise, false.

/initialize

Establishes the initial values for all tables of this DomainResource (which must be compiled).  This method erases all evidence previously entered.

Request

POST /rest/domain/{ID}/initialize

Response

200 OK

/getJunctionTrees

Gets all JunctionTreeResources of this DomainResource.

Request

GET /rest/domain/{ID}/getJunctionTrees

Response

200 OK

/rest/domain/{ID}/junctiontree/{ID} /rest/domain/{ID}/junctiontree/{ID} /rest/domain/{ID}/junctiontree/{ID} ...

Response Description

Response is a white-space separated list of URI references to all JunctionTreeResources of this DomainResource.

/compress

Removes the zero entries from the clique and separator tables of the junction trees in this DomainResource.  Compression can only be applied to (compiled) ordinary Bayesian networks.  Continuous nodes are allowed, but compression only applies to configurations of states of the discrete nodes.

Request

POST /rest/domain/{ID}/compress

Response

200 OK

/computeSensitivityData

Computes the constants of the sensitivity functions for the specified output probabilities and all CPT parameters in the network.  The output probabilities are specified using a list of nodes and a list of corresponding states.

Parameters

{nodes}the list of (output) nodes; a white-space separated list of URI references to NodeResources.
{states}a list of states of the nodes in the nodes list; a white-space separated list of state indices (integers).

Request

POST /rest/domain/{ID}/computeSensitivityData

Request Body

={nodes}&={states}

Response

200 OK

/getLogLikelihood

Computes the log-likelihood of the case data.

Request

GET /rest/domain/{ID}/getLogLikelihood

Response

200 OK

{real number}

Response Description

Returned {real number} is the log-likelihood of the case data.

/getLogLikelihoodTolerance

Returns the log-likelihood tolerance for this DomainResource.

Request

GET /rest/domain/{ID}/getLogLikelihoodTolerance

Response

200 OK

{real number}

Response Description

Returned {real number} is the log-likelihood tolerance.

/getLogNormalizationConstant

Returns the log of the normalization constant.

Request

GET /rest/domain/{ID}/getLogNormalizationConstant

Response

200 OK

{real number}

Response Description

Returned {real number} is the log of the normalization constant.

/getMAPConfiguration

Returns a MAP configuration.  This method returns the configuration identified by index among the configurations with probability at least minProbability - as specified in the most recent successful call to DomainResource -> /findMAPConfigurations.

The index argument must be a nonnegative integer less than DomainResource -> /getNumberOfMAPConfigurations: 0 requests the most probable configuration, 1 the second-most probable configuration, etc.

Parameters

{index}identifies the configuration; an integer.

Request

GET /rest/domain/{ID}/getMAPConfiguration?={index}

Response

200 OK

{integer} {integer} {integer} ...

Response Description

Response is a white-space separated list of state indexes forming the configuration of the nodes passsed to DomainResource -> /findMAPConfigurations.

/getMarginal

Computes the marginal distribution for the nodes provided as argument with respect to the (imaginary) joint potential, determined by the current potentials on the junction tree(s) of this DomainResource.  If nodes contains continuous nodes, they must be last in the list.  This operation is not allowed on compressed domains.

Parameters

{nodes}a list of nodes over which to compute the marginal; a white-space separated list of URI references to NodeResources.

Request

GET /rest/domain/{ID}/getMarginal?={nodes}

Response

200 OK

/rest/domain/{ID}/table/{ID}

Response Description

An URI reference to the TableResource containing the marginal distribution over the nodes.

/getMaxNumberOfEMIterations

Returns the maximum number of iterations allowed for the EM algorithm.

Request

GET /rest/domain/{ID}/getMaxNumberOfEMIterations

Response

200 OK

{integer}

Response Description

Returned {integer} is the maximum number of iterations allowed for the EM algorithm.

/getMaxNumberOfSeparators

Returns the maximum number of separators allowed when using the total weight triangulation method.

Request

GET /rest/domain/{ID}/getMaxNumberOfSeparators

Response

200 OK

{integer}

Response Description

Returned {integer} is the maximum number of separators allowed when using the total weight triangulation method.

/getNormalDeviate

Use the pseudo-random number generator for this DomainResource to sample a real number from a normal (aka Gaussian) distribution.

Parameters

{mean}the mean of the distribution; a real number.
{variance}the variance of the distribution ; a real number.

Request

GET /rest/domain/{ID}/getNormalDeviate?={mean}&={variance}

Response

200 OK

{real number}

Response Description

Response is a sampled {real number} from a normal distribution.

/getNormalizationConstant

Retrieves the normalization constant for the most recent propagation.  For sum-propagation, the normalization constant is equal to the probability of the evidence propagated.  For max-propagation, the normalization constant is the probability of the most probable configuration with the evidence incorporated.

Request

GET /rest/domain/{ID}/getNormalizationConstant

Response

200 OK

{real number}

Response Description

Returned {real number} is the normalization constant for the most recent propagation.

/getNumberOfCases

Returns the number of data cases.

Request

GET /rest/domain/{ID}/getNumberOfCases

Response

200 OK

{integer}

Response Description

Returned {integer} is the number of data cases.

/getNumberOfMAPConfigurations

Returns the number of MAP configurations.  This function returns the number of configurations found by the most recent successful call to DomainResource -> /findMAPConfigurations.

Request

GET /rest/domain/{ID}/getNumberOfMAPConfigurations

Response

200 OK

{integer}

Response Description

Returned {integer} is the number of MAP configurations found by the most recent successful call to DomainResource -> /findMAPConfigurations.

/getProbabilityOfMAPConfiguration

Returns the probability of a MAP configuration.  This method returns the probability of the configuration returned by DomainResource -> /getMAPConfiguration

Parameters

{index}identifies the configuration; an integer.

Request

GET /rest/domain/{ID}/getProbabilityOfMAPConfiguration?={index}

Response

200 OK

{real number}

Response Description

Returned {real number} is the probability of the configuration returned by DomainResource -> /getMAPConfiguration

/getSensitivitySet

Returns the sensitivity set computed by the most recent call to DomainResource -> /computeSensitivityData.  If the results produced by that call have been invalidated, an error is returned.

Request

GET /rest/domain/{ID}/getSensitivitySet

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to NodeResources.

/getSignificanceLevel

Returns the significance level of the dependency tests performed during structure learning using the PC-algorithm.  The default value is 0.05.

Request

GET /rest/domain/{ID}/getSignificanceLevel

Response

200 OK

{real number}

Response Description

Returned {real number} is the significance level of the dependency tests performed during structure learning using the PC-algorithm.

/getUniformDeviate

Use the pseudo-random number generator for this DomainResource to sample a real number from the uniform distribution over the interval [0,1).

Request

GET /rest/domain/{ID}/getUniformDeviate

Response

200 OK

{real number}

Response Description

Returned {real number} is sampled from the uniform distribution over the interval [0,1)

/enterCase

Enters a case as evidence.

Parameters

{index}case index; an integer.

Request

POST /rest/domain/{ID}/enterCase

Request Body

={index}

Response

200 OK

/equilibriumIs

Tests the Equilibrium type.  Returns true if the equilibrium states of all JunctionTreeResources of this DomainResource are identical to {equilibrium}; otherwise, returns false.

Parameters

{equilibrium}the type of Equilibrium to test for.

Request

GET /rest/domain/{ID}/equilibriumIs?={equilibrium}

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if the equilibrium states of all JunctionTreeResources of this DomainResource are identical to {equilibrium}; otherwise false.

/isCompressed

Tests whether this DomainResource is compressed.

Request

GET /rest/domain/{ID}/isCompressed

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if the domain is compressed; otherwise, false.

/evidenceModeIs

Tests for evidence mode.  Returns true if the equilibrium states of all JunctionTreeResources of this DomainResource could have been obtained through a propagation using {mode} as the evidence incorporation mode.  Otherwise, returns false.

Parameters

{mode}the type of EvidenceMode to test for.

Request

GET /rest/domain/{ID}/evidenceModeIs?={mode}

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true the equilibrium states of all JunctionTreeResources of this DomainResource could have been obtained through a propagation using {evidencemode} as the evidence incorporation mode; otherwise false.

/learnStructure

Learn the structure (graph) of the Bayesian network from data using the PC-algorithm.

Request

POST /rest/domain/{ID}/learnStructure

Response

200 OK

/learnTables

Learns the conditional probability tables from data using the EM algorithm.

Request

POST /rest/domain/{ID}/learnTables

Response

200 OK

/likelihoodIsPropagated

Returns true if likelihood has been propagated for this DomainResource; otherwise, returns false.

Request

GET /rest/domain/{ID}/likelihoodIsPropagated

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if likelihood has been propagated for this DomainResource; otherwise, false.

/newCase

Creates a new case.

Request

POST /rest/domain/{ID}/newCase

Response

200 OK

{integer}

Response Description

Returned {integer} is the case index for the newly created case.

/findMAPConfigurations

Finds all configurations of nodes with probability at least {minprobability}.  This function uses a Monte Carlo algorithm to solve a generalized form of the maximum a posteriori (MAP) configuration problem: The MAP configuration problem is the problem of finding the most probable configuration of a set of nodes given evidence on some of the remaining nodes.

The results of this function are provided by DomainResource -> /getNumberOfMAPConfigurations, DomainResource -> /getMAPConfiguration and DomainResource -> /getProbabilityOfMAPConfiguration.

Parameters

{nodes}the discrete nodes for which to find configurations; a white-space separated list of URI references to NodeResources.
{minprobability}configurations with a lower probability than {minprobability} are ignored; a real number.

Request

POST /rest/domain/{ID}/findMAPConfigurations

Request Body

={nodes}&={minprobability}

Response

200 OK

/getAIC

Computes the AIC score (Akaike’s Information Criterion) of the case data.

Request

GET /rest/domain/{ID}/getAIC

Response

200 OK

{real number}

Response Description

Returned {real number} is the AIC score of the case data.

/getApproximationConstant

Returns the approximation constant.  The number returned is based on the most recent (explicit or implicit) approximation operation.  An implicit approximation takes place when you change some conditional probability tables of acompressed domain, and then perform a propagation operation.  Since some (discrete) state configurations have been removed from a compressed domain, the probability mass of the remaining configurations will typically be less than 1.  This probability mass is returned by DomainResource -> /getApproximationConstant.

Request

GET /rest/domain/{ID}/getApproximationConstant

Response

200 OK

{real number}

Response Description

Returned {real number} express the probability mass remaining in the approximated domain.

/getBIC

Computes the BIC score (Bayesian Information Criterion) of the case data.

Request

GET /rest/domain/{ID}/getBIC

Response

200 OK

{real number}

Response Description

Returned {real number} is the BIC score of the case data.

/getCaseCount

Returns case count for a case.

Parameters

{caseindex}the case for which to get the count.

Request

GET /rest/domain/{ID}/getCaseCount?={caseindex}

Response

200 OK

{real number}

Response Description

Returned {real number} is the multiplicity of case {caseindex}.

/getConflict

Returns the conflict value.  The conflict value is valid for this DomainResource computed during the most recent propagation.  If no propagation has been performed, 1 is returned.

Request

GET /rest/domain/{ID}/getConflict

Response

200 OK

{real number}

Response Description

Returned {real number} is the conflict value.

/getDConnectedNodes

Performs a d-separation test and returns a list of d-connected nodes.  Assuming evidence on the specified evidence nodes, this function returns the list of nodes that are d-connected to the specified list of source nodes.

Parameters

{source}list of source nodes; a white-space separated list of URI references to NodeResources.
{hard}list of nodes assumed to be instantiated; a white-space separated list of URI references to NodeResources.
{soft}list of nodes assumed to have multi-state or likelihood evidence; a white-space separated list of URI references to NodeResources.

Request

GET /rest/domain/{ID}/getDConnectedNodes?={source}&={hard}&={soft}

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to NodeResources.

/getDSeparatedNodes

Performs a d-separation test and returns a list of d-separated nodes.  Assuming evidence on the specified evidence nodes, this function returns the list of nodes that are d-separated to the specified list of source nodes.

Parameters

{source}list of source nodes; a white-space separated list of URI references to NodeResources.
{hard}list of nodes assumed to be instantiated; a white-space separated list of URI references to NodeResources.
{soft}list of nodes assumed to have multi-state or likelihood evidence; a white-space separated list of URI references to NodeResources.

Request

GET /rest/domain/{ID}/getDSeparatedNodes?={source}&={hard}&={soft}

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to NodeResources.

/getEliminationOrder

Returns the triangulation order.  A list of NodeResources in the order used to triangulate the network of this domain is returned.

Request

GET /rest/domain/{ID}/getEliminationOrder

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to NodeResources.

/resetInferenceEngine

Establishes the initial state of the inference engine, which is sum-equilibrium with no evidence incorporated.  Any propagated evidence will thus be removed from the junction tree potentials, but entered evidence will still be “registered” (i.e., they will be incorporated in the next propagation).

Request

POST /rest/domain/{ID}/resetInferenceEngine

Response

200 OK

/saveToMemory

Creates a copy in memory of the belief and junction tree tables of this DomainResource.  This operation can only be performed if the domain is compiled, the current equilibrium equals sum, and no evidence has been incorporated.

Request

POST /rest/domain/{ID}/saveToMemory

Response

200 OK

/seedRandom

Seeds the pseudo-random number generator for this DomainResource.  The configurations generated by simulate are not really random.  They are generated using a pseudo-random number generator producing a sequence of numbers that although it appears random is actually completely deterministic.  To change the starting point for the generator, use this method.

Parameters

{seed}the seed number; an integer.

Request

POST /rest/domain/{ID}/seedRandom

Request Body

={seed}

Response

200 OK

/setCaseCount

Sets case count for a case.

Parameters

{caseindex}case index; an integer.
{count}the count; a real number.

Request

POST /rest/domain/{ID}/setCaseCount

Request Body

={caseindex}&={count}

Response

200 OK

/setLogLikelihoodTolerance

Sets the log-likelihood tolerance for this DomainResource.

Parameters

{tolerance}a real number.

Request

POST /rest/domain/{ID}/setLogLikelihoodTolerance

Request Body

={tolerance}

Response

200 OK

/setMaxNumberOfEMIterations

Sets the maximum number of iterations allowed for the EM algorithm.  A value of 0 specifies an unbounded number of iterations.

Parameters

{maxnumber}an integer.

Request

POST /rest/domain/{ID}/setMaxNumberOfEMIterations

Request Body

={maxnumber}

Response

200 OK

/setMaxNumberOfSeparators

Sets the maximum number of separators allowed when using the total weight triangulation method.  A value of 0 specifies an unbounded number of separators.

Parameters

{maxnumber}an integer.

Request

POST /rest/domain/{ID}/setMaxNumberOfSeparators

Request Body

={maxnumber}

Response

200 OK

/setNumberOfCases

Sets the number of cases.

Parameters

{size}an integer.

Request

POST /rest/domain/{ID}/setNumberOfCases

Request Body

={size}

Response

200 OK

/setSignificanceLevel

Sets the significance level of the dependency tests performed during structure learning using the PC-algorithm.  The default value is 0.05.

Parameters

{alpha}an integer.

Request

POST /rest/domain/{ID}/setSignificanceLevel

Request Body

={alpha}

Response

200 OK

/simulate

Generates a sample configuration from the joint distribution represented by this DomainResource.  Given evidence, we may be interested in generating (sampling) configurations (i.e., vectors of values over the set of variables in the network) with respect to the conditional distribution for the evidence.  If the DomainResource is compiled, a configuration is sampled with respect to the current distribution represented by the junction tree(s).  This distribution must be in sum-equilibrium with evidence incorporated in normal mode.

Request

POST /rest/domain/{ID}/simulate

Response

200 OK

/batchSimulate

Generates a number of sample configurations by invoking DomainResource -> /simulate a number of times and for each iteration recording the results of NodeResource -> /getSampledValue , NodeResource -> /getSampledState or NodeResource -> /getSampledUtility for specified NodeResources.

Request

POST /rest/domain/{ID}/batchSimulate

Parameters

{iterations}the number of times to invoke DomainResource -> /simulate and record results.
{nodes}list of nodes to record the result of NodeResource -> /getSampledValue, NodeResource -> /getSampledState or NodeResource -> /getSampledUtility for each DomainResource -> /simulate iteration; a white-space separated list of URI references to NodeResources.

Request Body

={iterations}&={nodes}

Response

200 OK

/rest/domain/{ID}/node/{ID} {number} ... {number}
...

Response Description

response is a number of lines.  Each line begins with a URI reference to a NodeResource, followed by a white-space separated list of numbers

/tablesToPropagate

Tests for new node tables.  Returns true if there is a node in this DomainResource having a (conditional probability, policy, or utility) table that has changed since the most recent compilation or propagation; otherwise, returns false.

Request

POST /rest/domain/{ID}/tablesToPropagate

Response

200 OK

{true or false}

Response Description

returned {true or false} is true if tables have changed since most recent compilation or propagation; otherwise false.

/triangulate

Triangulates the graph of this DomainResource using the default triangulation method.

Request

POST /rest/domain/{ID}/triangulate

Response

200 OK

/triangulateWithMethod

Triangulates the graph of this DomainResource using the specified triangulation method.

Parameters

{tm}the triangulation method to use.

Request

POST /rest/domain/{ID}/triangulateWithMethod

Request Body

={tm}

Response

200 OK

/computeDBNPredictions

Computes predictions for {numberOfTimePoints} time slices beyond the current time window.  This DomainResource must have been produced by ClassResource -> /createDBNDomain, and it must have been triangulated using DomainResource -> /triangulateDBN.  The predictions are accessed using NodeResource -> /getPredictedBelief.

Parameters

{numberOfTimePoints}the number of time slices to compute predictions for (this must be a positive number); an integer.

Request

POST /rest/domain/{ID}/computeDBNPredictions

Request Body

={numberOfTimePoints}

Response

200 OK

/getDBNWindowOffset

Returns the total number of time steps that the time window of this DBN runtime domain has been moved.

Request

GET /rest/domain/{ID}/getDBNWindowOffset

Response

200 OK

{offset}

Response Description

The returned integer {offset} is the total number of time steps that the time window of this DBN runtime domain has been moved.

/initializeDBNWindow

Moves the time window of this DBN back to its initial position, and removes all evidence.  This DomainResource must have been produced by ClassResource -> /createDBNDomain, and it must have been triangulated using DomainResource -> /triangulateDBN.

Request

POST /rest/domain/{ID}/initializeDBNWindow

Response

200 OK

/moveDBNWindow

Slides the time window of this DBN delta steps into the future.  This DomainResource must have been produced by ClassResource -> /createDBNDomain, and it must have been triangulated using DomainResource -> /triangulateDBN.

Parameters

{delta}the number of time steps to slide the time window (this must be a positive number); an integer.

Request

POST /rest/domain/{ID}/moveDBNWindow

Request Body

={delta}

Response

200 OK

/triangulateDBN

Triangulates a DomainResource produced by ClassResource -> /createDBNDomain such that DomainResource -> /moveDBNWindow can be used.

Parameters

{tm}the triangulation method to use.

Request

POST /rest/domain/{ID}/triangulateDBN

Request Body

={tm}

Response

200 OK

/triangulateDBNForBK

Triangulates a DomainResource produced by ClassResource -> /createDBNDomain such that DomainResource -> /moveDBNWindow can be used.  Boyen-Koller approximations between time slices within the window are applied.

Parameters

{tm}the triangulation method to use.

Request

POST /rest/domain/{ID}/triangulateDBNForBK

Request Body

={tm}

Response

200 OK

/uncompile

Uncompiles this DomainResource.  Removes the data structures of the domain produced by a triangulation or a compilation.  Note that any references to objects within the compiled structure (e.g., CliqueResources and JunctionTreeResources) are invalidated (that is, any attempt to access the objects produce an error).  Also note that many of the editing functions automatically performs an uncompile operation.  When this happens, the domain must be compiled again before it can be used for inference.

Request

POST /rest/domain/{ID}/uncompile

Response

200 OK

/updatePolicies

Updates the policy tables of the domain.  The policies of all unmade decisions are updated.  The new policies maximize the overall expected utility.

Request

POST /rest/domain/{ID}/updatePolicies

Response

200 OK

/getExplanation

Returns the evidence subset associated with the explanation of rank index computed by the most recent call to NodeResource -> /computeExplanationData.

Parameters

{index}specifies that the indexth best explanation should be retrieved (the best explanation has index 0, the second best has index 1, etc.)

Request

GET /rest/domain/{ID}/getExplanation?={index}

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to NodeResources.

/getExplanationScore

Returns the score of the specified explanation.  This function returns the score associated with the explanation subset returned by DomainResource -> /getExplanation.

Parameters

{index}identifies the explanation.

Request

GET /rest/domain/{ID}/getExplanationScore?={index}

Response

200 OK

{real number}

Response Description

Returned {real number} is the score value of requested explanation.

/getNumberOfExplanations

Returns the number of explanations.  This function returns the number of subsets found by the most recent successful call to NodeResource -> /computeExplanationData.

Request

GET /rest/domain/{ID}/getNumberOfExplanations

Response

200 OK

{integer}

Response Description

Returned {integer} the number of explanations.

/addCases

Adds the specified range of rows of the data set to this DomainResource as cases.

Parameters

{data}URI reference to a DataSetResource.
{start}the index of the first row to transfer.
{count}the number of rows to transfer.

Request

POST /rest/domain/{ID}/addCases

Request Body

={data}&={start}&={count}

Response

200 OK

NodeResource

Nodes are one of the fundamental objects used in the construction of Bayesian networks and LIMIDs.  All NodeResources need a DomainResource; that is, the network must exist before its nodes can be created.

A NodeResource can be created using the <DomainResource -> /getNewNode> function.

URI

/rest/domain/{ID}/node/{ID}

Summary
Functions
/deleteDeletes this NodeResource.
/getModelGets the ModelResource for this NodeResource.
/getNameReturns the name of this NodeResource.
/setNameSets the name of this NodeResource.
/getPositionXReturns the position of this NodeResource on the X-axis.
/getPositionYReturns the position of this NodeResource on the Y-axis.
/setPositionSets the position of this NodeResource.
/setNumberOfStatesSets the number of states of this NodeResource.
/getNumberOfStatesGet the number of states of this discrete node.
/setStateLabelSets the label of the specified state.
/getStateLabelGets the label of the specified state.
/getTableGets the TableResource associated with this NodeResource.
/getBeliefGets the belief for the specified state of this NodeResource.
/getPredictedBeliefReturns the predicted belief for the specified state of this discrete NodeResource at the specified time point.
/getParentsGet list of parent nodes for this NodeResource.
/getChildrenGet list of child nodes for this NodeResource.
/addParentAdds a NodeResource as a new parent of this NodeResource.
/selectStateSelects the specified state of this NodeResource.
/getSelectedStateGets (the index of) the selected state of this node.
/retractFindingsRetracts all findings for this NodeResource.
/getExpectedUtilityGets the expected utility associated with this utility node or specified action of this discrete decision node.
/getSampledUtilityReturns the sampled utility associated with this utility node.
/getValueGets the value of this FunctionNode.
/getPredictedValueGets the predicted value of this FunctionNode at the specified time point.
/setValueSets the function associated with this function node to a number value.
/evidenceIsEnteredTest if the evidence potential, currently registered with this NodeResource, is non-vacuous.
/getStateIndexGet the index of the state matching the specified value.
/getStateValueGets the value associated with a particular state of this numbered node or the low value of the interval associated with a particular state of this interval node.
/setStateValueSets the value associated with a particular state of this numbered node or the low value of the interval associated with a particular state of this interval node.
/enterValueEnters evidence (observation of the value) for this continuous chance node.
/getEnteredValueReturns the evidence (value) entered for this continuous chance node.
/evidenceIsPropagatedReturns true if the evidence potential for this NodeResource, incorporated within the current junction tree potentials, is non-vacuous; otherwise, returns false.
/evidenceToPropagateReturns true if the entered and the propagated evidence differ; otherwise, returns false.
/getAttributeReturns an attribute value.
/getCategoryReturns the category of this NodeResource.
/getEdgeConstraintReturns the constraint between this and node.
/getHomeDomainReturns the DomainResource containing this NodeResource.
/getJunctionTreeReturns the JunctionTreeResource to which this NodeResource belongs.
/getKindReturns the kind of this NodeResource.
/getSubtypeReturns the subtype of this NodeResource.
/getLabelReturns the label of this NodeResource.
/likelihoodIsPropagatedReturns true if the evidence potential for this NodeResource, incorporated within the current junction tree potentials, is a likelihood; otherwise, returns false.
/likelihoodIsEnteredReturns true if the evidence potential, currently registered with this NodeResource, is a likelihood; otherwise, returns false.
/removeParentRemoves the directed link between a parent and this NodeResource.
/reverseEdgeReverses the edge between this NodeResource and the specified neighbor.
/setAttributeSets a value for a particular attribute in the attribute list for this NodeResource.
/setEdgeConstraintSets a constraint between this NodeResource and another NodeResource.
/setLabelSets the label of this NodeResource.
/switchParentReplace the given parent node with the new node.
/caseIsSetReturns true if a value has been set for this continuous chance or discrete node in case {caseindex}; otherwise, returns false.
/getAlphaReturns the alpha component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.
/getBetaReturns the beta component of the CG distribution of this continuous chance node given a continuous parent and the discrete parent configuration corresponding to {i}.
/getCaseValueReturns the value set for this continuous chance node in case {caseindex}.
/getDistributionReturns the distribution for this continuous node.
/getExperienceTableReturns the experience table of this continuous or discrete chance node.
/getGammaReturns the gamma component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.
/getMeanReturns the mean of the marginal distribution of this continuous chance node.
/getPredictedMeanReturns the predicted mean of the marginal distribution of this continuous chance node at the specified time point.
/getPropagatedValueRetrieves the value that has been propagated for this continuous chance node.
/getSampledValueReturns the value of this function or continuous chance node for the configuration generated by the most recent call to DomainResource -> /simulate.
/getVarianceReturns the variance of the marginal distribution of this continuous chance node.
/getPredictedVarianceReturns the predicted variance of the marginal distribution of this continuous chance node at the specified time point.
/hasExperienceTableReturns true if this continuous or discrete chance node has an experience table; returns false otherwise.
/setAlphaSets the alpha component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.
/setBetaSets the beta component of the CG distribution of this continuous chance node given a continuous parent and the discrete parent configuration corresponding to {i}.
/setCaseValueSets the value of this continuous chance node to {value} in case {c}.
/setGammaSets the gamma component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.
/unsetCaseSpecifies that the value of this continuous chance or discrete node is “unknown” for case {caseindex}.
/computeSensitivityDataComputes the constants of the sensitivity functions for the specified output probability and all CPT/policy parameters in the network.
/getFadingTableReturns the fading table of this discrete chance node.
/hasFadingTableReturns true if this discrete chance node has a fading table; returns false otherwise.
/getRequisiteAncestorsReturns a white-space separated list of URI references to the requisite ancestors of this decision node.
/getRequisiteParentsReturns a white-space separated list of URI references to the requisite parents of this decision node.
/enterFindingSpecifies a finding value for a given state with all other states unaffected.
/generateTableGenerates the table of this discrete node from its model (a missing model will trigger an error).
/getCaseStateReturns the state of this discrete node for case {c}.
/getEnteredFindingReturns the entered finding for the specified state of this node.
/getEntropyComputes the entropy of this node.
/getMutualInformationComputes the mutual information between this node and the specified node.
/getPropagatedFindingReturns the propagated finding.
/getSampledStateReturns the state index of this discrete node for the configuration generated by the most recent call to DomainResource -> /simulate.
/getSensitivityConstantsReturns the four constants of the specified sensitivity function.
/getSensitivityConstantsByOutputReturns the four constants of the specified sensitivity function.
/setCaseStateSets the state of this discrete node to {state} in case {c}.
/getStateIndexFromLabelReturns the index of the state matching the specified {label}.
/computeExplanationDataComputes Bayes factor data for all (nonempty) subsets of evidence nodes up to the specified maximum size.
/addToInputsMakes this <NodeResoruce> become an input node of its ClassResource.
/addToOutputsMakes this NodeResource become an output node of its ClassResource.
/createTemporalCloneConstructs a temporal clone of this NodeResource.
/getHomeReturns the ClassResource or DomainResource containing this NodeResource.
/getHomeClassReturns the ClassResource containing this NodeResource.
/getInstanceReturns the instance NodeResource containing this (cloned) output node.
/getMasterReturns the “master” of this (cloned) output NodeResource of an instance node (i.e., the node cloned to get this output node).
/getSourceGet a list of NodeResources of ClassResource nodes that identifies this DomainResource node.
/getTemporalCloneGet the “temporal clone” of this NodeResource.
/getTemporalMasterGet the “temporal master” of this NodeResource.
/removeFromInputsRemoves this NodeResource from the set of input nodes of its class.
/removeFromOutputsRemoves this NodeResource from the set of output nodes of its class.

Functions

/delete

Deletes this NodeResource.

Request

POST /rest/domain/{ID}/node/{ID}/delete

Response

200 OK

/getModel

Gets the ModelResource for this NodeResource.

Request

GET /rest/domain/{ID}/node/{ID}/getModel

Response

200 OK

/rest/domain/{ID}/model/{ID}

/getName

Returns the name of this NodeResource.  If this node has not previously been assigned a name, a valid name will automatically be assigned.

Request

GET /rest/domain/{ID}/node/{ID}/getName

Response

200 OK

{node name string}

/setName

Sets the name of this NodeResource.  The name must be valid, i.e., it must follow the rules that govern the validity of C identifiers, and no other NodeResource in the DomainResource to which this node belongs must have the same name.

Request

POST /rest/domain/{ID}/node/{ID}/setName

Parameters

{name}a string containing the new name of the NodeResource

Request Body

={name}

Response

200 OK

/getPositionX

Returns the position of this NodeResource on the X-axis.

Request

GET /rest/domain/{ID}/node/{ID}/getPositionX

Response

200 OK

{integer}

/getPositionY

Returns the position of this NodeResource on the Y-axis.

Request

GET /rest/domain/{ID}/node/{ID}/getPositionY

Response

200 OK

{integer}

/setPosition

Sets the position of this NodeResource.

Request

POST /rest/domain/{ID}/node/{ID}/setPosition

Parameters

{X}the position on the X-axis (an integer)
{Y}the position on the Y-axis (an integer)

Request Body

={X}&={Y}

Response

200 OK

/setNumberOfStates

Sets the number of states of this NodeResourceNotice: Only possible for discrete nodes.

Request

POST /rest/domain/{ID}/node/{ID}/setNumberOfStates

Parameters

{stateCount}the number of states.

Request Body

={stateCount}

Response

200 OK

/getNumberOfStates

Get the number of states of this discrete node.  The states are numbered from 0 to N-1, where N is the number of states of the node.  Notice: Only possible for discrete nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getNumberOfStates

Response

200 OK

{number of states}

Response Description

The returned integer {number of states} is the number of states of this discrete node.

/setStateLabel

Sets the label of the specified state.  Notice: Only possible for discrete nodes.

Request

POST /rest/domain/{ID}/node/{ID}/setStateLabel

Parameters

{state}the index (a nonnegative integer) of the state; must be less than the number of states of the node.
{newLabel}the desired state label.

Request Body

={state}&={newLabel}

Response

200 OK

/getStateLabel

Gets the label of the specified state.  Notice: Only possible for discrete nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getStateLabel?={state}

Parameters

{state}the index (a nonnegative integer) of the state; must be less than the number of states of the node.

Response

200 OK

{state label}

Response Description

The returned string {state label} is the state label for the specified state.

/getTable

Gets the TableResource associated with this NodeResource.  If the node is a discrete chance node, the table is the conditional probability table for the node given its parents.  If the node is a utility node, the table represents a utility function of the parents of the node.  An URI reference to the TableResource is returned.

Request

GET /rest/domain/{ID}/node/{ID}/getTable

Response

200 OK

/rest/domain/{ID}/table/{ID}

/getBelief

Gets the belief for the specified state of this NodeResource.  Note that if findings have been entered since the most recent propagation, the beliefs returned may not be up-to-date.  Notice: Only possible for discrete nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getBelief?={state}

Parameters

{state}an integer value representing which state to examine.

Response

200 OK

{real number}

Response Description

The returned {real number} is the belief for the examined state.

/getPredictedBelief

Returns the predicted belief for the specified state of this discrete NodeResource at the specified time point.  This method accesses the predictions computed by a previous call to DomainResource -> /computeDBNPredictions.

Request

GET /rest/domain/{ID}/node/{ID}/getPredictedBelief?={state}&={time}

Parameters

{state}an integer value representing which state to examine.
{time}time slice index (a nonnegative integer less than the number of predicted time slices)

Response

200 OK

{real number}

Response Description

The returned {real number} is the predicted belief for the examined state at the target time slice.

/getParents

Get list of parent nodes for this NodeResource.

Request

GET /rest/domain/{ID}/node/{ID}/getParents

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to all parent NodeResources of this NodeResource.

/getChildren

Get list of child nodes for this NodeResource.

Request

GET /rest/domain/{ID}/node/{ID}/getChildren

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to all child NodeResources of this NodeResource.

/addParent

Adds a NodeResource as a new parent of this NodeResource.  That is, it adds a directed link from the new parent to this node.

Request

POST /rest/domain/{ID}/node/{ID}/addParent

Parameters

{Node_URI}URI reference to a NodeResource.

Request Body

={Node_URI}

Response

200 OK

/selectState

Selects the specified state of this NodeResource.  This is equivalent to specifying the finding value 1 for the specified state and 0 for all other states.  Notice: Only possible for discrete nodes.

Request

POST /rest/domain/{ID}/node/{ID}/selectState

Parameters

{state}an integer value representing which state to select.

Request Body

={state}

Response

200 OK

/getSelectedState

Gets (the index of) the selected state of this node.  If no state is selected, a negative index is returned.  Notice: Only possible for discrete nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getSelectedState

Response

200 OK

{integer}

Response Description

Returned {integer} is index of selected state; {integer} is negative if no state is selected.

/retractFindings

Retracts all findings for this NodeResource.  For discrete nodes this is equivalent to setting the finding value to 1 for all states of this node.

Notice: Only possible for discrete and continuous nodes.

Request

POST /rest/domain/{ID}/node/{ID}/retractFindings

Response

200 OK

/getExpectedUtility

Gets the expected utility associated with this utility node or specified action of this discrete decision node.  This is the utility value computed by the most recent inference operation.  Notice: Only possible for utility and discrete nodes.

Request (for utility nodes)

GET /rest/domain/{ID}/node/{ID}/getExpectedUtility?=-1

Request (for discrete nodes)

GET /rest/domain/{ID}/node/{ID}/getExpectedUtility?={state}

Parameters

{state}an integer value designating which state of the discrete decision node to examine.  Notice: provide a negative {state} when examining utility nodes.

Response

200 OK

{real number}

Response Description

The returned {real number} is utility for the requested state {state} of this discrete node, or the utility associated with this utility node.

/getSampledUtility

Returns the sampled utility associated with this utility node.  This is the utility value sampled by the most recent call to DomainResource -> /simulateNotice: Only possible for utility nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getSampledUtility

Response

200 OK

{real number}

Response Description

The returned {real number} is the sampled utility associated for this utility node.

/getValue

Gets the value of this FunctionNode.  The value is computed using the function associated with the node.  If the function refers to other nodes, then the values of those nodes are derived from the results of the most recent inference operation.  Notice: Only possible for function nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getValue

Response

200 OK

{real number}

Response Description

The returned {real number} is computed using the function associated with the node.

/getPredictedValue

Gets the predicted value of this FunctionNode at the specified time point.  This method accesses the predictions computed by a previous call to DomainResource -> /computeDBNPredictionsNotice: Only possible for function nodes.

Parameters

{time}time slice index (a nonnegative integer less than the number of predicted time slices)

Request

GET /rest/domain/{ID}/node/{ID}/getPredictedValue?={time}

Response

200 OK

{real number}

Response Description

The returned {real number} is predicted value at the specified time point.

/setValue

Sets the function associated with this function node to a number value.  This is equivalent to retrieving the model and modifying the expression manually.  Notice: Only possible for function nodes that have no model nodes.  Furthermore the domain MUST be in a compiled state and an equilibrium, and tables MUST be up to date.

Request

POST /rest/domain/{ID}/node/{ID}/setValue

Parameters

{real number}a real number representing a fixed value function to use as the new function for this function node.

Request Body

={real number}

Response

200 OK

/evidenceIsEntered

Test if the evidence potential, currently registered with this NodeResource, is non-vacuous.

Request

GET /rest/domain/{ID}/node/{ID}/evidenceIsEntered

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if the evidence potential, currently registered with this NodeResource, is non-vacuous; otherwise, false.

/getStateIndex

Get the index of the state matching the specified value.  If there is no (unique) state with the specified state value, -1 is returned.  Notice: Only possible for numbered and interval discrete nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getStateIndex?={real number}

Parameters

{real number}a state containing this value will be searched for.

Response

200 OK

{integer}

Response Description

Returned {integer} is index of the state matching the specified value.

/getStateValue

Gets the value associated with a particular state of this numbered node or the low value of the interval associated with a particular state of this interval node.  For interval nodes, to indicate the right endpoint of the rightmost interval, specify {state} equal to the number of states of this interval node.  Notice: Only possible for numbered and interval discrete nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getStateValue?={state}

Parameters

{state}the index (a nonnegative integer) of the state; must be less than the number of states of the node.

Response

200 OK

{real number}

Response Description

Returned {real number} is the index of the state containing the specified value.

/setStateValue

Sets the value associated with a particular state of this numbered node or the low value of the interval associated with a particular state of this interval node.  For interval nodes, to indicate the right endpoint of the rightmost interval, specify {state} equal to the number of states of this interval node.  Notice: Only possible for numbered and interval discrete nodes.

Request

POST /rest/domain/{ID}/node/{ID}/setStateValue

Parameters

{state}the index (a nonnegative integer) of the state; must be less than the number of states of the node.
{value}the value to set (a real number).

Request Body

={state}&={value}

Response

200 OK

/enterValue

Enters evidence (observation of the value) for this continuous chance node.  Notice: Only possible for continuous nodes.

Request

POST /rest/domain/{ID}/node/{ID}/enterValue

Parameters

{real number}a real number representing the observation.

Request Body

={real number}

Response

200 OK

/getEnteredValue

Returns the evidence (value) entered for this continuous chance node.  If no value has been entered, an error is returned.  Notice: Only possible for continuous nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getEnteredValue

Response

200 OK

{real number}

Response Description

Returned {real number} express the value entered.

/evidenceIsPropagated

Returns true if the evidence potential for this NodeResource, incorporated within the current junction tree potentials, is non-vacuous; otherwise, returns false.

Request

GET /rest/domain/{ID}/node/{ID}/evidenceIsPropagated

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if evidence for this NodeResource has been propagated; otherwise, false.

/evidenceToPropagate

Returns true if the entered and the propagated evidence differ; otherwise, returns false.

Request

GET /rest/domain/{ID}/node/{ID}/evidenceToPropagate

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if evidence has been entered since the last propagation; otherwise, false.

/getAttribute

Returns an attribute value.  That is, the value associated with a key in the attribute list for this NodeResource.

Parameters

{key}the key for which the attribute value is returned

Request

GET /rest/domain/{ID}/node/{ID}/getAttribute?={key}

Response

200 OK

...

Response Description

The attribute value associated with the {key}.

/getCategory

Returns the category of this NodeResource.

Request

GET /rest/domain/{ID}/node/{ID}/getCategory

Response

200 OK

{category}

Response Description

Returned {category} is the category of this NodeResource.  Possible values for {category} are

  • chance
  • decision
  • utility
  • function
  • instance

/getEdgeConstraint

Returns the constraint between this and node.

Parameters

{Node_URI}URI reference to a NodeResource.

Request

GET /rest/domain/{ID}/node/{ID}/getEdgeConstraint?={Node_URI}

Response

200 OK

{constraint}

Response Description

Possible values for {constraint} are

  • backward forbidden
  • backward required
  • forbidden
  • required
  • forward forbidden
  • forward required
  • none

/getHomeDomain

Returns the DomainResource containing this NodeResource.  Returns null if the node belongs to a class.

Request

GET /rest/domain/{ID}/node/{ID}/getHomeDomain

Response

200 OK

/rest/domain/{ID}

Response Description

An URI reference to the DomainResource is returned.

/getJunctionTree

Returns the JunctionTreeResource to which this NodeResource belongs.

Request

GET /rest/domain/{ID}/node/{ID}/getJunctionTree

Response

200 OK

/rest/domain/{ID}/junctiontree/{ID}

Response Description

An URI reference to a JunctionTreeResource is returned.

/getKind

Returns the kind of this NodeResource.

Request

GET /rest/domain/{ID}/node/{ID}/getKind

Response

200 OK

{kind}

Response Description

Possible values for {kind} are

  • discrete
  • continuous
  • other

/getSubtype

Returns the subtype of this NodeResource.

Request

GET /rest/domain/{ID}/node/{ID}/getSubtype

Response

200 OK

{subtype}

Response Description

Possible values for {subtype} are

  • label
  • boolean
  • number
  • interval
  • other

/getLabel

Returns the label of this NodeResource.

Request

GET /rest/domain/{ID}/node/{ID}/getLabel

Response

200 OK

{label}

Response Description

Returned {label} is the node label for this NodeResource.

/likelihoodIsPropagated

Returns true if the evidence potential for this NodeResource, incorporated within the current junction tree potentials, is a likelihood; otherwise, returns false.

Request

GET /rest/domain/{ID}/node/{ID}/likelihoodIsPropagated

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true or false.

/likelihoodIsEntered

Returns true if the evidence potential, currently registered with this NodeResource, is a likelihood; otherwise, returns false.

Request

GET /rest/domain/{ID}/node/{ID}/likelihoodIsEntered

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true or false.

/removeParent

Removes the directed link between a parent and this NodeResource.  The table (if any) of the NodeResource will be updated such that the updated table will be the portion of the old table that corresponds to the parent being in its first state.

Parameters

{Node_URI}URI reference to a NodeResource.

Request

POST /rest/domain/{ID}/node/{ID}/removeParent

Request Body

={Node_URI}

Response

200 OK

/reverseEdge

Reverses the edge between this NodeResource and the specified neighbor.  Both nodes must be chance nodes, and they must be of the same kind (that is, both nodes are discrete or both nodes are continuous).

Parameters

{Node_URI}URI reference to a neighboring NodeResource.

Request

POST /rest/domain/{ID}/node/{ID}/reverseEdge

Request Body

={Node_URI}

Response

200 OK

/setAttribute

Sets a value for a particular attribute in the attribute list for this NodeResource.  If no value is provided, the attribute is removed.

Parameters

{key}The key identifying the attribute to be updated.
{value}The value of the attribute.

Request

POST /rest/domain/{ID}/node({ID}/setAttribute

Request Body

={key}&={value}

Response

200 OK

/setEdgeConstraint

Sets a constraint between this NodeResource and another NodeResource.

Parameters

{Node_URI}URI reference to a NodeResource.
{constraint}the node constraint

Possible values for {constraint} are

  • backward forbidden
  • backward required
  • forbidden
  • required
  • forward forbidden
  • forward required
  • none

Request

POST /rest/domain/{ID}/node/{ID}/setEdgeConstraint

Request Body

={Node_URI}&={constraint}

Response

200 OK

/setLabel

Sets the label of this NodeResource.

Parameters

{label}the label

Request

POST /rest/domain/{ID}/node({ID}/setLabel

Request Body

={label}

Response

200 OK

/switchParent

Replace the given parent node with the new node.  The old and new parent must be compatible.  That is, they must be of the same class, and have an identical state set.

Parameters

{Old_Node_URI}URI reference to NodeResource, (old parent).
{New_Node_URI}URI reference to NodeResource, (new parent).

Request

POST /rest/domain/{ID}/node/{ID}/reverseEdge

Request Body

={Old_Node_URI}&={New_Node_URI}

Response

200 OK

/caseIsSet

Returns true if a value has been set for this continuous chance or discrete node in case {caseindex}; otherwise, returns false.

Notice: Only possible for discrete and continuous nodes.

Parameters

{caseindex}the case index represented as an integer.

Request

GET /rest/domain/{ID}/node/{ID}/caseIsSet?={caseindex}

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true or false.

/getAlpha

Returns the alpha component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.

Parameters

{i}the index of a discrete parent configuration. an integer.

Request

GET /rest/domain/{ID}/node/{ID}/getAlpha?={i}

Response

200 OK

{real number}

Response Description

Returned {real number} is the requested alpha component.

/getBeta

Returns the beta component of the CG distribution of this continuous chance node given a continuous parent and the discrete parent configuration corresponding to {i}.

Parameters

{parent}URI reference to parent continuous chance NodeResource.
{i}the index of a discrete parent configuration. an integer.

Request

GET /rest/domain/{ID}/node/{ID}/getBeta?={parent}&={i}

Response

200 OK

{real number}

Response Description

Returned {real number} is the requested beta component.

/getCaseValue

Returns the value set for this continuous chance node in case {caseindex}.

Parameters

{caseindex}the case index. an integer.

Request

GET /rest/domain/{ID}/node/{ID}/getCaseValue?={caseindex}

Response

200 OK

{real number}

Response Description

Returned {real number} is the value set for case {caseindex}.

/getDistribution

Returns the distribution for this continuous node.  The distribution for a continuous chance node is in general a mixture of several Gaussian distributions.  This method actually computes a joint distribution of this CG node and a set of discrete nodes.  These discrete nodes are chosen such that the computed marginal is a strong marginal, but it is not necessarily minimal.

Request

GET /rest/domain/{ID}/node/{ID}/getDistribution

Response

200 OK

/rest/domain/{ID}/table/{ID}

Response Description

An URI reference a TableResource.

/getExperienceTable

Returns the experience table of this continuous or discrete chance node.

Notice: Only possible for discrete and continuous chance nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getExperienceTable

Response

200 OK

/rest/domain/{ID}/table/{ID}

Response Description

An URI reference a TableResource.

/getGamma

Returns the gamma component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.

Parameters

{i}the index of a discrete parent configuration. an integer.

Request

GET /rest/domain/{ID}/node/{ID}/getGamma?={i}

Response

200 OK

{real number}

Response Description

Returned {real number} is the requested gamma component.

/getMean

Returns the mean of the marginal distribution of this continuous chance node.

Request

GET /rest/domain/{ID}/node/{ID}/getMean

Response

200 OK

{real number}

Response Description

Returned {real number} is the mean of the marginal distribution of this continuous chance node.

/getPredictedMean

Returns the predicted mean of the marginal distribution of this continuous chance node at the specified time point.  This method accesses the predictions computed by a previous call to DomainResource -> /computeDBNPredictionsNotice: Only possible for continuous nodes.

Parameters

{time}time slice index (a nonnegative integer less than the number of predicted time slices)

Request

GET /rest/domain/{ID}/node/{ID}/getPredictedMean?={time}

Response

200 OK

{real number}

Response Description

Returned {real number} is the predicted mean of the marginal distribution of this continuous chance node at the specified time point.

/getPropagatedValue

Retrieves the value that has been propagated for this continuous chance node.  That is, the value incorporated in the current junction tree potentials as the state of this node.

Request

GET /rest/domain/{ID}/node/{ID}/getPropagatedValue

Response

200 OK

{real number}

Response Description

Returned {real number} is the value that has been propagated for this continuous chance node.

/getSampledValue

Returns the value of this function or continuous chance node for the configuration generated by the most recent call to DomainResource -> /simulate.

Notice: Only possible for continuous and function nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getSampledValue

Response

200 OK

{real number}

Response Description

Returned {real number} the value of this function or continuous chance node for the configuration generated by the most recent call to DomainResource -> /simulate.

/getVariance

Returns the variance of the marginal distribution of this continuous chance node.

Request

GET /rest/domain/{ID}/node/{ID}/getVariance

Response

200 OK

{real number}

Response Description

Returned {real number} the variance of the marginal distribution of this continuous chance node.

/getPredictedVariance

Returns the predicted variance of the marginal distribution of this continuous chance node at the specified time point.  This method accesses the predictions computed by a previous call to DomainResource -> /computeDBNPredictionsNotice: Only possible for continuous nodes.

Parameters

{time}time slice index (a nonnegative integer less than the number of predicted time slices)

Request

GET /rest/domain/{ID}/node/{ID}/getPredictedVariance?=time

Response

200 OK

{real number}

Response Description

Returned {real number} the variance of the marginal distribution of this continuous chance node at specified time.

/hasExperienceTable

Returns true if this continuous or discrete chance node has an experience table; returns false otherwise.

Notice: Only possible for discrete and continuous chance nodes.

Request

GET /rest/domain/{ID}/node/{ID}/hasExperienceTable

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true or false.

/setAlpha

Sets the alpha component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.

Parameters

{alpha}the value of the alpha component. a real number.
{i}the index of a discrete parent configuration. an integer.

Request

POST /rest/domain/{ID}/node({ID}/setAlpha

Request Body

={alpha}&={i}

Response

200 OK

/setBeta

Sets the beta component of the CG distribution of this continuous chance node given a continuous parent and the discrete parent configuration corresponding to {i}.

Parameters

{beta}the value of the beta component. a real number.
{parent}URI reference to parent continuous chance NodeResource.
{i}the index of a discrete parent configuration. an integer.

Request

POST /rest/domain/{ID}/node({ID}/setBeta

Request Body

={beta}&={parent}&={i}

Response

200 OK

/setCaseValue

Sets the value of this continuous chance node to {value} in case {c}.

Parameters

{c}the case index represented as an integer.
{value}the value represented as a real number.

Request

POST /rest/domain/{ID}/node({ID}/setCaseValue

Request Body

={c}&={value}

Response

200 OK

/setGamma

Sets the gamma component of the CG distribution of this continuous chance node given the discrete parent configuration corresponding to {i}.

Parameters

{gamma}the value of the gamma component. a real number.
{i}the index of a discrete parent configuration. an integer.

Request

POST /rest/domain/{ID}/node({ID}/setGamma

Request Body

={gamma}&={i}

Response

200 OK

/unsetCase

Specifies that the value of this continuous chance or discrete node is “unknown” for case {caseindex}.

Notice: Only possible for discrete and continuous nodes.

Parameters

{caseindex}the case index represented as an integer.

Request

POST /rest/domain/{ID}/node/{ID}/unsetCase

Request Body

={caseindex}

Response

200 OK

/computeSensitivityData

Computes the constants of the sensitivity functions for the specified output probability and all CPT/policy parameters in the network.

This method simply calls NodeResource -> /computeSensitivityData with the specified output probability as argument.

Notice: Only possible for discrete chance nodes.

Parameters

{state}the index of a state of this node - the probability of this state is the desired output probability.

Request

POST /rest/domain/{ID}/node/{ID}/computeSensitivityData

Request Body

={case}

Response

200 OK

/getFadingTable

Returns the fading table of this discrete chance node.

Notice: Only possible for discrete chance nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getFadingTable

Response

200 OK

/rest/domain/{ID}/table/{ID}

Response Description

An URI reference a TableResource.

/hasFadingTable

Returns true if this discrete chance node has a fading table; returns false otherwise.

Notice: Only possible for discrete chance nodes.

Request

GET /rest/domain/{ID}/node/{ID}/hasFadingTable

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true or false.

/getRequisiteAncestors

Returns a white-space separated list of URI references to the requisite ancestors of this decision node.

The requisite ancestors are found by augmenting the network with additional information links as prescribed by the “no-forgetting” rule (which states that past observations and decisions are taken into account by all future decisions) and applying the minimal reduction algorithm for LIMIDs.

Notice: Only possible for discrete decision nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getRequisiteAncestors

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to the set of requisite ancestor NodeResources.

/getRequisiteParents

Returns a white-space separated list of URI references to the requisite parents of this decision node.

Notice: Only possible for discrete decision nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getRequisiteParents

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to the set of requisite parent NodeResources.

/enterFinding

Specifies a finding value for a given state with all other states unaffected.

Notice: Only possible for discrete nodes.

Parameters

{state}an integer representing the state to be selected.  States are numbered consecutively from 0 and upwards.
{finding}A nonnegative real number as the finding value.

Request

POST /rest/domain/{ID}/node({ID}/enterFinding

Request Body

={state}&={finding}

Response

200 OK

/generateTable

Generates the table of this discrete node from its model (a missing model will trigger an error).

Notice: Only possible for discrete nodes.

Request

POST /rest/domain/{ID}/node/{ID}/generateTable

Response

200 OK

/getCaseState

Returns the state of this discrete node for case {c}.

Notice: Only possible for discrete nodes.

Parameters

{c}the case index (an integer in the range 0, ..., number of cases)

Request

GET /rest/domain/{ID}/node/{ID}/getCaseState?={c}

Response

200 OK

{integer}

Response Description

Returned {integer} is the state of this discrete node for case {c}.

/getEnteredFinding

Returns the entered finding for the specified state of this node.

Notice: Only possible for discrete nodes.

Parameters

{state}an integer value representing which state to examine.

Request

GET /rest/domain/{ID}/node/{ID}/getEnteredFinding?={state}

Response

200 OK

{real number}

Response Description

Returned {real number} is the entered finding for this discrete node in state {state}.

/getEntropy

Computes the entropy of this node.

Notice: Only possible for discrete nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getEntropy

Response

200 OK

{real number}

Response Description

Returned {real number} is the computed entropy.

/getMutualInformation

Computes the mutual information between this node and the specified node.

Notice: Only possible for discrete nodes.

Parameters

{Node_URI}URI reference to a NodeResource.

Request

GET /rest/domain/{ID}/node/{ID}/getMutualInformation?={Node_URI}

Response

200 OK

{real number}

Response Description

Returned {real number} is the mutual information.

/getPropagatedFinding

Returns the propagated finding.  That is, it returns the finding value incorporated within the current junction tree potentials for the specified {state} of this node.

Notice: Only possible for discrete nodes.

Parameters

{state}an integer representing the state to be examined.

Request

GET /rest/domain/{ID}/node/{ID}/getPropagatedFinding?={state}

Response

200 OK

{real number}

Response Description

Returned {real number} express the propagated finding.

/getSampledState

Returns the state index of this discrete node for the configuration generated by the most recent call to DomainResource -> /simulate.

Notice: Only possible for discrete nodes.

Request

GET /rest/domain/{ID}/node/{ID}/getSampledState

Response

200 OK

{integer}

Response Description

Returned {integer} is the state index.

/getSensitivityConstants

Returns the four constants of the specified sensitivity function.  The output probability of this function was specified in the preceding call to DomainResource -> /computeSensitivityData.  If the results produced by that call have been invalidated, an error is returned.

Notice: Only possible for discrete nodes.

Parameters

{input}specifies a conditional probability (or policy) parameter of this node (i.e., input is the index of an entry in the CPT/policy of this node).  An integer.

Request

GET /rest/domain/{ID}/node/{ID}/getSensitivityConstants?={input}

Response

200 OK

{real number} {real number} {real number} {real number}

Response Description

Response is a white-space separated list of four real numbersthe four constants of the specified sensitivity function.

/getSensitivityConstantsByOutput

Returns the four constants of the specified sensitivity function.  The output probability of this function must be one of the output probabilities specified in the preceding call to DomainResource -> /computeSensitivityData.  If the results produced by that call have been invalidated, an error is returned.

Notice: Only possible for discrete nodes.

Parameters

{input}specifies a conditional probability (or policy) parameter of this node (i.e., input is the index of an entry in the CPT/policy of this node).  An integer.
{output}identifies one of the output probabilities specified in the call to DomainResource -> /computeSensitivityData.  An integer.

Request

GET /rest/domain/{ID}/node/{ID}/getSensitivityConstantsByOutput?={input}&={output}

Response

200 OK

{real number} {real number} {real number} {real number}

Response Description

Response is a white-space separated list of four real numbersthe four constants of the specified sensitivity function.

/setCaseState

Sets the state of this discrete node to {state} in case {c}.

Notice: Only possible for discrete nodes.

Parameters

{c}the case index represented as an integer.
{state}the state represented as an integer.

Request

POST /rest/domain/{ID}/node/{ID}/setCaseState

Request Body

={c}&={state}

Response

200 OK

/getStateIndexFromLabel

Returns the index of the state matching the specified {label}.  If there is no (unique) state with the specified state label, -1 is returned.

Notice: Only possible for discrete nodes.

Parameters

{label}the state label to search for

Request

GET /rest/domain/{ID}/node/{ID}/getStateIndexFromLabel?={label}

Response

200 OK

{integer}

Response Description

Returned {integer} is a state index.

/computeExplanationData

Computes Bayes factor data for all (nonempty) subsets of evidence nodes up to the specified maximum size.  Two hypotheses are compared: (this node)=x and Y=y.  For each subset of evidence nodes (up to the specified maximum size), the Bayes factor (the support for the first hypothesis relative to the second hypothesis) is computed.  The results of the computations can be accessed using DomainResource -> /getExplanation and DomainResource -> /getExplanationScore.

Notice: Only possible for discrete nodes.

Parameters

{x}state of the primary hypothesis node (this node)
{Y}the alternative hypothesis node
{y}state of the alternative hypothesis node
{maxSubsetSize}data for all subsets of evidence nodes up to this size are computed

Request

POST /rest/domain/{ID}/node/{ID}/computeExplanationData

Request Body

={x}&={Y}&={y}&={maxSubsetSize}

Response

200 OK

/addToInputs

Makes this <NodeResoruce> become an input node of its ClassResource.  The node must not already be an input or output node of its class, it must not be an output clone associated with an instancenode, and, most importantly, it must not have parents.

Notice: Only possible for nodes of a ClassResource.

Request

POST /rest/cc/{ID}/class/{ID}/node/{ID}/addToInputs

Response

200 OK

/addToOutputs

Makes this NodeResource become an output node of its ClassResource.  The node must not already be an output or input node of its class.

Notice: Only possible for nodes of a ClassResource.

Request

POST /rest/cc/{ID}/class/{ID}/node/{ID}/addToOutputs

Response

200 OK

/createTemporalClone

Constructs a temporal clone of this NodeResource.  This node (known as the “master” node) must not be an instance node, or a temporal or an output clone, and the node must belong to a class without input and output nodes.  Moreover, this class must not be instantiated.  Only one temporal clone can be created for each master node.

Notice: Only possible for nodes of a ClassResource.

Request

POST /rest/cc/{ID}/class/{ID}/node/{ID}/createTemporalClone

Response

200 OK

/rest/cc/{ID}/class/{ID}/node/{ID}

/getHome

Returns the ClassResource or DomainResource containing this NodeResource.

ClassResource Request

POST /rest/cc/{ID}/class/{ID}/node/{ID}/getHome

DomainResource Request

POST /rest/domain/{ID}/node/{ID}/getHome

Response

200 OK

{domain-or-class-URI}

Response Description

Returned {domain-or-class-URI} is either a DomainResource URI or a ClassResource URI.

/getHomeClass

Returns the ClassResource containing this NodeResource.  If node is not a class node an error is returned.

ClassResource Request

GET /rest/cc/{ID}/class/{ID}/node/{ID}/getHomeClass

DomainResource Request

GET /rest/domain/{ID}/node/{ID}/getHomeClass

Response

200 OK

/rest/cc/{ID}/class/{ID}

/getInstance

Returns the instance NodeResource containing this (cloned) output node.  Or an error if this is not an output node.  Note that we clone all output nodes when we create an instance node.  This is done in order to make it possible to specify conditional probability tables involving output nodes from instance nodes.

Notice: Only possible for nodes of a ClassResource.

Request

GET /rest/cc/{ID}/class/{ID}/node/{ID}/getInstance

Response

200 OK

/rest/cc/{ID}/class/{ID}/node/{ID}

/getMaster

Returns the “master” of this (cloned) output NodeResource of an instance node (i.e., the node cloned to get this output node).  Or an error if node is not cloned output.  Note that “master” belongs to another ClassResource.  Note also that we clone all output nodes when we create an instance node.  This is done in order to make it possible to specify conditional probability tables involving output nodes from instance nodes.

Notice: Only possible for nodes of a ClassResource.

Request

GET /rest/cc/{ID}/class/{ID}/node/{ID}/getMaster

Response

200 OK

/rest/cc/{ID}/class/{ID}/node/{ID}

/getSource

Get a list of NodeResources of ClassResource nodes that identifies this DomainResource node.

The ClassResource -> /createDomain method of the ClassResource unfolds an object-oriented (nested) specification of a Bayesian network or a LIMID into a regular DomainResource.

NodeResources in this DomainResource which originates from nodes residing in nested sub-networks (via instance nodes) can be uniquely related to a sequence of instance node NodeResources and an ordinary NodeResource of the object-oriented network.

Notice: Only possible for nodes of a DomainResource.

Request

GET /rest/domain/{ID}/node/{ID}/getSource

Response

200 OK

/rest/cc/{ID}/class/{ID}/node/{ID} /rest/cc/{ID}/class/{ID}/node/{ID} /rest/cc/{ID}/class/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to NodeResources.  An ordered list with the instance nodes and the ordinary node identifying the source of this node that must belong to a domain.

/getTemporalClone

Get the “temporal clone” of this NodeResource.  Or an error if node if not temporal master.

Notice: Only possible for nodes of a ClassResource.

Request

GET /rest/cc/{ID}/class/{ID}/node/{ID}/getTemporalClone

Response

200 OK

/rest/cc/{ID}/class/{ID}/node/{ID}

/getTemporalMaster

Get the “temporal master” of this NodeResource.  If this NodeResource is not a temporal clone an error is returned.

Notice: Only possible for nodes of a ClassResource.

Request

GET /rest/cc/{ID}/class/{ID}/node/{ID}/getTemporalMaster

Response

200 OK

/rest/cc/{ID}/class/{ID}/node/{ID}

/removeFromInputs

Removes this NodeResource from the set of input nodes of its class.

Notice: Only possible for nodes of a ClassResource.

Request

POST /rest/class/{ID}/node/{ID}/removeFromInputs

Response

200 OK

/removeFromOutputs

Removes this NodeResource from the set of output nodes of its class.

Notice: Only possible for nodes of a ClassResource.

Request

POST /rest/cc/{ID}/class/{ID}/node/{ID}/removeFromOutputs

Response

200 OK

TableResource

Hugin uses tables for representing the conditional probability and utility potentials of individual nodes, the probability and utility potentials on separators and cliques of junction trees, evidence potentials, etc.  A potential is a function from the state space of a set of variables into the set of real numbers.  A TableResource is a representation of a potential.

TableResources are acquired using the NodeResource -> /getTable function.

URI

/rest/domain/{ID}/table/{ID}

Summary
Functions
/deleteDeletes this TableResource.
/getSizeGet the size of this TableResource.
/getNodesGet all NodeResources associated with this TableResource.
/getDataItemGet the data item at position {index} of the discrete data of this TableResource.
/setDataItemSets a specific data item of the discrete data of this TableResource.
/setDataSets a region of the discrete data of this TableResource.
/getDataGets a region of the discrete data of this TableResource.
/getMeanReturns the mean of a continuous chance NodeResource given a configuration of the discrete chance NodeResources of this TableResource.
/getVarianceReturns the variance of a continuous chance NodeResource given a configuration of the discrete chance NodeResources of this TableResource.
/getCovarianceReturns the covariance of a couple of continuous chance NodeResources given a configuration of the discrete chance NodeResources of this TableResource.
/reorderNodesReorders the list of NodeResource of this TableResource.
/getCGSizeReturns the CG size of this TableResource.
/setAllDataItemsSets all data items of the discrete data of this TableResource.

Functions

/delete

Deletes this TableResource.

Request

POST /rest/domain/{ID}/table/{ID}/delete

Response

200 OK

/getSize

Get the size of this TableResource.

Request

GET /rest/domain/{ID}/table/{ID}/getSize

Response

200 OK

{integer}

Response Description

Returned {integer} is the size of TableResource.

/getNodes

Get all NodeResources associated with this TableResource.

Request

GET /rest/domain/{ID}/table/{ID}/getNodes

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to all NodeResources associated with this this TableResource.

/getDataItem

Get the data item at position {index} of the discrete data of this TableResource.  The index is interpreted as the index of a one-dimensional row-major representation of the actual multi-dimensional data.

Request

GET /rest/domain/{ID}/table/{ID}/getDataItem?={index}

Parameters

{index}the index of the data item

Response

200 OK

{real number}

Response Description

Returned {real number} is the data item at index {index} of this table.

/setDataItem

Sets a specific data item of the discrete data of this TableResource.

Request

POST /rest/domain/{ID}/table/{ID}/setDataItem

Parameters

{index}index of the data item to set
{value}real number; the new value of the data item at the specified index.

Request Body

={index}&={value}

Response

200 OK

/setData

Sets a region of the discrete data of this TableResource.  The region is specified by a start position and a list of real number elements to set.

The indexes {startIndex}, ..., {startIndex}+(number of elements in {data}) must be valid indexes of this table.

Request

POST /rest/domain/{ID}/table/{ID}/setData

Parameters

{startIndex}index of the first element to be set
{data}white-space separated list of {real numbers} to be written to this table.

Request Body

={startIndex}&={data}

Response

200 OK

/getData

Gets a region of the discrete data of this TableResource.  The region is specified by a start position and the number of elements to copy.

The indexes {startIndex}, ..., {startIndex}+{count}-1 must be valid indexes of this table.

Request

GET /rest/domain/{ID}/table/{ID}/getData?={startIndex}&={count}

Parameters

{startIndex}index of the first element to get
{count}number of elemets to retrieve

Response

200 OK

{real number} {real number} {real number} ...

Response Description

Response is a white-space separated list of real numbers representing the requested data items.

/getMean

Returns the mean of a continuous chance NodeResource given a configuration of the discrete chance NodeResources of this TableResource.

Request

GET /rest/domain/{ID}/table/{ID}/getMean?={index}&={node}

Parameters

{index}the index of the discrete configuration.
{node}URI reference to the continuous chance NodeResource in question.

Response

200 OK

{real number}

Response Description

Returned {real number} is the requested mean value.

/getVariance

Returns the variance of a continuous chance NodeResource given a configuration of the discrete chance NodeResources of this TableResource.

Request

GET /rest/domain/{ID}/table/{ID}/getVariance?={index}&={node}

Parameters

{index}the index of the discrete configuration.
{node}URI reference to the continuous chance NodeResource in question.

Response

200 OK

{real number}

Response Description

Returned {real number} is the requested variance value.

/getCovariance

Returns the covariance of a couple of continuous chance NodeResources given a configuration of the discrete chance NodeResources of this TableResource.

Request

GET /rest/domain/{ID}/table/{ID}/getCovariance?={index}&={node1}&={node2}

Parameters

{index}the index of the discrete configuration.
{node1}URI reference to one of the continuous chance NodeResource in question.
{node2}URI reference to the other continuous chance NodeResource in question.

Response

200 OK

{real number}

Response Description

Returned {real number} is the requested covariance value.

/reorderNodes

Reorders the list of NodeResource of this TableResource.

Request

POST /rest/domain/{ID}/table/{ID}/reorderNodes

Parameters

{nodes}the new order (which must be a permutation of the current order) of the NodeResources of this TableResource; a white-space separated list of URI references to NodeResources.

Request Body

={nodes}

Response

200 OK

/getCGSize

Returns the CG size of this TableResource.  This is the number of CG data elements stored in the table.

Request

GET /rest/domain/{ID}/table/{ID}/getCGSize

Response

200 OK

{integer}

Response Description

Returned {integer} is the number of CG data elements stored in the table.

/setAllDataItems

Sets all data items of the discrete data of this TableResource.

Request

POST /rest/domain/{ID}/table/{ID}/setAllDataItems

Parameters

{value}real number

Request Body

={value}

Response

200 OK

ModelResource

A Model is a compact description of a table.  A model consists of a list of discrete nodes and a set of expressions (one expression per configuration of states of the nodes.

ModelResources are created using DomainResource -> /getNewModel and acquired from nodes using the NodeResource -> /getModel function.

URI

/rest/domain/{ID}/model/{ID}

Summary
Functions
/deleteDeletes this ModelResource.
/setExpressionAssociates an expression (specified as a string) with a specific configuration of the NodeResources of this ModelResource.
/getExpressionReturns the expression (as a string) associated with a specific configuration of the NodeResources of this ModelResource.
/setNumberOfSamplesPerIntervalSets the number of values taken within each bounded interval of an interval parent when generating the conditional probability table for a node with interval parents.
/getNumberOfSamplesPerIntervalGets the number of values per interval used when generating the conditional probability table for a node with interval parents.
/getSizeReturns the number of configurations of the NodeResources of this ModelResource.
/getNodesReturns the list of NodeResources in this ModelResource.

Functions

/delete

Deletes this ModelResource.

Request

POST /rest/domain/{ID}/model/{ID}/delete

Response

200 OK

/setExpression

Associates an expression (specified as a string) with a specific configuration of the NodeResources of this ModelResource.

Parameters

{index}index of configuration
{expression}the expression as a string

Request

POST /rest/domain/{ID}/model/{ID}/setExpression

Request Body

={index}&={expression}

Response

200 OK

/getExpression

Returns the expression (as a string) associated with a specific configuration of the NodeResources of this ModelResource.

Parameters

{index}index of configuration

Request

GET /rest/domain/{ID}/model/{ID}/getExpression?={index}

Response

200 OK

{expression as string}

Response Description

Returned {expression as string} is a string representation of the expression associated with configuration {index} of the NodeResources of this ModelResource.

/setNumberOfSamplesPerInterval

Sets the number of values taken within each bounded interval of an interval parent when generating the conditional probability table for a node with interval parents.

When generating the conditional probability table for a node with interval nodes as parents, a number of values are taken within each bounded interval of an interval parent.  By default, the interval is divided into 25 subintervals, and the midpoints of these subintervals are then used in the computation of the value of the child.

Parameters

{count}the number of subintervals (an integer).

Request

POST /rest/domain/{ID}/model/{ID}/setNumberOfSamplesPerInterval

Request Body

={count}

Response

200 OK

/getNumberOfSamplesPerInterval

Gets the number of values per interval used when generating the conditional probability table for a node with interval parents.

Request

GET /rest/domain/{ID}/model/{ID}/getNumberOfSamplesPerInterval

Response

200 OK

{integer}

Response Description

Returned {integer} is the requested number of samples per interval.

/getSize

Returns the number of configurations of the NodeResources of this ModelResource.

Request

GET /rest/domain/{ID}/model/{ID}/getSize

Response

200 OK

{integer}

Response Description

Returned {integer} is the the number of configurations of the nodes of this model.

/getNodes

Returns the list of NodeResources in this ModelResource.

Request

GET /rest/domain/{ID}/model/{ID}/getNodes

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to all NodeResources in this this ModelResource.

CliqueResource

CliqueResources represents the cliques in the junction tree.

CliqueResources are acquired using JunctionTreeResource -> /getCliques, JunctionTreeResource -> /getRoot and CliqueResource -> /getNeighbors functions.  JunctionTreeResources are acquired using the DomainResource -> /getJunctionTrees function.

URI

/rest/domain/{ID}/clique/{ID}

Summary
Functions
/getJunctionTreeGet the JunctionTreeResource to which this CliqueResource belongs.
/getMembersGet the list of NodeResources that are members of this CliqueResource.
/getNeighborsReturns a list of CliqueResources that are neighbors of this CliqueResource.

Functions

/getJunctionTree

Get the JunctionTreeResource to which this CliqueResource belongs.

Request

GET /rest/domain/{ID}/clique/{ID}/getJunctionTree

Response

200 OK

/rest/domain/{ID}/junctiontree/{ID}

/getMembers

Get the list of NodeResources that are members of this CliqueResource.

Request

GET /rest/domain/{ID}/clique/{ID}/getMembers

Response

200 OK

/rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} /rest/domain/{ID}/node/{ID} ...

Response Description

Response is a white-space separated list of URI references to all member NodeResources of this CliqueResource.

/getNeighbors

Returns a list of CliqueResources that are neighbors of this CliqueResource.

Request

GET /rest/domain/{ID}/clique/{ID}/getNeighbors

Response

200 OK

/rest/domain/{ID}/clique/{ID} /rest/domain/{ID}/clique/{ID} /rest/domain/{ID}/clique/{ID} ...

Response Description

Response is a white-space separated list of URI references to CliqueResource.

JunctionTreeResource

JunctionTreeResources represents the junction trees in the compiled domain.

JunctionTreeResources are acquired using the DomainResource -> /getJunctionTrees function.

URI

/rest/domain/{ID}/junctiontree/{ID}

Summary
Functions
/cgEvidenceIsPropagatedReturns true if CG evidence has been propagated in this junction tree; otherwise, returns false.
/equilibriumIsTests the Equilibrium type.
/evidenceIsPropagatedTests if evidence has been propagated for this JunctionTreeResource.
/evidenceModeIsTests if the EvidenceMode matches {mode}.
/evidenceToPropagateTests if evidence has been entered since the last propagation.
/getCliquesReturns the list of CliqueResources in this JunctionTreeResource.
/getConflictReturns the conflict measure of the data inserted in this JunctionTreeResource.
/getRootReturns the root CliqueResource of this JunctionTreeResource.
/getTotalCGSizeReturns the total number of CG table entries for this JunctionTreeResource.
/getTotalSizeReturns the total number of discrete table configurations for this JunctionTreeResource.
/likelihoodIsPropagatedReturns true if likelihoods have been propagated in this JunctionTreeResource; otherwise, returns false.
/tablesToPropagateReturns true if this JunctionTreeResource contains updated tables that have not been propagated; otherwise, returns false.
/propagatePropagates evidence in this JunctionTreeResource.

Functions

/cgEvidenceIsPropagated

Returns true if CG evidence has been propagated in this junction tree; otherwise, returns false.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/cgEvidenceIsPropagated

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if CG evidence has been propagated in this JunctionTreeResource; otherwise false.

/equilibriumIs

Tests the Equilibrium type.  Returns true if the equilibrium of this JunctionTreeResource can be obtained through a propagation using {equilibrium} as the Equilibrium type; otherwise, returns false.

Parameters

{equilibrium}the type of Equilibrium to test for.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/equilibriumIs?={equilibrium}

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if the equilibrium of this JunctionTreeResource can be obtained through a propagation using {equilibrium} as the Equilibrium type; otherwise false.

/evidenceIsPropagated

Tests if evidence has been propagated for this JunctionTreeResource.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/evidenceIsPropagated

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if evidence has been propagated; otherwise, false.

/evidenceModeIs

Tests if the EvidenceMode matches {mode}.

Parameters

{mode}the type of EvidenceMode to test for.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/evidenceModeIs?={mode}

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if the EvidenceMode matches {mode}; otherwise false.

/evidenceToPropagate

Tests if evidence has been entered since the last propagation.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/evidenceToPropagate

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if evidence has been entered since the last propagation; otherwise, false.

/getCliques

Returns the list of CliqueResources in this JunctionTreeResource.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/getCliques

Response

200 OK

/rest/domain/{ID}/clique/{ID} /rest/domain/{ID}/clique/{ID} /rest/domain/{ID}/clique/{ID} ...

Response Description

Response is a white-space separated list of URI references to CliqueResource.

/getConflict

Returns the conflict measure of the data inserted in this JunctionTreeResource.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/getConflict

Response

200 OK

{real number}

Response Description

Returned {real number} is the conflict measure of the data inserted in JunctionTreeResource.

/getRoot

Returns the root CliqueResource of this JunctionTreeResource.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/getRoot

Response

200 OK

/rest/domain/{ID}/clique/{ID}

Response Description

Response is a URI reference to the root CliqueResource of this JunctionTreeResource.

/getTotalCGSize

Returns the total number of CG table entries for this JunctionTreeResource.  Both clique and separator table entries are counted.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/getTotalCGSize

Response

200 OK

{integer}

Response Description

Returned {integer} is the total number of CG table entries for this JunctionTreeResource.

/getTotalSize

Returns the total number of discrete table configurations for this JunctionTreeResource.  Both clique and separator table configurations are counted.  Also, if the junction tree has utility potentials, then the clique and separator configurations will effectively be counted twice.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/getTotalSize

Response

200 OK

{integer}

Response Description

Returned {integer} is the total number of discrete table configurations for this JunctionTreeResource.

/likelihoodIsPropagated

Returns true if likelihoods have been propagated in this JunctionTreeResource; otherwise, returns false.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/likelihoodIsPropagated

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if likelihoods have been propagated in this JunctionTreeResource; otherwise, false.

/tablesToPropagate

Returns true if this JunctionTreeResource contains updated tables that have not been propagated; otherwise, returns false.

Request

GET /rest/domain/{ID}/junctiontree/{ID}/tablesToPropagate

Response

200 OK

{true or false}

Response Description

Returned {true or false} is true if this JunctionTreeResource contains updated tables that have not been propagated; otherwise, false.

/propagate

Propagates evidence in this JunctionTreeResource.

Request

POST /rest/domain/{ID}/junctiontree/{ID}/propagate

Parameters

{equilibrium}Equilibrium type.  The normal Equilibrium type is sum.

Possible values for {equilibrium} are

  • sum
  • max
{evidenceMode}EvidenceMode type.  The normal EvidenceMode type is normal.

Possible values for {evidenceMode} are

  • normal
  • retraction

Request Body

={equilibrium}&={evidenceMode}

Response

200 OK

DataSetResource

Instances of the DataSetResource represents a data set as a “matrix” with cases as rows and variables as columns.

A DataSetResource is instantiated using the Rest -> /loadDataSet or Rest -> /newDataSet functions.

URI

/rest/dataset/{ID}

Summary
Functions
/deleteDeletes this DataSetResource.
/keepAliveTouch the DataSetResource to mark it as active in periods where no other functions are being called.
/deleteColumnDeletes the specified column from this DataSet.
/deleteRowDeletes the specified row from this DataSet.
/getColumnNameReturns the name of the specified column of this DataSet.
/getDataItemReturns the data item at the specified location of this DataSet.
/getNumberOfColumnsReturns the number of columns in this DataSet.
/getNumberOfRowsReturns the number of rows in this DataSet.
/moveColumnMoves the specified column to a new position.
/moveRowMoves the specified row to a new position.
/newColumnCreates a new column in this DataSet.
/newRowCreates a new row in this DataSet.
/setColumnNameSets the name of the specified column of this DataSet.
/setDataItemSets (or deletes) the data item at the specified location of this DataSet.
/saveSubmits this DataSetResource in the form of a CSV file to the service located at a target URL.
/downloadGet this DataSetResource in the form of a CSV file.

Functions

/delete

Deletes this DataSetResource.

Request

POST /rest/dataset/{ID}/delete

Response

200 OK

/keepAlive

Touch the DataSetResource to mark it as active in periods where no other functions are being called.  This function must be invoked regularly in periods where no operations are being performed on the DataSetResource or any of the objects belonging to it, in order to signal the remote decision engine that the DataSetResource are still in use and not subject to garbage collection.

Request

POST /rest/dataset/{ID}/keepAlive

Response

200 OK

/deleteColumn

Deletes the specified column from this DataSet.

Request

POST /rest/dataset/{ID}/deleteColumn

Parameters

{column}the index of the column to be deleted.

Request Body

={column}

Response

200 OK

/deleteRow

Deletes the specified row from this DataSet.

Request

POST /rest/dataset/{ID}/deleteRow

Parameters

{row}the index of the row to be deleted.

Request Body

={row}

Response

200 OK

/getColumnName

Returns the name of the specified column of this DataSet.

Parameters

{column}the index of the column.

Request

GET /rest/dataset/{ID}/getColumnName?={column}

Response

200 OK

{column name string}

/getDataItem

Returns the data item at the specified location of this DataSet.

Parameters

{row}the index of the row.
{column}the index of the column.

Request

GET /rest/dataset/{ID}/getDataItem?={row}&={column}

Response

200 OK

{data item string}

/getNumberOfColumns

Returns the number of columns in this DataSet.

Request

GET /rest/dataset/{ID}/getNumberOfColumns

Response

200 OK

{integer}

/getNumberOfRows

Returns the number of rows in this DataSet.

Request

GET /rest/dataset/{ID}/getNumberOfRows

Response

200 OK

{integer}

/moveColumn

Moves the specified column to a new position.  The columns between the old and the new column positions will be shifted one position to the left or to the right depending on the direction of the move.

Request

POST /rest/dataset/{ID}/moveColumn

Parameters

{column}the index of the column to be moved
{newColumn}the index of the destination column

Request Body

={column}&={newColumn}

Response

200 OK

/moveRow

Moves the specified row to a new position.  The rows between the old and the new row positions will be shifted one position to the left or to the right depending on the direction of the move.

Request

POST /rest/dataset/{ID}/moveRow

Parameters

{row}the index of the row to be moved.
{newRow}the index of the destination row.

Request Body

={row}&={newRow}

Response

200 OK

/newColumn

Creates a new column in this DataSet.

Request

POST /rest/dataset/{ID}/newColumn

Parameters

{name}the name of the new column.

Request Body

={name}

Response

200 OK

{integer}

Response Description

Returned {integer} is the index of the new column.

/newRow

Creates a new row in this DataSet.

Request

POST /rest/dataset/{ID}/newRow

Response

200 OK

{integer}

Response Description

Returned {integer} is the index of the new row.

/setColumnName

Sets the name of the specified column of this DataSet.

Request

POST /rest/dataset/{ID}/setColumnName

Parameters

{column}the index of the column.
{name}the new name of the column.

Request Body

={column}&={name}

Response

200 OK

/setDataItem

Sets (or deletes) the data item at the specified location of this DataSet.

Request

POST /rest/dataset/{ID}/setDataItem

Parameters

{row}the index of the row.
{column}the index of the column.
{data}the new data item (the empty string causes the item to be deleted).

Request Body

={row}&={column}&={data}

Response

200 OK

/save

Submits this DataSetResource in the form of a CSV file to the service located at a target URL.

Request

POST /rest/dataset/{ID}/save

Parameters

{URL}the URL to submit CSV file
{method}the HTTP method to use: POST | PUT
{delimiter}CSV delimiter character

Request Body

={URL}&={method}&={delimiter}

Response

200 OK

/download

Get this DataSetResource in the form of a CSV file.

Parameters

{delimiter}CSV delimiter character
{filename}filename, used for setting the Content-Disposition filename header of response.

Request

GET /rest/dataset/{ID}/download?={delimiter}&={filename}

Response

200 OK

[ ... raw CSV file contents ... ]
Instances of the ClassResource represent object-oriented Bayesian networks and LIMIDs.
ClassResources are grouped into ClassCollectionResources.
Instances of the DomainResource represent Bayesian networks and LIMIDs in which you can propagate evidence and calculate updated beliefs and expected utilities.
Nodes are one of the fundamental objects used in the construction of Bayesian networks and LIMIDs.
NetworkModelResource interface is implemented by ClassResource and DomainResource.
A Model is a compact description of a table.
JunctionTreeResources represents the junction trees in the compiled domain.
Computes the constants of the sensitivity functions for the specified output probabilities and all CPT parameters in the network.
Generates a sample configuration from the joint distribution represented by this DomainResource.
Returns the value of this function or continuous chance node for the configuration generated by the most recent call to DomainResource -> /simulate.
Returns the state index of this discrete node for the configuration generated by the most recent call to DomainResource -> /simulate.
Returns the sampled utility associated with this utility node.
Creates a DBN runtime DomainResource from this ClassResource.
Slides the time window of this DBN delta steps into the future.
Computes Bayes factor data for all (nonempty) subsets of evidence nodes up to the specified maximum size.
Hugin uses tables for representing the conditional probability and utility potentials of individual nodes, the probability and utility potentials on separators and cliques of junction trees, evidence potentials, etc.
CliqueResources represents the cliques in the junction tree.
Instances of the DataSetResource represents a data set as a “matrix” with cases as rows and variables as columns.
Main entry point for the HUGIN web service API.
Construct an empty domain.
Establishes the specified equilibrium using the evidence mode indicated for incorporation of evidence on all JunctionTrees of this DomainResource.
Returns the name of this NodeResource.
Gets the belief for the specified state of this NodeResource.
Gets a region of the discrete data of this TableResource.
Selects the specified state of this NodeResource.
Touch the DomainResource to mark it as active in periods where no other functions are being called.
The HUGIN decision engine lives in the server process.
Deletes this NodeResource.
Deletes this TableResource.
Deletes this ModelResource.
Construct an empty classcollection.
Construct a classcollection from a HUGIN Knowledge Base retrieved over HTTP.
Creates a flat runtime DomainResource from this ClassResource.
Creates a new ClassResource.
Generates the table of this discrete node from its model (a missing model will trigger an error).
Construct a domain from a HUGIN Knowledge Base retrieved over HTTP.
Triangulates a DomainResource produced by ClassResource -> /createDBNDomain such that DomainResource -> /moveDBNWindow can be used.
Finds all configurations of nodes with probability at least {minprobability}.
Returns the number of MAP configurations.
Returns a MAP configuration.
Returns the probability of a MAP configuration.
Returns the approximation constant.
Triangulates a DomainResource produced by ClassResource -> /createDBNDomain such that DomainResource -> /moveDBNWindow can be used.
Returns the predicted belief for the specified state of this discrete NodeResource at the specified time point.
Returns the evidence subset associated with the explanation of rank index computed by the most recent call to NodeResource -> /computeExplanationData.
Computes predictions for {numberOfTimePoints} time slices beyond the current time window.
Computes the constants of the sensitivity functions for the specified output probability and all CPT/policy parameters in the network.
Returns the score of the specified explanation.
Gets the TableResource associated with this NodeResource.
Constructs a ModelResource over a NodeResource given a list of NodeResources.
Gets the ModelResource for this NodeResource.
Returns the list of CliqueResources in this JunctionTreeResource.
Returns the root CliqueResource of this JunctionTreeResource.
Returns a list of CliqueResources that are neighbors of this CliqueResource.
Gets all JunctionTreeResources of this DomainResource.
Construct a data set from a CSV file retrieved over HTTP.
Construct an empty data set.
Close