Method and device for dynamic association of three-dimensional visual model and semantic knowledge graph

CN122817264APending Publication Date: 2026-09-25BEIJING YUANHUI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611300452.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-26
Publication Date
2026-09-25

AI Technical Summary

Technical Problem

[0004]在查询效率方面,现有技术难以支持高效的“从图到谱”和“从谱到图”双向查询

Benefits of technology

[0018]由上述技术方案可知,本申请提供一种三维可视化模型与语义知识图谱的动态关联方法及装置,通过统一资源标识符在几何节点与语义实体间建立稳固锚定关系,并构建包含双向指针映射表和模型空间索引树的关联索引中间层,当接收到图到谱查询时,识别用户选中的几何节点,经中间层映射至语义URI并查询语义图谱返回信息;当接收到谱到图查询时,将语义查询结果通过中间层转换为几何节点列表,借助空间索引树快速定位并在三维场景中高亮显示,由此能够提高三维模型数据和语义图谱数据之间关联查询的效率和鲁棒性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122817264A_ABST
    Figure CN122817264A_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a kind of three-dimensional visual model and the dynamic association method and device of semantic knowledge graph, method includes: by uniform resource identifier, establish solid anchoring relationship between geometric node and semantic entity, and construct the associated index intermediate layer including bidirectional pointer mapping table and model space index tree, when receiving graph to spectrum query, identify the geometric node selected by user, it is mapped to semantic URI and inquires semantic graph atlas return information by intermediate layer;When receiving spectrum to graph query, semantic query result is converted into geometric node list by intermediate layer, quickly locate by means of space index tree and highlight display in three-dimensional scene, the application can improve the efficiency and robustness of associated query between three-dimensional model data and semantic graph data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing, specifically to a method and apparatus for dynamically associating a three-dimensional visualization model with a semantic knowledge graph. Background Technology

[0002] In model-based product design and digital twin applications, 3D visualization models and semantic data (often in the form of knowledge graphs) describing their design, process, performance, and other information are the two core pillars. However, in existing technologies, these two are usually separate and statically related, leading to the "graph-knowledge graph separation" dilemma, which seriously hinders the realization of interactive intelligent applications.

[0003] Existing solutions typically employ simple unique identifier mapping or database foreign key associations, such as storing IDs on visual model parts and storing attributes with the same IDs in database tables. This association is unidirectional, static, and fragile. Once the model is lightweighted, formatted, or updated, the IDs are easily lost or corrupted, leading to broken associations and resulting in "disconnected geometry" and "isolated semantics."

[0004] In terms of query efficiency, existing technologies struggle to support efficient bidirectional queries from graph to spectrum and from spectrum to graph. Graph-to-spectrum queries require traversing the entire semantic database for ID matching, resulting in slow response times. Spectrum-to-graph queries struggle to quickly locate target parts in complex 3D scenes. Furthermore, existing static association architectures cannot efficiently respond to incremental changes in collaborative design or real-time digital twin monitoring scenarios, and the separation between geometric spatial indexes and semantic graph indexes fails to support complex engineering queries that combine spatial and semantic elements.

[0005] Therefore, there is an urgent need for a dynamic association method between 3D visualization models and semantic knowledge graphs, which can improve the efficiency and robustness of association queries between 3D model data and semantic graph data. Summary of the Invention

[0006] To address the problems in the existing technology, this application provides a method and apparatus for dynamically associating a 3D visualization model with a semantic knowledge graph, which can improve the efficiency and robustness of querying the association between 3D model data and semantic knowledge graph data.

[0007] To solve at least one of the above problems, this application provides the following technical solution: Firstly, this application provides a method for dynamically associating a three-dimensional visualization model with a semantic knowledge graph, including: Obtain a pre-built 3D visualization model and semantic knowledge graph. In the pre-building stage, the geometric nodes of the 3D visualization model and the semantic entities of the semantic knowledge graph have formed a stable anchoring relationship through a unified resource identifier. A middleware layer for the association index is constructed, including a bidirectional pointer mapping table and a model space index tree. The bidirectional pointer mapping table is used to establish and maintain bidirectional pointer indexes between the Uniform Resource Identifiers, and the model space index tree is used to establish the position indexes of the geometric nodes in three-dimensional space. The system receives interactive query requests initiated from external sources, including graph-to-spectrum query requests or spectrum-to-graph query requests. For graph-to-spectrum query requests, in response to the geometric node selected by the user in the 3D visualization model, a semantic query is initiated to the semantic knowledge graph based on the association index intermediate layer, and the semantic information of the geometric node is returned. For spectrum-to-graph query requests, in response to the semantic query conditions submitted by the user, the semantic query conditions are converted into geometric node identifiers based on the association index intermediate layer, and highlighted and located in the 3D visualization model, thereby realizing the dynamic association between the 3D visualization model and the semantic knowledge graph.

[0008] Furthermore, in the pre-construction phase, the geometric nodes of the 3D visualization model and the semantic entities of the semantic knowledge graph have formed a stable anchoring relationship through a Uniform Resource Identifier, including: During the pre-construction phase, a Uniform Resource Identifier (URI) is assigned to the semantic entity of each associable geometric node in the semantic knowledge graph, and the URI is globally unique. For each geometric node of the 3D visualization model, the Uniform Resource Identifier (URI) of its corresponding semantic entity is persistently written into the metadata area, forming a two-way anchoring record between the geometric node and the semantic entity.

[0009] Furthermore, the construction of the bidirectional pointer mapping table includes: A storage pool is allocated in memory to store preset mapping entries. All geometric nodes of the 3D visualization model are traversed. For each geometric node, the geometric node identifier and the Uniform Resource Identifier are read from the metadata of the geometric node, and the hash value of the Uniform Resource Identifier is calculated. The read data is then written into the mapping entry. A forward hash index table is constructed using the geometric node identifier as the key and the index of the mapping entry corresponding to the geometric node identifier in the storage pool as the value. A reverse hash index table is constructed using the hash value of the Uniform Resource Identifier as the key and the index of the mapping entry of the geometric node corresponding to the Uniform Resource Identifier in the storage pool as the value. Traverse all mapping entries and verify whether the geometric node identifier and the uniform resource identifier point to the same mapping entry in the forward hash index table and the reverse hash index table; if the verification passes, mark the mapping entry as valid and determine the corresponding bidirectional pointer mapping table.

[0010] Furthermore, the construction of the model space index tree includes: Based on the application scenario type of the 3D visualization model, select to construct a hierarchical bounding box tree or an octree as the model space index tree; If the application scenario is a static assembly display or design review scenario, then the hierarchical bounding box tree is selected as the spatial index tree. Each geometric node of the 3D visualization model is traversed, and the bounding box of the geometric node is calculated based on the coordinates of all the vertices of the triangular facets contained in the geometric node. The geometric node set is recursively divided using a surface area heuristic strategy until the number of geometric nodes contained in each leaf node does not exceed a preset threshold, and the corresponding hierarchical bounding box tree structure is determined. If the application scenario involves frequent changes in the position of geometric nodes or dynamic adjustments to the assembly, then an octree is selected as the spatial index tree. Each geometric node of the 3D visualization model is traversed to determine the corresponding overall bounding box of the model. The overall bounding box of the model is used as the spatial range of the root node and is recursively divided into eight sub-cubes in a uniform manner until the number of geometric nodes contained in each leaf node does not exceed a preset threshold, and the corresponding octree structure is determined.

[0011] Furthermore, in response to the graph-to-spectrum query request, the user selects a geometric node in the 3D visualization model, initiates a semantic query to the semantic knowledge graph based on the associated index intermediate layer, and returns the semantic information of the geometric node, including: For the graph-to-spectrum query request, the screen coordinate point selection signal input by the user is received, the screen coordinates are used as the input parameters for ray casting, the 3D renderer is called to perform ray casting calculation, and the corresponding geometric node identifiers are extracted. Using the geometric node identifier as the forward lookup key, a hash lookup is performed in the bidirectional pointer mapping table of the intermediate layer of the associated index to extract the mapping entry corresponding to the geometric node identifier, and the corresponding Uniform Resource Identifier is read from the mapping entry; Based on the Uniform Resource Identifier, a SPARQL query statement is constructed to initiate a semantic query to the semantic knowledge graph, and the semantic information of the geometric node returned by the semantic knowledge graph is obtained, including the semantic entity corresponding to the geometric node, all attribute data of the semantic entity, and association data.

[0012] Further, the step of responding to the spectral-to-graph query request by responding to the semantic query conditions submitted by the user, converting the semantic query conditions into geometric node identifiers according to the associated index intermediate layer, and highlighting and locating them in the 3D visualization model includes: For the spectrum-to-graph query request, the system receives a structured semantic query statement submitted by the user, including type constraints and attribute filtering conditions for the target semantic entity. Based on the structured semantic query statement, the system queries the semantic knowledge graph to determine the corresponding set of results that meet the conditions, including one or more semantic entities. Traverse the Uniform Resource Identifiers (URIs) of all semantic entities in the result set and calculate the hash value of the corresponding URI. Use the hash value of the URI as the reverse lookup key to perform a hash lookup in the bidirectional pointer mapping table of the intermediate layer of the association index, and map each URI to the corresponding geometric node identifier one by one, and collect them to generate a geometric node identifier set. Obtain the spatial bounding box information of each geometric node in the geometric node identifier set, call the model spatial index tree to perform batch spatial positioning, and send the spatially positioned geometric node identifier set and its corresponding world coordinate position to the 3D renderer in batches, so that the 3D renderer can perform visual highlighting feedback for each geometric node in the geometric node identifier set in the 3D visualization model.

[0013] Further, after constructing the intermediate layer of the associated index, the following is included: Monitor incremental change events occurring in the 3D visualization model or the semantic knowledge graph; When a change event of the 3D visualization model is detected, the mapping relationship between the corresponding geometric node identifier and the unified resource identifier in the intermediate layer of the associated index is updated according to the change content, and the recalculation of the corresponding semantic attributes in the semantic knowledge graph is triggered. When the semantic knowledge graph change event is detected, the corresponding geometric node identifier is found through the bidirectional pointer mapping table based on the unified resource identifier involved in the change content, and the 3D renderer is driven to update the visualization of the corresponding geometric node.

[0014] Secondly, this application provides a dynamic association device between a three-dimensional visualization model and a semantic knowledge graph, comprising: Anchor point bidirectional implantation module is used to acquire pre-built 3D visualization models and semantic knowledge graphs. In the pre-construction stage, the geometric nodes of the 3D visualization model and the semantic entities of the semantic knowledge graph have formed a stable anchoring relationship through the Uniform Resource Identifier. The associated index intermediate layer construction module is used to construct the associated index intermediate layer, including a bidirectional pointer mapping table and a model space index tree. The bidirectional pointer mapping table is used to establish and maintain the bidirectional pointer index between the Uniform Resource Identifiers, and the model space index tree is used to establish the position index of the geometric nodes in three-dimensional space. The interactive query module receives interactive query requests initiated from external sources, including graph-to-spectrum query requests or spectrum-to-graph query requests. For graph-to-spectrum query requests, in response to a user-selected geometric node in the 3D visualization model, it initiates a semantic query to the semantic knowledge graph based on the association index intermediate layer and returns the semantic information of that geometric node. For spectrum-to-graph query requests, in response to a user-submitted semantic query condition, it converts the semantic query condition into a geometric node identifier based on the association index intermediate layer and highlights and locates it in the 3D visualization model, thereby achieving dynamic association between the 3D visualization model and the semantic knowledge graph.

[0015] Thirdly, this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the dynamic association method between the three-dimensional visualization model and the semantic knowledge graph.

[0016] Fourthly, this application provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the method for dynamically associating the three-dimensional visualization model with the semantic knowledge graph.

[0017] Fifthly, this application provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the dynamic association method between the three-dimensional visualization model and the semantic knowledge graph.

[0018] As can be seen from the above technical solution, this application provides a method and apparatus for dynamically associating 3D visualization models and semantic knowledge graphs. It establishes a stable anchoring relationship between geometric nodes and semantic entities through a unified resource identifier (URI), and constructs an intermediate association index layer containing a bidirectional pointer mapping table and a model spatial index tree. When a graph-to-graph query is received, the geometric node selected by the user is identified, mapped to a semantic URI through the intermediate layer, and the semantic graph is queried to return information. When a graph-to-graph query is received, the semantic query result is converted into a list of geometric nodes through the intermediate layer, quickly located using the spatial index tree, and highlighted in the 3D scene. This improves the efficiency and robustness of association queries between 3D model data and semantic knowledge graph data. Attached Figure Description

[0019] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 This is a flowchart illustrating the dynamic association method between the 3D visualization model and the semantic knowledge graph in the embodiments of this application; Figure 2 This is a structural diagram of the dynamic association device between the three-dimensional visualization model and the semantic knowledge graph in the embodiments of this application. Detailed Implementation

[0021] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0022] The acquisition, storage, use, and processing of data in this application comply with relevant laws and regulations.

[0023] Considering that 3D visualization models and semantic knowledge graphs are the two core pillars of digital twin applications, existing technologies face the dilemma of graph-knowledge graph separation, which seriously hinders the realization of interactive intelligent applications. This application provides a method and apparatus for dynamically associating 3D visualization models and semantic knowledge graphs. It establishes a stable anchoring relationship between geometric nodes and semantic entities through a unified resource identifier (URI), and constructs an association index intermediate layer containing a bidirectional pointer mapping table and a model spatial index tree. When a graph-to-knowledge graph query is received, the user-selected geometric node is identified, mapped to a semantic URI through the intermediate layer, and the semantic graph is queried to return information. When a knowledge graph-to-graph query is received, the semantic query result is converted into a list of geometric nodes through the intermediate layer, quickly located using the spatial index tree, and highlighted in the 3D scene. This improves the efficiency and robustness of association queries between 3D model data and semantic knowledge graph data.

[0024] To improve the efficiency and robustness of queries linking 3D model data and semantic graph data, this application provides an embodiment of a dynamic association method between a 3D visualization model and a semantic knowledge graph. See [link to embodiment]. Figure 1 The method for dynamically associating the 3D visualization model with the semantic knowledge graph specifically includes the following: Step S101: Obtain the pre-built 3D visualization model and semantic knowledge graph. In the pre-building stage, the geometric nodes of the 3D visualization model and the semantic entities of the semantic knowledge graph have formed a stable anchoring relationship through the Uniform Resource Identifier. Optionally, in this embodiment, the three-dimensional visualization model refers to PDV lightweight visualization geometric node data, and the semantic knowledge graph refers to the RDF semantic graph built based on the PDV standard. Specifically, it is to parse PDV files that conform to GB / T45405-2025 "Application Format for Three-Dimensional Product Data Visualization" and build an RDF (Resource Description Framework) semantic graph oriented towards manufacturing features based on the product structure, geometric topology, attributes and annotation data therein.

[0025] When pre-constructing the aforementioned semantic knowledge graph, a globally unique and stable URI (Uniform Resource Identifier) ​​is assigned to each associative geometric entity in the semantic graph (RDF) (such as classes like pdv:Part and pdv:Feature defined in the PDV standard product data schema). The URI encoding rules are consistent with the entity encoding. Simultaneously, in the corresponding lightweight visualization geometric node data package, this URI is persistently embedded as a "semantic anchor" in the metadata of each corresponding geometric node (such as the set of triangular facets representing part B, or the cylindrical facet representing hole C), resulting in the pre-constructed PDV visualization model.

[0026] This step describes the pre-construction process of embedding Uniform Resource Identifier (URI) anchors, and subsequent steps will require data association based on this URI.

[0027] Step S102: Construct an intermediate layer of the association index, including a bidirectional pointer mapping table and a model space index tree. The bidirectional pointer mapping table is used to establish and maintain bidirectional pointer indexes between the Uniform Resource Identifiers, and the model space index tree is used to establish the position indexes of the geometric nodes in three-dimensional space. Optionally, in this embodiment, this step dynamically constructs a resident memory "associative index intermediate layer," which includes two core data structures: 1. Memory data structure of a bidirectional pointer mapping table: The bidirectional pointer map is a bidirectional hash map that supports bidirectional lookups with O(1) time complexity. Its memory data structure is defined as follows: / / Mapping entry structure typedef struct { uint64_tgeometry_node_id; / / Geometry node ID (node ​​index in the PDV lightweight model) char semantic_uri; / / The corresponding semantic entity URI string uint64_turi_hash; / / The hash value of the URI (speeds up lookups) uint32_tref_count; / / Reference count uint64_tversion; / / Version number (used for incremental updates) MappingEntry; / / Two-way pointer map typedef struct { / / Forward index: Geometry node ID → Mapping entry pointer hash_table_t geo_to_entry; / / key: geometry_node_id, value:MappingEntry

[0028] / / Reverse index: URI hash → Mapping entry pointers (using chaining to resolve hash collisions) hash_table_t uri_to_entry; / / key: uri_hash, value: MappingEntry (Head of the linked list) / / Storage pool: Stores all entries in contiguous memory blocks, improving cache locality. MappingEntry pool uint32_tpool_size; uint32_tpool_capacity; / / Read-write lock (supports multiple reads and single writes) rwlock_tlock; BidirectionalMap; Two-way pointer map lookup process: “Graph to spectrum” query: Using geometry_node_id as the key, search in geo_to_entry in O(1) time to get semantic_uri; "Spectrum to Graph" query: Calculate uri_hash, search in uri_to_entry in O(1) time, and get geometry_node_id; Memory usage estimate: For an assembly with millions of parts, each mapping is approximately 72 bytes, and the total memory usage is approximately 72MB, which is within an acceptable range.

[0029] 2. Construction of the model space index tree: A spatial index tree is constructed based on the bounding box information of the PDV lightweight model. For static assemblies, BVH is preferred (high query efficiency), while for scenarios with frequent dynamic updates, octrees are preferred (low update and maintenance costs).

[0030] The construction strategy for BVH (Bounding VH) is as follows: a) Calculate min / max based on the vertex coordinates of the triangular facets, and calculate the bounding box (AABB) of each geometric node. b) Use the SAH (surface area heuristic) strategy to select the optimal segmentation axis and sort them according to the center of the bounding box; c) Each time, divide the node set into two subsets until each leaf node contains ≤16 geometric nodes, and perform recursive partitioning of the nodes; d) Each internal node stores the merged bounding box of its child nodes, and the leaf nodes store a list of geometric node IDs to build a tree structure.

[0031] The octree construction strategy is as follows: a) Compute the overall bounding box of the model as the spatial extent of the root node of the octree; b) Divide each cube into 8 sub-cubes recursively; c) Stop recursion when the termination condition is met. The termination condition includes the number of geometric nodes in the sub-cube being ≤10, or reaching the maximum depth (8 layers). d) Each leaf node stores a list of geometric node IDs within that space, and internal nodes store pointers to their child nodes, thus constructing a tree structure.

[0032] Optionally, this embodiment also includes a maintenance strategy for the model space index tree: Incremental addition: When inserting a new geometric node, calculate its bounding box, traverse downwards from the root node, and insert it into the most matching leaf node; if the leaf node overflows (exceeds the capacity threshold), perform a local split.

[0033] Incremental deletion: Mark geometric nodes as "deleted" and do not immediately reconstruct the tree; when the deletion ratio exceeds the threshold (20%), trigger background reconstruction.

[0034] Dynamic updates: When the position of geometric nodes changes (such as assembly posture adjustment), delete them first and then add them; for batch updates (such as moving an entire subassembly), the strategy of "marking failure first → batch deletion → batch insertion" is adopted.

[0035] Reconstruction trigger conditions: ① Deletion rate exceeds 20%; ② Insertion operations cause the tree depth to increase by more than 2 levels; ③ Cumulative changes exceed 30% of the total number of nodes. When any of the conditions are met, the index tree is reconstructed asynchronously in the background, using the old version of the index during the reconstruction.

[0036] Step S103: Receive an externally initiated interactive query request, which includes a graph-to-spectrum query request or a spectrum-to-graph query request; for the graph-to-spectrum query request, respond to the geometric node selected by the user in the 3D visualization model, initiate a semantic query to the semantic knowledge graph according to the association index intermediate layer, and return the semantic information of the geometric node; for the spectrum-to-graph query request, respond to the semantic query conditions submitted by the user, convert the semantic query conditions into geometric node identifiers according to the association index intermediate layer, and highlight and locate them in the 3D visualization model to realize the dynamic association between the 3D visualization model and the semantic knowledge graph.

[0037] Optionally, in this embodiment, this step is a real-time response process for bidirectional interactive queries based on the intermediate layer of the associated index constructed in step S102 above.

[0038] Specifically, the "image to spectrum" query (click to query): The user clicks on screen coordinates (x, y) in the 3D renderer.

[0039] The renderer performs ray casting through graphics APIs (such as WebGL) to obtain the hit triangles and their associated geometric nodes.

[0040] The semantic entity URI corresponding to the geometric node can be found immediately (O(1)) using a two-way pointer mapping table.

[0041] The system sends a query to the SPARQL endpoint (DESCRIBE) <uri>It instantly retrieves and displays all semantic information of the entity. The SPARQL endpoint is a query interface for the RDF semantic graph and supports the standard SPARQL 1.1 protocol.

[0042] Specifically, for "spectrum to graph" queries (semantic highlighting): Users submit semantic queries (such as SPARQL queries) and receive a list of semantic entity URIs.

[0043] The list of URIs is converted into a corresponding list of geometric node references using a two-way pointer mapping table.

[0044] The system notifies the 3D renderer to quickly locate the spatial position of these geometric nodes in the scene through the model space index tree, and to batch and efficiently change their rendering state (such as highlighting, semi-transparency) to achieve accurate visual feedback.

[0045] Optionally, in this embodiment, this step also includes a process of monitoring and synchronizing incremental changes based on the intermediate layer of the associated index constructed in step S102 above.

[0046] Specifically, the system monitors change events in the 3D model editor or semantic graph.

[0047] Model geometry changes: When the model is modified (such as parameter updates or feature suppression), the modification tool emits an event carrying the references and types of the changed geometric nodes. The association engine, based on the event type, either updates the mapping table or triggers suggestions for recalculating and updating related semantic attributes.

[0048] Semantic information change: When the semantic graph is updated through ontology reasoning or an external system (such as adding a fault prediction status to a part), the system publishes an event. The association engine finds the corresponding geometric node through the mapping table based on the URI of the changed entity, and drives the renderer to update the visual decoration of the node (such as displaying it as green / yellow / red according to its health status).

[0049] Optionally, in this embodiment, this step also includes optimization processing of hybrid spatial semantic queries: It receives a semantic query that incorporates spatial constraints (such as "all welded parts within 50mm of part A").

[0050] The system first uses the model space index tree to perform a fast spatial search of the target area (50mm around part A) to obtain a set of candidate geometric nodes.

[0051] This set of geometric nodes is converted into a set of candidate URIs using a two-way pointer mapping table.

[0052] The spatial constraint clause in the original semantic query is replaced with a filter on the candidate URI set (FILTER (?uriIN (candidate URI list)))), generating an optimized SPARQL query, which is then submitted to the graph database for execution, greatly improving the efficiency of hybrid queries.

[0053] This example demonstrates how this embodiment constructs an associative index intermediate layer, based on a bidirectional pointer mapping table and a model spatial index tree, to achieve bidirectional dynamic semantic association between a 3D visualization model based on a unified resource identifier and a spatial index, and a semantic knowledge graph.

[0054] As described above, the dynamic association method between the 3D visualization model and the semantic knowledge graph provided in this application can establish a stable anchoring relationship between geometric nodes and semantic entities through a unified resource identifier, and construct an association index intermediate layer containing a bidirectional pointer mapping table and a model spatial index tree. When a graph-to-graph query is received, the geometric node selected by the user is identified, mapped to a semantic URI through the intermediate layer, and the semantic graph is queried to return information. When a spectrum-to-graph query is received, the semantic query result is converted into a list of geometric nodes through the intermediate layer, quickly located with the help of the spatial index tree, and highlighted in the 3D scene. This can improve the efficiency and robustness of the association query between 3D model data and semantic graph data.

[0055] In one embodiment of the dynamic association method between the 3D visualization model and the semantic knowledge graph of this application, the following content may also be included: Step S201: In the pre-construction stage, a Uniform Resource Identifier (URI) is assigned to the semantic entity of each associable geometric node in the semantic knowledge graph. The URI has global uniqueness. Step S202: For each geometric node of the 3D visualization model, persist the Uniform Resource Identifier (URI) of the corresponding semantic entity in the metadata area to form a bidirectional anchoring record between the geometric node and the semantic entity.

[0056] Optionally, in this embodiment, this step is performed during the system pre-construction phase, and the object of processing is the full semantic knowledge graph in RDF format. It traverses all semantic entities in the knowledge graph that can be associated with geometric representations. Entities include part classes (e.g., pdv:Part), feature classes (e.g., pdv:Feature), assembly classes (e.g., pdv:Assembly), and other entity types defined according to the PDV standard product data schema.

[0057] For each semantic entity encountered, the system generates a globally unique Uniform Resource Identifier (URI). The encoding rules of this URI are consistent with the entity encoding in the PDV standard; that is, the local identifier portion of the URI directly reuses the entity encoding of the semantic entity in the business system, without generating a new encoding system. The URI adopts a concatenation format of namespace prefix plus local identifier. The namespace prefix permanently identifies the Uniform Resource Namespace of the PDV domain and the Semantic Graph domain, ensuring that the URI is identifiable and unique throughout the entire system's internal and external environments. After generation, the system writes this URI as the core identifier attribute of the semantic entity into the semantic knowledge graph, replacing or supplementing the original internal database ID, so that the entity is identified by this URI in all subsequent cross-system and cross-phase references.

[0058] Optionally, in this embodiment, the object processed in this step is a lightweight 3D visualization model data package in PDV format. All geometric nodes in the model data package are traversed. A geometric node is the smallest unit in the model with independent geometric representation, such as a set of triangular facets of a part, a cylindrical surface of a hole feature, or a sub-assembly node in an assembly.

[0059] For each geometric node encountered, the semantic entity corresponding to that node is first determined based on the geometric node source tracing information recorded in the PDV standard. After determining the correspondence, the system writes the URI assigned to the semantic entity as a string into the metadata segment of that geometric node. Once written, the URI of the corresponding semantic entity is persistently stored in the metadata of that geometric node. Simultaneously, this URI is also recorded in the attributes of the corresponding entity in the semantic knowledge graph, thus forming a two-way anchoring record between geometric nodes and semantic entities based on URIs—the semantic entity can be found from the geometric node through the URI in its metadata, and the corresponding geometric node can be located from the semantic entity through its URI attribute.

[0060] Through step S202, this embodiment establishes a robust foundation for the association between geometric nodes in the 3D visualization model and semantic entities in the semantic knowledge graph based on the Uniform Resource Identifier (URI). This association does not rely on any internal temporary IDs or database auto-incrementing primary keys; therefore, the association will not be lost due to ID changes when the model undergoes format conversion, lightweighting, version iteration, or cross-system transmission. Simultaneously, the URI itself carries readable semantic information, making it easier for manual traceability and system debugging compared to purely numeric IDs. This bidirectional anchoring record provides a data source for the subsequent construction of an in-memory association index intermediate layer.

[0061] In one embodiment of the dynamic association method between the 3D visualization model and the semantic knowledge graph of this application, the following content may also be included: Step S301: Allocate a storage pool in memory to store preset mapping entries, traverse all geometric nodes of the 3D visualization model, for each geometric node, read the geometric node identifier and uniform resource identifier from the metadata of the geometric node, calculate the hash value of the uniform resource identifier, and write the read data into the mapping entry. Step S302: Construct a forward hash index table using the geometric node identifier as the key and the index of the mapping entry corresponding to the geometric node identifier in the storage pool as the value; Step S303: Construct a reverse hash index table using the hash value of the Uniform Resource Identifier as the key and the index of the mapping entry of the geometric node corresponding to the Uniform Resource Identifier in the storage pool as the value; Step S304: Traverse all mapping entries and verify whether the geometric node identifier and the uniform resource identifier point to the same mapping entry in the forward hash index table and the reverse hash index table; if the verification passes, mark the mapping entry as valid and determine the corresponding bidirectional pointer mapping table.

[0062] Optionally, in this embodiment, a contiguous storage area is constructed in the system memory as a storage pool, which is used to store fixed-length mapping entry structures.

[0063] Traverse all geometric nodes in the PDV lightweight 3D model. For each geometric node, read the pre-embedded geometric node identifier (geometry_node_id) and uniform resource identifier (semantic_uri) from its metadata field, calculate the hash value of the uniform resource identifier string (using a conventional hash algorithm, such as FNV-1a or MurmurHash3), and write the geometric node identifier, the uniform resource identifier string and its hash value, the reference count (initialized to 1), and the version number (initialized to 0) into the corresponding mapping entry of the geometric node. Store the mapping entry in a consecutive position in the storage pool, and record the offset index of the mapping entry in the storage pool.

[0064] Optionally, in this embodiment, the forward hash index table uses the geometric node identifier as the key and the offset index of the mapping entry corresponding to that geometric node identifier in the storage pool as the value. All written mapping entries are traversed, and the geometric node identifier and its offset index in the storage pool are read from each mapping entry. The key-value pair is then inserted into the forward hash table. After construction, the forward hash index table supports returning the storage location of the corresponding mapping entry in constant time complexity, using the geometric node identifier as input. The offset index refers to the position number of the mapping entry in the storage pool.

[0065] Optionally, in this embodiment, the reverse hash index table uses the hash value of the Uniform Resource Identifier (URI) as the key and the offset index of the mapping entry of the geometric node corresponding to the URI in the storage pool as the value. All written mapping entries are traversed, and the URI hash value and its offset index in the storage pool are read from each mapping entry. The key-value pair is then inserted into the reverse hash table. This hash table uses chaining to handle hash collisions. After construction, the reverse hash index table supports returning the storage location of the corresponding mapping entry in constant time complexity, using the URI hash value as input.

[0066] Optionally, in this embodiment, all mapping entries in the storage pool are traversed. For each mapping entry, the following verification operation is performed: using the geometry node identifier in the mapping entry as the key, the forward hash index table is searched to obtain the offset index of the mapping entry pointed to by the forward index; then, using the Uniform Resource Identifier (URI) hash value in the mapping entry as the key, the reverse hash index table is searched to obtain the offset index of the mapping entry pointed to by the reverse index. The offset indices pointed to by the forward and reverse indices are compared to see if they are the same and both point to the mapping entry being traversed. If they are the same, it means that the association between the geometry node and the URI is consistent in the bidirectional index, and the mapping entry is marked as valid; if they are inconsistent, the geometry node identifier and URI of the mapping entry are recorded to the exception log, and subsequently handled by the external repair process. All valid mapping entries that pass the verification together constitute a usable bidirectional pointer mapping table.

[0067] Through step S304, this embodiment obtains a bidirectional pointer mapping table where both forward and reverse hash indexes have been established and passed consistency verification. The mapping table supports two query operations: searching for a Uniform Resource Identifier (URI) using a geometric node identifier, and searching for a geometric node identifier using a URI. The time complexity of both queries is O(1). The contiguous memory layout of the storage pool improves the CPU cache hit rate, and the index verification mechanism ensures the correctness of the bidirectional associated data, providing a data foundation for real-time bidirectional queries from graph to spectrum and spectrum to graph in subsequent steps.

[0068] In one embodiment of the dynamic association method between the 3D visualization model and the semantic knowledge graph of this application, the following content may also be included: Step S401: Select either a hierarchical bounding box tree or an octree as the model space index tree based on the application scenario type of the 3D visualization model; Step S402: If the application scenario is a static assembly display or design review scenario, then select the hierarchical bounding box tree as the spatial index tree, traverse each geometric node of the three-dimensional visualization model, calculate the bounding box of the geometric node based on the coordinates of all the vertices of the triangular facets contained in the geometric node, and recursively divide the geometric node set using the surface area heuristic strategy until the number of geometric nodes contained in each leaf node does not exceed the preset threshold, and determine the corresponding hierarchical bounding box tree structure. Step S403: If the application scenario is a scenario where geometric node positions frequently change or assemblies are dynamically adjusted, then an octree is selected as the spatial index tree. Each geometric node of the 3D visualization model is traversed to determine the corresponding overall bounding box of the model. The overall bounding box of the model is used as the spatial range of the root node and is recursively divided into eight sub-cubes in a uniform manner until the number of geometric nodes contained in each leaf node does not exceed a preset threshold, and the corresponding octree structure is determined.

[0069] Optionally, in this embodiment, the type identifier of the current application scenario is first obtained. This identifier is passed in by the upper-layer caller or read from the system configuration. Scenario types are at least divided into two categories: one is a static assembly display or design review scenario, characterized by the spatial position of geometric nodes remaining unchanged or changing very little after the 3D model is loaded; the other is a scenario where the position of geometric nodes frequently changes or the assembly is dynamically adjusted, characterized by the model needing to continuously respond to the movement, rotation, or changes in assembly relationships of geometric nodes during operation. Based on the scenario type determination result, this step determines whether to call step S402 or step S403 subsequently. Its function is to provide a decision basis for selecting the spatial index tree, ensuring that the index structure matches the actual usage pattern.

[0070] Optionally, in this embodiment, step S402 constructs a hierarchical bounding box tree for the static scene. Specifically, the system traverses all geometric nodes in the 3D visualization model data package. Each geometric node contains a set of triangular faces, and each triangular face is defined by three vertex coordinates. The system processes each geometric node separately: it reads all vertex coordinates of all triangular faces under that node, finds the minimum and maximum values ​​along the X, Y, and Z axes, and uses these six values ​​to construct the axially aligned bounding box of that geometric node. After the bounding boxes of all geometric nodes are calculated, the system enters a recursive partitioning phase: starting from the root node, it calculates the distribution range of the bounding box centers of all geometric nodes in the current node set, uses a surface area heuristic strategy to evaluate the cost of partitioning along the X, Y, and Z axes, selects the axis with the lowest cost as the partitioning axis, selects a partitioning position on this axis to divide the node set into two subsets, which are then used as the node sets of the left and right subtrees respectively; the above partitioning process is recursively executed until the number of geometric nodes in the current node set is less than or equal to a preset threshold (this threshold is configurable, typically 16), at which point the recursion stops, and the current node becomes a leaf node. After recursion, each internal node records the merged bounding box of all its child nodes, and each leaf node records the list of IDs of all geometric nodes within that node, forming a complete hierarchical bounding box tree structure. The purpose of this step is to provide a tree-like spatial index that balances query efficiency and construction cost for static scenarios.

[0071] Optionally, in this embodiment, step S403 constructs an octree for dynamic scenes. Specifically, the system first traverses all geometric nodes in the model, calculates the bounding box of each geometric node in the same way as in step S402, and then takes the union of all bounding boxes to obtain a minimum axially aligned bounding box covering the entire model, which serves as the root node space of the octree. Subsequently, the system enters a recursive partitioning phase: for the current cube space, it is evenly divided into two segments along the X, Y, and Z axes, resulting in eight equal-volume sub-cubes; for each sub-cube, all geometric nodes are traversed, and geometric nodes whose bounding box centers fall within the space of that sub-cube are included in that sub-cube; the above partitioning is recursively performed on each sub-cube until the number of geometric nodes contained within that sub-cube is less than or equal to a preset threshold (this threshold is configurable, typically 10), or the current recursion depth reaches a preset maximum depth limit (typically 8 layers), at which point the recursion stops, and that node becomes a leaf node. After the recursion is complete, each leaf node stores a list of geometric node IDs that fall within that spatial range, and each internal node stores pointers to its eight child nodes. This step provides a tree-structured spatial index with low update and maintenance costs for frequently changing dynamic scenarios.

[0072] In step S403, this embodiment completes the selection and initial construction of the model spatial index tree type. Through a scenario-type-driven selection mechanism, using a hierarchical bounding box tree in static scenarios yields better query efficiency (because the tree structure better fits the geometric distribution), while using an octree in dynamic scenarios results in lower update and maintenance costs (because node changes only affect local subtrees). Both index trees are constructed based on the spatial bounding box information of geometric nodes, providing spatial index support for batch location of geometric nodes in subsequent "spectrum-to-graph" queries and spatial range retrieval in hybrid spatial semantic queries, avoiding the performance bottleneck of having to traverse all geometric nodes without establishing a spatial index.

[0073] In one embodiment of the dynamic association method between the 3D visualization model and the semantic knowledge graph of this application, the following content may also be included: Step S501: For the graph-to-spectrum query request, receive the screen coordinate point selection signal input by the user, use the screen coordinates as the input parameter for ray casting, call the 3D renderer to perform ray casting calculation, and extract the corresponding geometric node identifiers; Step S502: Using the geometric node identifier as the forward lookup key, perform a hash lookup in the bidirectional pointer mapping table of the intermediate layer of the association index to extract the mapping entry corresponding to the geometric node identifier, and read the corresponding Uniform Resource Identifier from the mapping entry; Step S503: Construct a SPARQL query statement based on the Uniform Resource Identifier, initiate a semantic query to the semantic knowledge graph, and obtain the semantic information of the geometric node returned by the semantic knowledge graph, including the semantic entity corresponding to the geometric node, all attribute data of the semantic entity, and association data.

[0074] Optionally, in this embodiment, the user's click operation on the two-dimensional screen is converted into the recognition result of specific geometric objects in the three-dimensional scene.

[0075] When a user performs a click operation in the two-dimensional display area of ​​the 3D rendering view using a mouse or touch device, the system captures the screen coordinates (x, y) of the click location. These coordinates are in pixels and their range depends on the actual resolution of the rendering viewport.

[0076] The system uses the screen coordinates as input parameters for the ray casting function. The ray casting function constructs a ray from the current virtual camera viewpoint in the 3D scene, passing through the screen coordinates and extending along the viewing direction. This ray performs an intersection test with all triangles in the scene, calculating the intersection point between the ray and the plane containing each triangle, and determining whether the intersection point lies inside the triangle's boundary. The system then selects the intersection point closest to the viewpoint from all intersection results; the triangle corresponding to this intersection point is the triangle the user intends to select.

[0077] The system reads the unique identifier of the geometric node to which the triangular facet belongs from its associated data. In the PDV lightweight model, each geometric node corresponds to an independent part, subassembly, or feature, and each geometric node is assigned a unique node index number within the model data package. This index number serves as the input key for subsequent lookup operations.

[0078] Optionally, in this embodiment, the semantic unified resource identifier corresponding to the geometric node is extracted from the memory index structure using the geometric node identifier as the retrieval condition.

[0079] The system uses the geometric node identifier obtained in step S501 as the forward lookup key and passes it to the bidirectional pointer mapping table in the intermediate layer of the associated index. The lookup operation first performs a hash function calculation on the geometric node identifier to obtain the bucket index position of the key in the hash table. The system accesses this bucket position, traversing the linked list at that position (if a hash collision exists) or directly reading the stored mapping entry pointer (if the hash table uses open addressing). The mapping entry stores complete information corresponding to the geometric node, including the Uniform Resource Identifier (URI) string of the semantic entity, the pre-computed hash value of the URI, the reference count, and the version number. The URI is read from the mapping entry.

[0080] Optionally, in this embodiment, the complete set of semantic information corresponding to the geometric node is retrieved from the RDF semantic knowledge graph using the Uniform Resource Identifier as the query condition.

[0081] Specifically, the Uniform Resource Identifier obtained in step S502 is used as the basis for resource location, and a DESCRIBE query statement conforming to the SPARQL 1.1 protocol standard is constructed. The purpose of the DESCRIBE query is to return all known RDF triples describing the resource identified by the URI, including all triples with the URI as the subject (i.e., the direct attributes of the resource), as well as attribute information of other resources associated with the attributes.

[0082] The system submits the SPARQL query to the semantic knowledge graph's query endpoint (SPARQL Endpoint) via HTTP or an internal process communication protocol. The semantic knowledge graph storage layer performs query parsing, query optimization, and triple pattern matching, retrieving the set of all triples related to the target URI from the RDF store.

[0083] The system receives the query result set returned by the semantic knowledge graph. The result set contains the type information of the semantic entity corresponding to the geometric node (such as class instances such as pdv:Part, pdv:Feature, etc.), all attribute data of the entity (such as material name, size parameters, design constraints, performance indicators, etc.), and the association data between the entity and other entities (such as "belongs to a certain assembly", "processed by a certain process", "associated with a certain simulation analysis result", etc.).

[0084] The system parses the returned RDF triple set into the data structure format required for subsequent processing, which can be displayed in the user interface or called by downstream application modules.

[0085] Through step S503, this embodiment completes the full data link for "graph-to-spectrum" query. Starting from the user clicking on any geometric object on the 3D model, the process involves obtaining geometric node identifiers through ray casting, obtaining URIs through bidirectional mapping of the memory hash table, and querying the semantic graph using the SPARQL protocol. Ultimately, the user's operation in the 3D geometric space is guided to the corresponding semantic information space. This link provides technical support for the "click-to-search" function in 3D interactive scenarios.

[0086] In one embodiment of the dynamic association method between the 3D visualization model and the semantic knowledge graph of this application, the following content may also be included: Step S601: For the spectrum-to-graph query request, receive the structured semantic query statement submitted by the user, including the type constraints and attribute filtering conditions of the target semantic entity, and perform a query in the semantic knowledge graph according to the structured semantic query statement to determine the corresponding result set that meets the conditions, including one or more semantic entities; Step S602: Traverse the Uniform Resource Identifiers (URIs) of all semantic entities in the result set and calculate the hash value of the corresponding URI. Use the hash value of the URI as the reverse lookup key to perform a hash lookup in the bidirectional pointer mapping table of the intermediate layer of the association index, and map each URI to the corresponding geometric node identifier one by one, and collect them to generate a geometric node identifier set. Step S603: Obtain the spatial bounding box information of each geometric node in the geometric node identifier set, call the model spatial index tree to perform batch spatial positioning, and send the spatially positioned geometric node identifier set and its corresponding world coordinate position to the 3D renderer in batches, so that the 3D renderer can perform visual highlighting feedback for each geometric node in the geometric node identifier set in the 3D visualization model.

[0087] Optionally, in this embodiment, a structured semantic query statement submitted by the user is received. The query statement follows the SPARQL 1.1 standard protocol and includes type constraints on the target semantic entity (e.g., limiting the query object to instances of the pdv:Part class) and attribute filtering conditions (e.g., material equal to "304 stainless steel" or design life greater than a certain threshold). The system submits the query statement to the SPARQL query endpoint of the RDF semantic graph for execution. The graph database parses the query statement, performs matching and retrieval in the stored triplet data, and returns a set of semantic entities that meet all constraints. This set is returned in the form of a list of Uniform Resource Identifiers, where each identifier uniquely points to a semantic entity node in the graph.

[0088] Optionally, in this embodiment, the system receives the list of Uniform Resource Identifiers (URIs) returned in step S601. For each URI in the list, the system calculates its hash value (using the same hash algorithm as when the bidirectional pointer mapping table was constructed). Using this hash value as the reverse lookup key, a hash table lookup operation is performed in the reverse index (uri_to_entry) of the bidirectional pointer mapping table. The lookup time complexity is O(1). Upon a match, the corresponding mapping entry is extracted, and the geometry node identifier field is read from it. After traversal, all found geometry node identifiers are aggregated into a geometry node identifier set. If a URI cannot find a corresponding entry in the mapping table (i.e., the semantic entity is not associated with any geometry node), the identifier is skipped and not included in the set.

[0089] Optionally, in this embodiment, the bounding box information (i.e., the minimum and maximum vertex coordinates of the AABB bounding box) corresponding to each geometric node in the geometric node identifier set is read from the PDV lightweight model data. The bounding boxes of all geometric nodes to be located are used as query input, and the search interface of the model spatial index tree is called. Starting from the root node, the spatial index tree traverses downwards layer by layer through intersection tests between internal nodes and the query bounding box until the leaf nodes are reached, returning the world coordinate position of the geometric node matching the input bounding box under the transformation matrix of the current scene's root node. The geometric node identifier set and its corresponding world coordinate positions are sent in batches to the 3D renderer. After receiving the data, the renderer modifies the rendering state parameters of each geometric node in the set (such as changing the material's self-illumination color, overlaying a highlight outline, or adjusting to a semi-transparent mode), achieving visual highlighting feedback for the target geometric object in the 3D view scene.

[0090] Through step S603, this embodiment completes the entire processing chain from semantic condition input to 3D scene visual feedback. This process directly maps the semantic-level retrieval results to specific geometric objects in the 3D visualization model, enabling the observer to intuitively locate the actual spatial position of parts that meet specific design conditions or state attributes within the assembly.

[0091] In one embodiment of the dynamic association method between the 3D visualization model and the semantic knowledge graph of this application, the following content may also be included: Step S701: Monitor incremental change events occurring in the 3D visualization model or the semantic knowledge graph; Step S702: When a 3D visualization model change event is detected, update the mapping relationship between the corresponding geometric node identifier and the unified resource identifier in the intermediate layer of the associated index according to the change content, and trigger the recalculation of the corresponding semantic attributes in the semantic knowledge graph. Step S703: When the semantic knowledge graph change event is detected, the corresponding geometric node identifier is found through the bidirectional pointer mapping table according to the unified resource identifier involved in the change content, and the 3D renderer is driven to update the visualization of the corresponding geometric node.

[0092] Optionally, in this embodiment, after system startup, it continuously monitors change notifications from two types of data sources: one from the 3D model editor, which sends out change events when the model undergoes geometric modifications (such as feature parameter adjustments, part additions / deletions, or positional changes). These events include references to the changed geometric nodes, the change type (addition / modification / deletion), and a description of the state before and after the change. The other source is the semantic graph management terminal, which also sends out events when entity attributes or relationships between entities in the graph are added, deleted, or modified. These events include the entity URIs involved in the change, the change type, and the change content. The listener maintains long-lived connections or message subscription channels with these two types of data sources to ensure that change events are captured in real time.

[0093] Optionally, in this embodiment, when a geometric change in the 3D model is detected, the system obtains the geometric node references and change types carried by the event. For newly added geometric nodes, a new entry is inserted into the bidirectional pointer mapping table of the associated index intermediate layer, establishing a mapping relationship between the geometric node and its corresponding semantic entity URI. Simultaneously, the new node is inserted into the model spatial index tree based on its bounding box information. For deleted geometric nodes, the entry is marked as invalid in the mapping table (not immediately physically deleted to support rollback or delayed cleanup), and the corresponding node is marked as deleted in the spatial index tree. For changes involving modifications to the position or shape of geometric nodes, the old spatial index entry is first deleted, and then re-inserted into the spatial index tree based on the modified bounding box information. After the mapping relationship is updated, a recalculation request for the corresponding attributes is initiated to the semantic knowledge graph based on the semantic entity URI involved in the change—for example, after the geometric dimensions of a part change, its volume, weight, center of gravity, and other derived attributes dependent on the geometric data need to be recalculated based on the new geometry and updated in the graph.

[0094] Optionally, in this embodiment, when a change in the semantic knowledge graph is detected, the system extracts the list of entity URIs and the changed attribute content from the event. For each involved URI, the corresponding geometric node identifier is found through the reverse index of the bidirectional pointer mapping table (URI hash → mapping entry). The search results are organized into a list of geometric node identifiers and passed to the 3D renderer along with the changed semantic content (such as new status values, new attribute values). Based on these geometric node identifiers, the renderer locates the corresponding mesh objects in the scene and adjusts their visualization according to the changed semantic content—for example, changing the color of the geometry corresponding to a part whose health status changes to "faulty" to red, or adding corresponding visual labels to newly added process annotations. If a URI does not find a corresponding geometric node in the mapping table, the change is ignored and no rendering update is triggered.

[0095] Through step S703, this embodiment can transmit local changes occurring on the 3D model side or semantic graph side to the other side in real time and complete the consistency update without interrupting normal operation. The entire synchronization process only processes the changed data items, without needing to re-associate or rebuild the index of the entire data, thus maintaining low synchronization latency and resource consumption even when the model scale reaches millions of parts and the graph scale reaches tens of millions of triples.

[0096] To improve the efficiency and robustness of querying associations between 3D model data and semantic knowledge graph data, this application provides an embodiment of a dynamic association device for 3D visualization models and semantic knowledge graphs, which implements all or part of the dynamic association method between the 3D visualization model and the semantic knowledge graph. See [link to embodiment]. Figure 2 The dynamic association device between the 3D visualization model and the semantic knowledge graph specifically includes the following components: Anchor point bidirectional implantation module 10 is used to acquire a pre-built 3D visualization model and semantic knowledge graph. In the pre-construction stage, the geometric nodes of the 3D visualization model and the semantic entities of the semantic knowledge graph have formed a stable anchoring relationship through a unified resource identifier. The association index intermediate layer construction module 20 is used to construct the association index intermediate layer, including a bidirectional pointer mapping table and a model space index tree. The bidirectional pointer mapping table is used to establish and maintain the bidirectional pointer index between the Uniform Resource Identifiers, and the model space index tree is used to establish the position index of the geometric nodes in three-dimensional space. The interactive query module 30 is used to receive interactive query requests initiated from outside, including graph-to-spectrum query requests or spectrum-to-graph query requests. For the graph-to-spectrum query request, in response to the geometric node selected by the user in the 3D visualization model, a semantic query is initiated to the semantic knowledge graph according to the association index intermediate layer, and the semantic information of the geometric node is returned. For the spectrum-to-graph query request, in response to the semantic query conditions submitted by the user, the semantic query conditions are converted into geometric node identifiers according to the association index intermediate layer, and highlighted and located in the 3D visualization model to realize the dynamic association between the 3D visualization model and the semantic knowledge graph.

[0097] As described above, the dynamic association device between the 3D visualization model and the semantic knowledge graph provided in this application embodiment can establish a stable anchoring relationship between geometric nodes and semantic entities through a unified resource identifier, and construct an association index intermediate layer containing a bidirectional pointer mapping table and a model spatial index tree. When a graph-to-graph query is received, the geometric node selected by the user is identified, mapped to a semantic URI through the intermediate layer, and the semantic graph is queried to return information. When a spectrum-to-graph query is received, the semantic query result is converted into a list of geometric nodes through the intermediate layer, quickly located with the help of the spatial index tree, and highlighted in the 3D scene. This can improve the efficiency and robustness of the association query between 3D model data and semantic graph data.

[0098] To further illustrate this solution, this application also provides a specific application example of the method for dynamically associating a 3D visualization model and a semantic knowledge graph using the aforementioned dynamic association device, which specifically includes the following: The technical effects of this embodiment are as follows: Query performance improvement: The expected response time for bidirectional queries has been reduced from seconds to milliseconds, supporting smooth real-time interaction.

[0099] Enhanced robustness of associations: URI-based anchor insertion ensures that associations remain intact after model transformation and transmission.

[0100] Supports complex application scenarios: Provides core interactive capabilities for collaborative design reviews, AR / VR operation and maintenance guidance, real-time digital twin dashboards, etc.

[0101] Improve design review efficiency: Review experts can click on any part of the model at will to instantly obtain all relevant design, process and simulation data.

[0102] Achieve precise on-site operation guidance: AR devices identify physical parts, and the system can instantly locate their digital twins and associated operating procedures.

[0103] Empowering spatial semantic analysis: Easily achieve location-based supply chain analysis, maintenance accessibility analysis, and more.

[0104] This embodiment provides a complete application scenario example to demonstrate the end-to-end data flow of this solution in actual collaborative design review.

[0105] Scenario Description: An aero-engine design team is conducting a collaborative design review. Engineer A discovers that the cooling hole design of the high-pressure turbine blade (part URI:urn:pdv:part:TurbineBlade_001) of a certain type of engine may need to be optimized. It is necessary to query its design parameters and manufacturing constraints, modify it, and then send it to Engineer B for strength verification.

[0106] End-to-end data flow:

[0107] This example demonstrates a complete closed loop: 3D click query → semantic information display → semantic parameter modification → incremental change synchronization → semantic condition retrieval → 3D spatial highlighting. The entire process is supported by URI anchors, bidirectional pointer mapping tables, spatial index trees, and incremental event-driven protocols, achieving real-time bidirectional interoperability between geometry and semantics.

[0108] This invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the above-described method for dynamically associating a three-dimensional visualization model with a semantic knowledge graph.

[0109] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method for dynamically associating a three-dimensional visualization model with a semantic knowledge graph.

[0110] This invention also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-mentioned method for dynamically associating the three-dimensional visualization model with the semantic knowledge graph.

[0111] In this embodiment of the invention, a stable anchoring relationship can be established between geometric nodes and semantic entities through a unified resource identifier, and an associated index intermediate layer containing a bidirectional pointer mapping table and a model spatial index tree can be constructed. When a graph-to-spectrum query is received, the geometric node selected by the user is identified, mapped to a semantic URI through the intermediate layer, and the semantic graph is queried to return information. When a spectrum-to-graph query is received, the semantic query result is converted into a list of geometric nodes through the intermediate layer, quickly located with the help of the spatial index tree, and highlighted in the 3D scene. This can improve the efficiency and robustness of the associated query between 3D model data and semantic graph data.

[0112] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0113] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0114] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0115] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0116] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.< / uri>

Claims

1. A method for dynamically associating a 3D visualization model with a semantic knowledge graph, characterized in that, The method includes: Obtain a pre-built 3D visualization model and semantic knowledge graph. In the pre-building stage, the geometric nodes of the 3D visualization model and the semantic entities of the semantic knowledge graph have formed a stable anchoring relationship through a unified resource identifier. A middleware layer for the association index is constructed, including a bidirectional pointer mapping table and a model space index tree. The bidirectional pointer mapping table is used to establish and maintain bidirectional pointer indexes between the Uniform Resource Identifiers, and the model space index tree is used to establish the position indexes of the geometric nodes in three-dimensional space. The system receives interactive query requests initiated from external sources, including graph-to-spectrum query requests or spectrum-to-graph query requests. For graph-to-spectrum query requests, in response to the geometric node selected by the user in the 3D visualization model, a semantic query is initiated to the semantic knowledge graph based on the association index intermediate layer, and the semantic information of the geometric node is returned. For spectrum-to-graph query requests, in response to the semantic query conditions submitted by the user, the semantic query conditions are converted into geometric node identifiers based on the association index intermediate layer, and highlighted and located in the 3D visualization model, thereby realizing the dynamic association between the 3D visualization model and the semantic knowledge graph.

2. The method for dynamically associating a three-dimensional visualization model with a semantic knowledge graph according to claim 1, characterized in that, In the pre-construction phase, the geometric nodes of the 3D visualization model and the semantic entities of the semantic knowledge graph have formed a stable anchoring relationship through a Uniform Resource Identifier, including: During the pre-construction phase, a Uniform Resource Identifier (URI) is assigned to the semantic entity of each associable geometric node in the semantic knowledge graph, and the URI is globally unique. For each geometric node of the 3D visualization model, the Uniform Resource Identifier (URI) of its corresponding semantic entity is persistently written into the metadata area, forming a two-way anchoring record between the geometric node and the semantic entity.

3. The method for dynamically associating a three-dimensional visualization model with a semantic knowledge graph according to claim 2, characterized in that, The construction of the bidirectional pointer mapping table includes: A storage pool is allocated in memory to store preset mapping entries. All geometric nodes of the 3D visualization model are traversed. For each geometric node, the geometric node identifier and the Uniform Resource Identifier are read from the metadata of the geometric node, and the hash value of the Uniform Resource Identifier is calculated. The read data is then written into the mapping entry. A forward hash index table is constructed using the geometric node identifier as the key and the index of the mapping entry corresponding to the geometric node identifier in the storage pool as the value. A reverse hash index table is constructed using the hash value of the Uniform Resource Identifier as the key and the index of the mapping entry of the geometric node corresponding to the Uniform Resource Identifier in the storage pool as the value. Traverse all mapping entries and verify whether the geometric node identifier and the uniform resource identifier point to the same mapping entry in the forward hash index table and the reverse hash index table; if the verification passes, mark the mapping entry as valid and determine the corresponding bidirectional pointer mapping table.

4. The method for dynamically associating a three-dimensional visualization model with a semantic knowledge graph according to claim 1, characterized in that, The construction of the model space index tree includes: Based on the application scenario type of the 3D visualization model, select to construct a hierarchical bounding box tree or an octree as the model space index tree; If the application scenario is a static assembly display or design review scenario, then the hierarchical bounding box tree is selected as the spatial index tree. Each geometric node of the 3D visualization model is traversed, and the bounding box of the geometric node is calculated based on the coordinates of all the vertices of the triangular facets contained in the geometric node. The geometric node set is recursively divided using a surface area heuristic strategy until the number of geometric nodes contained in each leaf node does not exceed a preset threshold, and the corresponding hierarchical bounding box tree structure is determined. If the application scenario involves frequent changes in the position of geometric nodes or dynamic adjustments to the assembly, then an octree is selected as the spatial index tree. Each geometric node of the 3D visualization model is traversed to determine the corresponding overall bounding box of the model. The overall bounding box of the model is used as the spatial range of the root node and is recursively divided into eight sub-cubes in a uniform manner until the number of geometric nodes contained in each leaf node does not exceed a preset threshold, and the corresponding octree structure is determined.

5. The method for dynamically associating a three-dimensional visualization model with a semantic knowledge graph according to claim 3, characterized in that, The graph-to-spectrum query request, in response to the geometric node selected by the user in the 3D visualization model, initiates a semantic query to the semantic knowledge graph based on the associated index intermediate layer, and returns the semantic information of the geometric node, including: For the graph-to-spectrum query request, the screen coordinate point selection signal input by the user is received, the screen coordinates are used as the input parameters for ray casting, the 3D renderer is called to perform ray casting calculation, and the corresponding geometric node identifiers are extracted. Using the geometric node identifier as the forward lookup key, a hash lookup is performed in the bidirectional pointer mapping table of the intermediate layer of the associated index to extract the mapping entry corresponding to the geometric node identifier, and the corresponding Uniform Resource Identifier is read from the mapping entry; Based on the Uniform Resource Identifier, a SPARQL query statement is constructed to initiate a semantic query to the semantic knowledge graph, and the semantic information of the geometric node returned by the semantic knowledge graph is obtained, including the semantic entity corresponding to the geometric node, all attribute data of the semantic entity, and association data.

6. The method for dynamically associating a three-dimensional visualization model with a semantic knowledge graph according to claim 3, characterized in that, The response to the spectrum-to-graph query request, in response to the semantic query conditions submitted by the user, converts the semantic query conditions into geometric node identifiers according to the associated index intermediate layer, and performs highlighted positioning in the 3D visualization model, including: For the spectrum-to-graph query request, the system receives a structured semantic query statement submitted by the user, including type constraints and attribute filtering conditions for the target semantic entity. Based on the structured semantic query statement, the system queries the semantic knowledge graph to determine the corresponding set of results that meet the conditions, including one or more semantic entities. Traverse the Uniform Resource Identifiers (URIs) of all semantic entities in the result set and calculate the hash value of the corresponding URI. Use the hash value of the URI as the reverse lookup key to perform a hash lookup in the bidirectional pointer mapping table of the intermediate layer of the association index, and map each URI to the corresponding geometric node identifier one by one, and collect them to generate a geometric node identifier set. Obtain the spatial bounding box information of each geometric node in the geometric node identifier set, call the model spatial index tree to perform batch spatial positioning, and send the spatially positioned geometric node identifier set and its corresponding world coordinate position to the 3D renderer in batches, so that the 3D renderer can perform visual highlighting feedback for each geometric node in the geometric node identifier set in the 3D visualization model.

7. The method for dynamically associating a three-dimensional visualization model with a semantic knowledge graph according to claim 1, characterized in that, Following the construction of the intermediate layer of the associated index, the following is included: Monitor incremental change events occurring in the 3D visualization model or the semantic knowledge graph; When a change event of the 3D visualization model is detected, the mapping relationship between the corresponding geometric node identifier and the unified resource identifier in the intermediate layer of the associated index is updated according to the change content, and the recalculation of the corresponding semantic attributes in the semantic knowledge graph is triggered. When the semantic knowledge graph change event is detected, the corresponding geometric node identifier is found through the bidirectional pointer mapping table based on the unified resource identifier involved in the change content, and the 3D renderer is driven to update the visualization of the corresponding geometric node.

8. A dynamic association device between a three-dimensional visualization model and a semantic knowledge graph, characterized in that, The device includes: Anchor point bidirectional implantation module is used to acquire pre-built 3D visualization models and semantic knowledge graphs. In the pre-construction stage, the geometric nodes of the 3D visualization model and the semantic entities of the semantic knowledge graph have formed a stable anchoring relationship through the Uniform Resource Identifier. The associated index intermediate layer construction module is used to construct the associated index intermediate layer, including a bidirectional pointer mapping table and a model space index tree. The bidirectional pointer mapping table is used to establish and maintain the bidirectional pointer index between the Uniform Resource Identifiers, and the model space index tree is used to establish the position index of the geometric nodes in three-dimensional space. The interactive query module receives interactive query requests initiated from external sources, including graph-to-spectrum query requests or spectrum-to-graph query requests. For graph-to-spectrum query requests, in response to a user-selected geometric node in the 3D visualization model, it initiates a semantic query to the semantic knowledge graph based on the association index intermediate layer and returns the semantic information of that geometric node. For spectrum-to-graph query requests, in response to a user-submitted semantic query condition, it converts the semantic query condition into a geometric node identifier based on the association index intermediate layer and highlights and locates it in the 3D visualization model, thereby achieving dynamic association between the 3D visualization model and the semantic knowledge graph.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the dynamic association method between the three-dimensional visualization model and the semantic knowledge graph as described in any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the steps of the dynamic association method between the three-dimensional visualization model and the semantic knowledge graph as described in any one of claims 1 to 7.