OSID Logo
OSID Specifications
topology package
Version 3.0.0
Release Candidate Preview
Interfaceosid.topology.GraphLookupSession
Implementsosid.OsidSession
Description

This session provides methods for retrieving Graph objects. The Graph represents a collection of nodes and edges.

This session defines views that offer differing behaviors when retrieving multiple objects.

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete set or is an error condition

Generally, the comparative view should be used for most applications as it permits operation even if there is data that cannot be accessed. For example, a browsing application may only need to examine the Graphs it can access, without breaking execution. However, an assessment may only be useful if all Graphs referenced by it are available, and a test-taking application may sacrifice some interoperability for the sake of precision.

MethodcanLookupGraphs
Description

Tests if this user can perform Graph lookups. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer lookup operations to unauthorized users.

Returnboolean false if lookup methods are not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoduseComparativeGraphView
Description

The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.

CompliancemandatoryThis method is must be implemented.
MethodusePlenaryGraphView
Description

A complete view of the Graph returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.

CompliancemandatoryThis method is must be implemented.
MethodgetGraph
Description

Gets the Graph specified by its Id. In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Graph may have a different Id than requested, such as the case where a duplicate Id was assigned to a Graph and retained for compatibility.

Parametersosid.id.IdgraphId Id of the Graph
Returnosid.topology.Graphthe graph
ErrorsNOT_FOUND graphId not found
NULL_ARGUMENT graphId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method is must be implemented.
MethodgetGraphsByIds
Description

Gets a GraphList corresponding to the given IdList. In plenary mode, the returned list contains all of the graphs specified in the Id list, in the order of the list, including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Graphs may be omitted from the list and may present the elements in any order including returning a unique set.

Parametersosid.id.IdListgraphIdsthe list of Ids to retrieve
Returnosid.topology.GraphListthe returned Graph list
ErrorsNOT_FOUNDan Id was not found
NULL_ARGUMENT graphIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetGraphsByGenusType
Description

Gets a GraphList corresponding to the given graph genus Type which does not include graphs of types derived from the specified Type. In plenary mode, the returned list contains all known graphs or an error results. Otherwise, the returned list may contain only those graphs that are accessible through this session.

Parametersosid.type.TypegraphGenusTypea graph genus type
Returnosid.topology.GraphListthe returned Graph list
ErrorsNULL_ARGUMENT graphGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetGraphsByParentGenusType
Description

Gets a GraphList corresponding to the given graph genus Type and include any additional graphs with genus types derived from the specified Type. In plenary mode, the returned list contains all known graphs or an error results. Otherwise, the returned list may contain only those graphs that are accessible through this session.

Parametersosid.type.TypegraphGenusTypea graph genus type
Returnosid.topology.GraphListthe returned Graph list
ErrorsNULL_ARGUMENT graphGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetGraphsByRecordType
Description

Gets a GraphList containing the given graph record Type. In plenary mode, the returned list contains all known graphs or an error results. Otherwise, the returned list may contain only those graphs that are accessible through this session.

Parametersosid.type.TypegraphRecordTypea graph record type
Returnosid.topology.GraphListthe returned Graph list
ErrorsNULL_ARGUMENT graphRecordType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetGraphsByProvider
Description

Gets a GraphList for the given provider. In plenary mode, the returned list contains all known graphs or an error results. Otherwise, the returned list may contain only those graphs that are accessible through this session.

Parametersosid.id.IdresourceIda resource Id
Returnosid.topology.GraphListthe returned Graph list
ErrorsNULL_ARGUMENT resourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetGraphs
Description

Gets all Graphs. In plenary mode, the returned list contains all known graphs or an error results. Otherwise, the returned list may contain only those graphs that are accessible through this session.

Returnosid.topology.GraphLista list of Graphs
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.