Release 1st April 2026

Change Control note Hiperspace --version 2.5.43 HiLang --version 2.5.43

Overview

This release includes minor enhancement to the graph functionality when used with Hiperspace.DB graph view. Hiperspace.DB provides a graph view that aggregates alll databases, so that graph shows all connections both local and foreign. In the following example Togaf.Has.WorkPackage includes a value ProjectKey that could be a stringified SKey reference to a project plan in another database. When the project is viewed as a graph in Hiperspace.DB, the graph includes paths between a project plan and strategic goals.

segment Togaf.Has.WorkPackage : Togaf.Base 
    = Node        ( SKey = SKey, Name = Name, TypeName = "AF-WorkPackage"),
      Edge        (From = owner, To = this, Name = Name, TypeName = "AF-Has-WorkPackage"),
      Togaf.Edge_ (To = owner, From = this, Name = Name, TypeName = "AF-WorkPackage-For"),
      Togaf.Edges (From = this, To = Project, Name = Name, FromTypeName = "AF-WorkPackage-Plan", ToTypeName = "AF-Plan-WorkPackage"),
      Graph.HiperEdge = StrategicEdges #2675 
{
    ProjectKey      : String #29 
}
[
    "All Togaf.Edges that can be projected as Transitative Togaf.Edges to a Business Goal"
    @Once
    StrategicEdges  = StrategicEdge(this),
    Project         = externalnode(ProjectKey)
];

For efficiency, the SKey property has been changed from a Base64 encoding of the key to add the option of a database prefix. The Node SKey "Togaf.ascxyz==" will only search for matching items "abcxyz==" in the Togaf database. Within the Togaf database, only the specific segment is searched because the key includes the #Id of the element set.

the following SQL query would return a table of all project plans and Goals that can be reached through the {component, service, function, process, capability, etc} that are in some way associated with the Work Package

SELECT project.Name AS "Project Name"
     , goal.Name AS "Goal Name"
     , project.SKey as "Project Id"
     , goal.SKey as "Goal Id"
FROM   Nodes as project
     , project.Tos as planedge
     , planedge.To as workpackage
     , workpackage.Tos as workedge 
     , workedge.To as goal
WHERE  project.TypeName = 'Plan'
  AND  planedge.TypeName = 'AF-Plan-WorkPackage'
  AND  workpackage.TypeName = 'AF-WorkPackage'
  AND  workedge.TypeName = 'Strategic-Goal'
  AND  goal.TypeName = 'AF-Goal';

NB the five table join uses implicit joins in Hiperspace.SQL because project.Tos and workpackage.Tos are Set<Edge> properties that are implicitly filtered by the source Node

Release 1st April 2026 Release 20th March 2026 Release 27th February 2026
Copyright © Cepheis 2024