Skip to end of metadata
Go to start of metadata

The Web API services provide the methods that allow a client to interact with a remote BEL Framework server. Each service interface takes the form of a Request and returns a Response. Request methods generally take one or more entities to describe the type of operation to perform and the data to process. The Response objects return results back to the client.

KamStore Related Services

These services represent methods associated with the KamStore.

LoadKam

The LoadKam method loads a Kam into memory on the server. As of BEL Framework Version 1.2.3 this function is performed asynchronously to avoid client time-outs occurring when large KAMs are loaded. When a LoadKamRequest for a KAM is received the service will check to see if the KAM is already loaded or loading has already started. If either of these cases is true, the service will return a response containing the current status of the KAM. If neither case is true, the service will initiate the load prior to returning the response. Clients should continue to poll the service until a terminal status (FAILED or COMPLETED) is returned.
When a KAM has completed loading and is cached, subsequent calls to LoadKamRequest will return a response containing a KamHandle referencing the Kam.
If the Kam specified in the request is already loaded, the KamHandle associated with the pre-loaded Kam is returned.
If loading fails, the message property of the response will provide the reason for the failure.
The LoadKamRequest entity has the following properties:
kam – An Kam object specifying which Kam to load.
filter – An optional KamFilter object. If specified, the KamFilter will be used to filter the Kam before it is loaded on the server.
The LoadKamResponse entity has the following properties:
handle – A KamHandle object identifying the loaded Kam on the server.
loadStatus – A KAMLoadStatus object identifying status of the KAM load process.
message – A message indicating the cause if a load failure.

Request Definition

<xs:element name="LoadKamRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="kam" type="bfapi:Kam" />
<xs:element name="filter" type="bfapi:KamFilter" nillable="true" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="LoadKamResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" minOccurs="0"/>
<xs:element name="loadStatus" type="bfapi:KAMLoadStatus" />
<xs:element name="message" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>

GetKam

The GetKam method returns a descriptor object for the Kam specified by a KamHandle.
The GetKam entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
The GetKamResponse entity has the following properties:
kam – A Kam object representing the Kam that has been loaded and referenced by the KamHandle.

Request Definition

<xs:element name="GetKamRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="GetKamResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="kam" type="bfapi:Kam" />
</xs:sequence>
</xs:complexType>
</xs:element>

GetBelDocuments

The GetBelDocuments method returns a list of BelDocument objects for a Kam. This list is the set of BelDocument objects that were used to compile the Kam.
The GetBelDocumentsRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
The GetBelDocumentsResponse entity has the following properties:
documents – A list of BelDocument objects.

Request Definition

<xs:element name="GetBelDocumentsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="GetBelDocumentsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="documents" type="bfapi:BelDocument" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

GetAnnotationTypes

The GetAnnotationTypes method returns a list of AnnotationType objects for a Kam. This list is the set of AnnotationType objects that were associated with the BelStatements used to compile the Kam.
The GetAnnotationTypesRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
The GetAnnotationTypesResponse entity has the following properties:
annotationTypes – A list of AnnotationType objects.

Request Definition

<xs:element name="GetAnnotationTypesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="GetAnnotationTypesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="annotationTypes" type="bfapi:AnnotationType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

GetNamespaces

The GetNamespaces method returns a list of Namespace objects for a Kam. This list is the set of Namespaces objects that were associated with the BelStatements used to compile the Kam.
The GetNamespacesRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
The GetNamespacesResponse entity has the following properties:
namespaces – A list of Namespace objects.

Request Definition

<xs:element name="GetNamespacesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="GetNamespacesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="namespaces" type="bfapi:Namespace" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

GetCitations

The GetCitations method returns a list of Citation objects for a Kam. This list is the set of Citation objects that were associated with the BelStatements used to compile the Kam. The list can be filtered to include specific Citations.
The GetCitationsRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
citationType – A CitationType object used to filter the citations that are returned.
referenceIds – An optional list of referenceIds for the citations used the filter the citations that are returned.
Document – An optional BelDocument used to filter the citations. If specified, only citations associated with BelStatements contained in the specified BelDocument will be returned.
The GetCitationsResponse entity has the following properties:
citations – A list of Citation objects.

Request Definition

<xs:element name="GetCitationsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
<xs:element name="citationType" type="bfapi:CitationType" />
<xs:element name="referenceIds" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="document" type="bfapi:BelDocument" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="GetCitationsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="citations" type="bfapi:Citation" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

GetCatalog

The GetCatalog method will return a list of Kams that are stored and available in the KamStore.
The GetCatalogRequest entity has the following properties:
project – A Project entity to be saved or updated in the GTP database.
The GetCatalogResponse entity has the following properties:
kams – A list of Kam objects.

Request Definition

<xs:element name="GetCatalogRequest">
<xs:complexType>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="GetCatalogResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="kams" type="bfapi:Kam" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

GetSupportingEvidence

The GetSupportingEvidence method will return a list of BelStatements which support the assertion made by a KamEdge. The list of BelStatements can be optionally filtered using a KamFilter.
The GetSupportingEvidenceRequest entity has the following properties:
kamEdge – A KamEdge object.
kamFilter – An optional KamFilter object.
The GetSupportingEvidenceResponse entity has the following properties:
statements – A list of BelStatement objects supporting the assertion made by the KamEdge.

Request Definition

<xs:element name="GetSupportingEvidenceRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="kamEdge" type="bfapi:KamEdge" />
<xs:element name="filter" type="bfapi:KamFilter" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="GetSupportingEvidenceResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="statements" type="bfapi:BelStatement" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

GetSupportingTerms

The GetSupportingTerms method will return a list of BelTerm objects which support the assertion made by a KamNode. The list of BelStatements can be optionally filtered using a KamFilter.
The GetSupportingTermsRequest entity has the following properties:
kamNode – A KamNode object.
The GetSupportingTermsResponse entity has the following properties:
terms – A list of BelTerm objects supporting the assertion made by the KamNode.

Request Definition

<xs:element name="GetSupportingTermsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="kamNode" type="bfapi:KamNode" />
</xs:sequence>
</xs:complexType>

Response Definition

<xs:element name="GetSupportingTermsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="terms" type="bfapi:BelTerm" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

FindEquivalences

The FindEquivalences method takes a source NamespaceValue object and attempts to equivalence it to other Namespace values known by the BEL Framework. As each NamespaceValue can be equivalenced to 0 or more other Namespaces the method will generally return a list of NamespaceValue objects for each source NamespaceValue.
The FindEquivalencesRequest entity has the following properties:
namespaceValue – A NamespaceValue object.
The FindEquivalencesResponse entity has the following properties:
namespaceValues – A list of NamespaceValue objects.

Request Definition

<xs:element name="FindEquivalencesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="sourceNamespaceValue" type="bfapi:NamespaceValue" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="FindEquivalencesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="namespaceValues" type="bfapi:NamespaceValue" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

FindNamespaceEquivalence

The FindNamespaceEquivalence method takes a source NamespaceValue object and attempts to equivalence it to a specified target Namespace. As some Namespace values can map to multiple values in other Namespaces, the function returns a list of resulting mappings.
The FindNamespaceEquivalenceRequest entity has the following properties:
namespaceValue – A NamespaceValue object.
targetNamespace – A Namespace to equivalence the NamespaceValue to.
The FindNamespaceEquivalenceResponse entity has the following properties:
namespaceValues – A list of NamespaceValue objects.

Request Definition

<xs:element name="FindNamespaceEquivalenceRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="namespaceValue" type="bfapi:NamespaceValue" />
<xs:element name="targetNamespace" type="bfapi:Namespace" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="FindNamespaceEquivalenceResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="namespaceValue" type="bfapi:NamespaceValue" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>

Kam Related Services

These services represent methods that query or manipulate a Kam.

GetNewInstance

The GetNewInstance method creates an empty copy of a Kam on the server. The copy references the same Kam stored in the KamStore.
The GetNewInstanceRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
The GetAdjacentEdgesResponse entity has the following properties:
handle – A KamHandle object referencing the copy of the Kam on the server.

Request Definition

<xs:element name="GetNewInstanceRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="GetNewInstanceResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
</xs:sequence>
</xs:complexType>
</xs:element>

MapData

The MapData method takes a list of entities and attempts to map them to nodes in a Kam. This method is generally used to associate experimental observations, such as list of modulated genes, to nodes. The observations are defined as values associated with a specified Namespace.
The MapDataRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
namespace – A Namespace object.
values – A list of strings representing namespace values to map.
nodeFilter – An optional NodeFilter that can be used to control how observations are mapped to Nodes. If specified, the NodeFilter will limit the set of nodes that are candidates for mapping to.
The MapDataResponse entity has the following properties:
kamNodes – A list of KamNode objects.

Request Definition

<xs:element name="MapDataRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
<xs:element name="namespace" type="bfapi:Namespace" />
<xs:element name="values" type="xs:string" minOccurs="1" maxOccurs="unbounded" />
<xs:element name="nodeFilter" type="bfapi:NodeFilter" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="MapDataResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="kamNodes" type="bfapi:KamNode" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

UnionKams

The UnionKams method attempts to union two Kams together and generate a new Kam which combines the edges and nodes of both Kams. If kam2 is not specified, a list of KamEdges to union with the first Kam can be specified.
The UnionKamsRequest entity has the following properties:
kam1 – A KamHandle object for a pre-loaded Kam.
kam2 – A KamHandle object for a pre-loaded Kam. This Kam can be optional but if null, a set of KamEdges must be specified.
kamEdges – An optional list of KamEdge objects to be unioned with the Kam specified by kam1.
The UnionKamsResponse entity has the following properties:
handle – A KamHandle for the resulting union Kam.

Request Definition

<xs:element name="UnionKamsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="kam1" type="bfapi:KamHandle" />
<xs:element name="kam2" type="bfapi:KamHandle" minOccurs="0" />
<xs:element name="kamEdges" type="bfapi:KamEdge" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="UnionKamsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
</xs:sequence>
</xs:complexType>
</xs:element>

IntersectKams

The IntersectKams method attempts to intersect two Kams together and generate a new Kam which contains the set of edges and nodes which exist in both Kams. If kam2 is not specified, a list of KamEdges to intersect with the first Kam can be specified.
The IntersectKamsRequest entity has the following properties:
kam1 – A KamHandle object for a pre-loaded Kam.
kam2 – A KamHandle object for a pre-loaded Kam. This Kam can be optional but if null, a set of KamEdges must be specified.
kamEdges – An optional list of KamEdge objects to be intersected with the Kam specified by kam1.
The IntersectKamsResponse entity has the following properties:
handle – A KamHandle for the resulting intersect Kam.

Request Definition

<xs:element name="IntersectKamsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="kam1" type="bfapi:KamHandle" />
<xs:element name="kam2" type="bfapi:KamHandle" minOccurs="0" />
<xs:element name="kamEdges" type="bfapi:KamEdge" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="IntersectKamsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
</xs:sequence>
</xs:complexType>
</xs:element>

DifferenceKams

The DifferenceKams method attempts to determine the difference of two Kams and generate a new Kam which contains the set of edges and nodes which exist in one but not both Kams. If kam2 is not specified, a list of KamEdges to difference with the first Kam can be specified.
The DifferenceKamsRequest entity has the following properties:
kam1 – A KamHandle object for a pre-loaded Kam.
kam2 – A KamHandle object for a pre-loaded Kam. This Kam can be optional but if null, a set of KamEdges must be specified.
kamEdges – An optional list of KamEdge objects to be differenced with the Kam specified by kam1.
The DifferenceKamsResponse entity has the following properties:
handle – A KamHandle for the resulting difference Kam.

Request Definition

<xs:element name="DifferenceKamsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="kam1" type="bfapi:KamHandle" />
<xs:element name="kam2" type="bfapi:KamHandle" minOccurs="0" />
<xs:element name="kamEdges" type="bfapi:KamEdge" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="DifferenceKamsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
</xs:sequence>
</xs:complexType>
</xs:element>

ResolveNodes

The ResolveNodes method attempts to match a set of generic Node objects to KamNodes in a Kam. The Node objects are matched to the Kam by their node label.
The ResolveNodesRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
nodes – A list of Node objects to match to the Kam.
The ResolveNodesResponse entity has the following properties:
kamNodes – A list of KamNode objects that the input nodes have been resolved to.

Request Definition

<xs:element name="ResolveNodesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
<xs:element name="nodes" type="bfapi:Node" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="ResolveNodesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="kamNodes" type="bfapi:KamNode" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

ResolveEdges

The ResolveEdges method attempts to match a set of generic Edge objects to KamEdges in a Kam. The Edge objects are matched to the Kam by their node label and relationship types.
The ResolveEdgesRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
edges – A list of Edge objects to match to the Kam.
The ResolveEdgesResponse entity has the following properties:
kamEdges – A list of KamEdge objects that the input edges have been resolved to.

Request Definition

<xs:element name="ResolveEdgesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
<xs:element name="edges" type="bfapi:Edge" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="ResolveEdgesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="kamEdges" type="bfapi:KamEdge" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

ReleaseKam

The ReleaseKam method will remove a Kam from the cache on the server. Once a Kam has been released any KamHandle or Kam objects associated with the Kam will no longer be viable.
The ReleaseKamRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
The ReleaseKamResponse entity has the following properties:

Request Definition

<xs:element name="ReleaseKamRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="ReleaseKamResponse">
<xs:complexType>
<xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>

FindKamEdges

The FindKamEdges method will return a list of KamEdge objects from the specified Kam based on an EdgeFilter.
The FindKamEdgesRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
edgeFilter – An EdgeFilter object determining the type of KamEdge objects to return.
The FindKamEdgesResponse entity has the following properties:
kamEdges – A list of KamEdge objects.

Request Definition

<xs:element name="FindKamEdgesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
<xs:element name="filter" type="bfapi:EdgeFilter" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="FindKamEdgesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="kamEdges" type="bfapi:KamEdge" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

FindKamNodesByIds

The FindKamNodesByIds method will return a list of KamNode objects from the specified Kam based on a set of KamNode Ids. The resulting list can be filtered by specifying an optional KamNode filter object.
The FindKamNodesByIdsRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
ids – A list of strings representing KamNode Ids.
Filter – An optional NodeFilter object.
The FindKamNodesByIdsResponse entity has the following properties:
kamNodes – A list of KamNode objects.

Request Definition

<xs:element name="FindKamNodesByIdsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
<xs:element name="ids" type="xs:string" maxOccurs="unbounded" />
<xs:element name="filter" type="bfapi:NodeFilter" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="FindKamNodesByIdsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="kamNodes" type="bfapi:KamNode" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

FindKamNodesByLabels

The FindKamNodesByLabels method will return a list of KamNode objects from the specified Kam based on a set of KamNode labels. The resulting list can be filtered by specifying an optional KamNode filter object.
The FindKamNodesByLabelsRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
labels – A list of strings representing KamNode labels.
Filter – An optional NodeFilter object.
The FindKamNodesByLabelsResponse entity has the following properties:
kamNodes – A list of KamNode objects.

Request Definition

<xs:element name="FindKamNodesByLabelsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
<xs:element name="labels" type="xs:string" maxOccurs="unbounded" />
<xs:element name="filter" type="bfapi:NodeFilter" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="FindKamNodesByLabelsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="kamNodes" type="bfapi:KamNode" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

FindKamNodesByPatterns

The FindKamNodesByPatterns method will return a list of KamNode objects from the specified Kam based on a set of regular expressions that match against the KamNode labels. The resulting list can be filtered by specifying an optional KamNode filter object.
The FindKamNodesByPatternsRequest entity has the following properties:
handle – A KamHandle object for a pre-loaded Kam.
patterns – A list of strings representing regular expressions that will be applied to the KamNode labels.
Filter – An optional NodeFilter object.
The FindKamNodesByPatternsResponse entity has the following properties:
kamNodes – A list of KamNode objects.

Request Definition

<xs:element name="FindKamNodesByPatternsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="handle" type="bfapi:KamHandle" />
<xs:element name="patterns" type="xs:string" maxOccurs="unbounded" />
<xs:element name="filter" type="bfapi:NodeFilter" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="FindKamNodesByPatternsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="kamNodes" type="bfapi:KamNode" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

Kam Topological Services

These services represent methods that perform topological operations on a Kam.

GetAdjacentNodes

The GetAdjacentNodes method returns a list of KamNodes that are topologically adjacent to another KamNode. The list of adjacent nodes can be optionally filtered by edge type, node type or direction.
The GetAdjacentNodesRequest entity has the following properties:
kamNode – A KamNode object.
direction – An optional DirectionType object specifying how adjacent nodes should be searched.
edgeFilter – An optional EdgeFilter object specifying how adjacent nodes should be searched.
nodeFilter – An optional NodeFilter object specifying which type of adjacent nodes should be returned.
The GetAdjacentNodesResponse entity has the following properties:
kamNodes – A list of KamNode objects.

Request Definition

<xs:element name="GetAdjacentNodesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="kamNode" type="bfapi:KamNode" />
<xs:element name="direction" type="bfapi:EdgeDirectionType" minOccurs="0" />
<xs:element name="edgeFilter" type="bfapi:EdgeFilter" minOccurs="0" />
<xs:element name="nodeFilter" type="bfapi:NodeFilter" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="GetAdjacentNodesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="kamNodes" type="bfapi:KamNode" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

GetAdjacentEdges

The GetAdjacentEdges method returns a list of KamEdges that are topologically adjacent (incident) to a KamNode. The list of adjacent edges can be optionally filtered by edge type or direction.
The GetAdjacentEdgesRequest entity has the following properties:
kamNode – A KamNode object.
direction – An optional DirectionType object specifying how adjacent edges should be filtered.
edgeFilter – An optional EdgeFilter object specifying which type of edges should be returned.
The GetAdjacentEdgesResponse entity has the following properties:
kamEdges – A list of KamEdge objects.

Request Definition

<xs:element name="GetAdjacentEdgesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="kamNode" type="bfapi:KamNode" />
<xs:element name="direction" type="bfapi:EdgeDirectionType" minOccurs="0" />
<xs:element name="filter" type="bfapi:EdgeFilter" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="GetAdjacentEdgesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="kamEdges" type="bfapi:KamEdge" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

FindPaths

The FindPaths method returns a list of SimplePath objects representing traversals through the Kam from one or more source nodes to one or more target nodes. The FindPaths method uses a depth-first search through the Kam and attempts to find paths from each source node to each target node. The source nodes and target nodes must be associated with the same Kam object.
The FindPathsRequest entity has the following properties:
sources – A list of KamNode objects to use as source nodes.
targets – A list of KamNode objects to use as target nodes.
maxDepth – An optional integer indicating the maximum search depth. If not specified, the maxDepth will be set to 4.
The FindPathsResponse entity has the following properties:
paths – A list of SimplePath objects.

Request Definition

<xs:element name="FindPathsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="sources" type="bfapi:KamNode" minOccurs="1" maxOccurs="unbounded" />
<xs:element name="targets" type="bfapi:KamNode" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="maxDepth" type="xs:int" use="optional" default="4" />
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="FindPathsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="paths" type="bfapi:SimplePath" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

Interconnect

The Interconnect method returns a list of SimplePath objects representing traversals through the Kam between two or more nodes. The Interconnect method uses a depth-first search through the Kam and attempts to find paths from each node to each other node. The nodes must be associated with the same Kam object.
The InterconnectRequest entity has the following properties:
sources – A list of KamNode objects to use as source nodes.
maxDepth – An optional integer indicating the maximum search depth. If not specified, the maxDepth will be set to 4.
The InterconnectResponse entity has the following properties:
paths – A list of SimplePath objects.

Request Definition

<xs:element name="InterconnectRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="sources" type="bfapi:KamNode" minOccurs="2" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="maxDepth" type="xs:int" use="optional" default="4" />
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="InterconnectResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="paths" type="bfapi:SimplePath" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

Scan

The Scan method returns a list of SimplePath objects representing a depth-first search outward a specified number of steps from each specified node. The nodes must be associated with the same Kam object.
The ScanRequest entity has the following properties:
sources – A list of KamNode objects to use as source nodes.
maxDepth – An optional integer indicating the maximum search depth. If not specified, the maxDepth will be set to 4.
The ScanResponse entity has the following properties:
paths – A list of SimplePath objects.

Request Definition

<xs:element name="ScanRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="sources" type="bfapi:KamNode" minOccurs="2" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="maxDepth" type="xs:int" use="optional" default="4" />
</xs:complexType>
</xs:element>

Response Definition

<xs:element name="ScanResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="paths" type="bfapi:SimplePath" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>

Other Services

These services represent methods that do not fall into the other categories.

GetBELFrameworkVersion

The GetBELFrameworkVersionRequest method returns the current version of the BEL Framework.
The GetBELFrameworkVersionRequest entity has no properties.
The GetBELFrameworkVersionResponse entity has the following properties:
version – A string containing the BEL Framework version.

Request Definition

<xs:element name="GetBELFrameworkVersionRequest">
</xs:element>

Response Definition

<xs:element name="GetBELFrameworkVersionResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="version" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>

  • No labels