{"id":202,"date":"2024-12-01T16:18:28","date_gmt":"2024-12-01T16:18:28","guid":{"rendered":"https:\/\/ntp.cmh.mybluehost.me\/website_d94ad41c\/?page_id=202"},"modified":"2024-12-01T16:19:23","modified_gmt":"2024-12-01T16:19:23","slug":"202-2","status":"publish","type":"page","link":"https:\/\/nspace.com\/?page_id=202","title":{"rendered":"nSpace\u00ae Technology"},"content":{"rendered":"\n[et_pb_section fb_built=&#8221;1&#8243; theme_builder_area=&#8221;post_content&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; alt=&#8221;banner_logo&#8221; title_text=&#8221;cyber_flow_banner_logo_gld&#8221; background_image=&#8221;https:\/\/ntp.cmh.mybluehost.me\/website_d94ad41c\/wp-content\/uploads\/2024\/11\/cyber_flow_banner_logo_gld.png&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; min_height=&#8221;575px&#8221; height=&#8221;1000px&#8221; max_height=&#8221;575px&#8221;][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; theme_builder_area=&#8221;post_content&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; min_height=&#8221;438.9px&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; column_structure=&#8221;1_3,1_3,1_3&#8243; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;][et_pb_column _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; type=&#8221;1_3&#8243; theme_builder_area=&#8221;post_content&#8221;][et_pb_blurb title=&#8221;nSpace\u00ae Technology&#8221; image=&#8221;https:\/\/ntp.cmh.mybluehost.me\/website_d94ad41c\/wp-content\/uploads\/2024\/11\/nspclogo_sm.png&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; title_text=&#8221;nspclogo_sm&#8221; image_icon_width=&#8221;1%&#8221; icon_placement=&#8221;left&#8221;]<p>nSpace<sub>\u00ae<\/sub>\u00a0might be classified as a member of the flow-based programming (FBP) genre but due to its inherent structure it is more like some connection-oriented programming paradigms.<\/p>\n<p>Like FBP the basic idea of nSpace is that information \u2018flows\u2019, facilitated by the nSpace engine, through an interconnected set of graphs that perform some predefined operations on the data.\u00a0 A behavior specific piece of functionality implemented in a high-level object-oriented language is instanced and connected to other behaviors.<\/p>\n<p>This collection of instanced graph definitions along with their embodied behaviors are located in a computational fabric called a \u2018namespace\u2019<\/p>[\/et_pb_blurb][\/et_pb_column][et_pb_column _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; type=&#8221;1_3&#8243; theme_builder_area=&#8221;post_content&#8221;][et_pb_blurb image=&#8221;data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA4MCIgaGVpZ2h0PSI1NDAiIHZpZXdCb3g9IjAgMCAxMDgwIDU0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0VCRUJFQiIgZD0iTTAgMGgxMDgwdjU0MEgweiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NDUuNjQ5IDU0MGgtOTguOTk1TDE0NC42NDkgMzM3Ljk5NSAwIDQ4Mi42NDR2LTk4Ljk5NWwxMTYuMzY1LTExNi4zNjVjMTUuNjItMTUuNjIgNDAuOTQ3LTE1LjYyIDU2LjU2OCAwTDQ0NS42NSA1NDB6IiBmaWxsLW9wYWNpdHk9Ii4xIiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgICAgICA8Y2lyY2xlIGZpbGwtb3BhY2l0eT0iLjA1IiBmaWxsPSIjMDAwIiBjeD0iMzMxIiBjeT0iMTQ4IiByPSI3MCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDgwIDM3OXYxMTMuMTM3TDcyOC4xNjIgMTQwLjMgMzI4LjQ2MiA1NDBIMjE1LjMyNEw2OTkuODc4IDU1LjQ0NmMxNS42Mi0xNS42MiA0MC45NDgtMTUuNjIgNTYuNTY4IDBMMTA4MCAzNzl6IiBmaWxsLW9wYWNpdHk9Ii4yIiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDwvZz4KPC9zdmc+Cg==&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; icon_placement=&#8221;left&#8221; image_icon_width=&#8221;1%&#8221;]<p>which is organized in system memory \u2013 or through state mirroring \u2013 distributed across the memory of a collection of systems over the network. The namespace is a hierarchical fractal structure which is dynamically created by the instancing of graphs by the nSpace engine and it is this structure that provides deterministic behavior while allowing for emergence of new behaviors by the running system.<\/p>\n<p>The actual code of the application is minimized to the instructions needed to interface to hardware via the operating system and execute the application on a computing device. \u00a0The application\u2019s domain \u2018knowledge\u2019 (context) is implemented in such a way as to allow it to be portable across multiple computing platforms<\/p>[\/et_pb_blurb][\/et_pb_column][et_pb_column _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; type=&#8221;1_3&#8243; theme_builder_area=&#8221;post_content&#8221;][et_pb_blurb image=&#8221;data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA4MCIgaGVpZ2h0PSI1NDAiIHZpZXdCb3g9IjAgMCAxMDgwIDU0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0VCRUJFQiIgZD0iTTAgMGgxMDgwdjU0MEgweiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NDUuNjQ5IDU0MGgtOTguOTk1TDE0NC42NDkgMzM3Ljk5NSAwIDQ4Mi42NDR2LTk4Ljk5NWwxMTYuMzY1LTExNi4zNjVjMTUuNjItMTUuNjIgNDAuOTQ3LTE1LjYyIDU2LjU2OCAwTDQ0NS42NSA1NDB6IiBmaWxsLW9wYWNpdHk9Ii4xIiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgICAgICA8Y2lyY2xlIGZpbGwtb3BhY2l0eT0iLjA1IiBmaWxsPSIjMDAwIiBjeD0iMzMxIiBjeT0iMTQ4IiByPSI3MCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDgwIDM3OXYxMTMuMTM3TDcyOC4xNjIgMTQwLjMgMzI4LjQ2MiA1NDBIMjE1LjMyNEw2OTkuODc4IDU1LjQ0NmMxNS42Mi0xNS42MiA0MC45NDgtMTUuNjIgNTYuNTY4IDBMMTA4MCAzNzl6IiBmaWxsLW9wYWNpdHk9Ii4yIiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDwvZz4KPC9zdmc+Cg==&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; icon_placement=&#8221;left&#8221; image_icon_width=&#8221;1%&#8221;]<p>from mobile to cloud computing utilizing various hardware, operating systems and network architectures.<\/p>\n<p>The key is that the (IP) Intellectual Property which is the method\/process or specific domain knowledge is not embedded in the code but is defined at a higher level of abstraction separating the context from the underlying, environment specific implementations of required functionality (code). In large scale software applications this leads to the construction of fully extensible, functionally portable, relatively efficient and robust software.<\/p>[\/et_pb_blurb][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; theme_builder_area=&#8221;post_content&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;][et_pb_row _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; type=&#8221;4_4&#8243; theme_builder_area=&#8221;post_content&#8221;][et_pb_heading title=&#8221;FEATURES&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;][\/et_pb_heading][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; column_structure=&#8221;1_2,1_2&#8243; theme_builder_area=&#8221;post_content&#8221; custom_padding=&#8221;|||4px||&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;][et_pb_column _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; type=&#8221;1_2&#8243; theme_builder_area=&#8221;post_content&#8221;][et_pb_accordion _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;][et_pb_accordion_item title=&#8221;Portability&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; open=&#8221;on&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]<p><span>Since all of the \u2018knowledge\u2019 of an application is described in the form of graphs, portability becomes fairly simple. Only the underlying nSpace engine and behaviors need to be ported to a new language or operating system. All of the graphs that have been tested and running in completed applications will immediately be available in the new environment, provided the behaviors can be made to perform the same function in the that environment.<\/span><\/p>[\/et_pb_accordion_item][et_pb_accordion_item title=&#8221;Reliability&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; open=&#8221;off&#8221; theme_builder_area=&#8221;post_content&#8221;]<p><span>As with security and portability, reliability is enhanced as well due to all of the knowledge existing in graphs and a very limited code base implemented as behaviors. \u00a0Adding new capability to a system in the form of graphs immediately inherits the reliability of previously tested and running graphs.<\/span><\/p>\n<p><span><\/span><\/p>[\/et_pb_accordion_item][et_pb_accordion_item title=&#8221;Containment&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; open=&#8221;off&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]<p><span>Sometimes interfacing to a legacy computer system or device can be an unavoidable messy business.\u00a0 One of the nice side effects of using nSpace is that messiness is \u2018contained\u2019 either within the graph that deals with the issues or just a specific behavior. \u00a0The new code is implemented in a behavior and is \u2018handed\u2019 messages\/values from the running graph in the namespace.\u00a0 The behavior takes the appropriate action and \u2019emits\u2019 the proper output back into the graph.\u00a0 This makes the code segments very concise and simple.<\/span><\/p>[\/et_pb_accordion_item][et_pb_accordion_item title=&#8221;Modularity&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; open=&#8221;off&#8221;]Since behaviors have an existence independent of any graph, they can also be \u2018unit\u2019 tested a lot easier than a huge library of code.  Although code libraries can be broken up into testable units, generally the code for a particular high-level solution cannot because of the interdependencies, only libraries have a definite \u2018beginning\u2019 and \u2018end\u2019 to their functionality that can easily be tested. Since nSpace is based on such a small amount of code (contained in functional behaviors) the level of modularity achieved is maximized.[\/et_pb_accordion_item][et_pb_accordion_item title=&#8221;Security&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; open=&#8221;off&#8221;]Software security can be compromised through many different means but one common method is through exploiting coding errors such as buffer overruns.  From that perspective an equivalent nSpace solution will inherently be more secure since the code base is so much smaller than a full code-based solution.  Simply having a smaller attack vector is an advantage.  Also, the only time new code is introduced is when a new behavior is required.  Many solutions can be created with existing graphs without the need for more behaviors so brand new \u2018programs\u2019 can be created that are just as secure as previous ones.  Security from a system level is also enhanced.  Instead of requiring an \u2018independent\u2019 development effort to write additional code to implement security, the operating namespace can be secured independent of the application\u2019s graphs similar to setting the permissions on directories and files in a file system.\n\nIn nSpace, security can be handled on a global, independent layer without interfering with currently running solutions.  As stated before, running graphs are placed in a namespace appropriate to whatever problem they are solving. These namespaces can run independent of each other and access to their internal paths can be allowed or denied through a simple security mechanism placed in front of the namespace.  In other words, if an external entity wants to inspect a value or connect to a graph from another namespace, the security \u2018layer\u2019 can service that request through its own filtering.  This allows entire security mechanisms to be swapped out or enhanced without effecting the environment of the running application.[\/et_pb_accordion_item][et_pb_accordion_item title=&#8221;Asynchronous Operations&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; open=&#8221;off&#8221;]<p>With nSpace,\u00a0the developer no longer has to worry about creating multiple threads of execution and synchronizing data between those threads to prevent race conditions, etc.\u00a0 Threads are created \u2018on demand\u2019 implied by the use of certain behavior functionality (such as timers or socket I\/O availability and detection).\u00a0 In some environments \u2018information\u2019 needs to be assigned different levels of priority based on what the information contains.\u00a0 Since only threads can be assigned a priority, a different layer on top of the thread layer must be implemented to handle this prioritization.\u00a0 Since nSpace is based on the flow of information between graphs it opens up the opportunity to handle both the above issues in a simpler fashion.<\/p>\n<p>This flow allows nSpace to create threads or whatever equivalent structure is needed for the environment (i.e. message passing) without the developer having to worry about the details or capabilities of the underlying operating system.\u00a0 In the case of designing a graph one focuses on the problem to be solved rather than the implementation details.\u00a0 If threads are needed by the individual behavior to fulfill the requirements of the graph they are created automatically. \u00a0 A simple example is a timer that emits signals at some predetermined rate.<\/p>\n<p>A more sophisticated example is an asynchronous queue where values are received on one thread and emitted on another. When designing the graph that has such a queue one just specifies the connections and the asynchronous nature is taken care of by the operating system.\u00a0 When it comes to prioritization of information, \u2018paths\u2019 can be elevated (and thus the information flowing through the path) in priority rather than having to worry about the mechanics of how that is achieved.<\/p>[\/et_pb_accordion_item][\/et_pb_accordion][\/et_pb_column][et_pb_column _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; type=&#8221;1_2&#8243; theme_builder_area=&#8221;post_content&#8221;][et_pb_accordion _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;][et_pb_accordion_item title=&#8221;Reusability&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; open=&#8221;on&#8221; theme_builder_area=&#8221;post_content&#8221;]<p><span>nSpace necessarily promotes more re-use of solutions since the task is no longer finding a \u2018library\u2019 that is compatible to the current language and operating system the developer can now just find the \u2018behavior\u2019 that is required and wire in into the higher level solution. Also the introduction of sub-graphs allow for reuse of common features (i.e. network, I\/O, etc.).<\/span><\/p>[\/et_pb_accordion_item][et_pb_accordion_item title=&#8221;Information visibility&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; open=&#8221;off&#8221; theme_builder_area=&#8221;post_content&#8221;]<p><span>A running nSpace application exposes every piece of functionality at the highest and lowest levels.\u00a0 All running graphs can be inspected, recorded, connected to, and rearranged in real-time.\u00a0 This allows a programmer or user to enhance or \u2018get at\u2019 functionality not originally intended by the application\u2019s designer.\u00a0 It might be something as simple as a \u2018get this counter value\u2019 from deep down in the solution space, or it could be something more complicated like \u2018let me know every e-mail address that passes through the application\u2019.\u00a0 A simple \u2018load\u2019 to the path to access a location of particular graph in the namespace could open up new avenues of solutions without the original designer having to think about that potential at design time.<\/span><\/p>[\/et_pb_accordion_item][et_pb_accordion_item title=&#8221;Generality&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; open=&#8221;off&#8221;]<p>The nSpace framework is a different type of implementation.\u00a0 It provides a \u2018step up\u2019 in capability and abstraction without imposing any design decisions on the programmer.\u00a0 It is still a \u2018clean slate\u2019 when it comes to designing the next application without restricting any potential that a standard language based library might impose.\u00a0 This flexibility has allowed the nSpace engine and concepts to be applied to a number of diverse applications.<\/p>\n<p>nSpace is not a compiled \u2018language\u2019 but it still has the level of generality that a meta language provides. Ultimately this generality is what makes nSpace such a diverse environment, although having no \u2018built-in\u2019 functionality means it is not a \u2018build your application in two steps\u2019 type of environment.\u00a0 However, by creating new and reusing existing graph definitions (i.e. \u2018sub-graphs\u2019) one can have a huge \u2018library\u2019 of pre-generated solutions from which to start.<\/p>[\/et_pb_accordion_item][et_pb_accordion_item title=&#8221;Persistence&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; open=&#8221;off&#8221;]<p>Another side effect of nSpace that has emerged is how the idea of \u2018persistence\u2019 has changed. In a standard database information is stored in two-dimensional tables.\u00a0 The tables, by themselves, provide no \u2018context\u2019 to which an outside observer could reconstruct how the data is used.\u00a0 Where are these relationships specified?\u00a0 These relationships are \u2018implied\u2019 by the coded modules that use the data in the tables.<\/p>\n<p>By effectively separating the data from its context, a performance penalty is paid during reconstruction of the context. \u00a0 The reconstruction in this case is the code running on a computer performing the queries and pre-defined operations on the data in the database.<\/p>[\/et_pb_accordion_item][et_pb_accordion_item title=&#8221;Data Storage&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; open=&#8221;off&#8221;]<p><span>In an ideal situation the data would be stored right along side its contextual representation so that querying (or \u2018navigating\u2019) the information could be done in a general way without concern or access to the original \u2018code\u2019 that stored the data. In nSpace, the running graphs specify the context of the information that flows through the graphs.<\/span><\/p>[\/et_pb_accordion_item][et_pb_accordion_item title=&#8221;Temporal Recording&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; open=&#8221;off&#8221;]<p><span>Utilizing the temporal capability of nSpace\u2019s namespace a developer automatically obtains a historical record of changes made to the library\u00a0of solutions in a running system.\u00a0 This temporal storage is also available to the graphs for storage of any data in the system and is a straightforward way to enable \u2018storage\u2019 in an application again without having to write additional logic either in code or in graphs.\u00a0 Data is stored relative to its location within the namespace which also allows easier \u2018discovery\u2019 of available data via a file system like browser. The result is \u2018previous\u2019 snap-shots in time can be brought up to \u2018now\u2019 in order to restore previous solutions and\/or data. Query for temporal \/ history data is available inside graph solutions to order to enable advanced visualization tools or any other logic that requires a historical view of the data.<\/span><\/p>[\/et_pb_accordion_item][\/et_pb_accordion][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"<p>nSpace\u00ae\u00a0might be classified as a member of the flow-based programming (FBP) genre but due to its inherent structure it is more like some connection-oriented programming paradigms. Like FBP the basic idea of nSpace is that information \u2018flows\u2019, facilitated by the nSpace engine, through an interconnected set of graphs that perform some predefined operations on the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nf_dc_page":"","_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-202","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/nspace.com\/index.php?rest_route=\/wp\/v2\/pages\/202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nspace.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nspace.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nspace.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nspace.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=202"}],"version-history":[{"count":3,"href":"https:\/\/nspace.com\/index.php?rest_route=\/wp\/v2\/pages\/202\/revisions"}],"predecessor-version":[{"id":206,"href":"https:\/\/nspace.com\/index.php?rest_route=\/wp\/v2\/pages\/202\/revisions\/206"}],"wp:attachment":[{"href":"https:\/\/nspace.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}