Semantic ontology-based spatial multi-source data fusion analysis system

CN123013022APending Publication Date: 2026-10-30上海图源素数字科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611520099.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-29
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

当同一空间对象存在多个不同边界时,通常选取其中一个边界进行分析,或者分别计算多个结果,难以判断空间关系结论是否稳定,也难以确定引起判定结果变化的局部边界差异,导致校核范围较大、处理效率较低

Benefits of technology

本发明通过预设语义本体类型和字段映射规则,将同一空间对象的多源记录关联至同一本体实例,并将各多源记录的面状几何对象边界构成候选边界集合;通过叠加切分各候选边界,生成内部不被任一候选边界穿过的原子分区单元,并以归属向量表征各原子分区单元对不同候选边界所围区域的归属状态;通过计算待分析空间对象与各候选边界所围区域的空间关系指标,形成由可达下界和可达上界限定的空间关系指标区间,并依据所述空间关系指标区间与预设关系判定阈值确定必然成立、必然不成立或边界敏感的判定结果,从而保留不同数据源边界差异对空间关系分析结果的影响,避免直接采用单一数据源边界造成空间关系判定结果失真。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123013022A_ABST
    Figure CN123013022A_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of information processing, and particularly relates to a spatial multi-source data fusion analysis system based on a semantic ontology. The system associates the same ontology instance to the multi-source records with the same preset semantic ontology type and source object identification field value, extracts the boundaries of each planar geometric object to form a candidate boundary set; performs superposition and cutting on the candidate boundaries to generate atomic partition units and attribution vectors; calculates the intersection area proportion of the to-be-analyzed spatial object and the region surrounded by each candidate boundary, determines the reachable lower bound and the reachable upper bound, and generates the determination results of certain establishment, certain non-establishment or boundary sensitivity in combination with a relationship determination threshold; determines the minimum change unit set when the boundary is sensitive, corrects the attribution state by using independent checking data, updates the determination results and writes the determination results into a graph database.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of information processing technology, and in particular relates to a spatial multi-source data fusion and analysis system based on semantic ontology. Background Technology

[0002] Spatial business involves multi-source heterogeneous data such as planning, land use, ownership, and remote sensing. Different data sources have differences in field names, object identification fields, spatial coordinates, acquisition accuracy, and time versions, making it difficult to unify and associate multi-source records of the same spatial object. Their attribute information and spatial range may also be inconsistent with each other.

[0003] Existing geographic information systems or spatial databases mainly calculate spatial relationships such as intersection and containment by overlaying layers. When the same spatial object has multiple different boundaries, usually only one boundary is selected for analysis, or multiple results are calculated separately. It is difficult to determine whether the spatial relationship conclusion is stable, and it is also difficult to determine the local boundary differences that cause changes in the judgment result, resulting in a large verification scope and low processing efficiency.

[0004] Furthermore, existing graph database solutions often lack a phased processing mechanism for relation calculation, result writing, and task execution when constructing massive spatial relationships in batches. This can easily lead to task interruptions due to excessively large batch data, calculation anomalies, or writing failures. Moreover, they lack failure recording, breakpoint resume, and process reuse mechanisms, making it difficult to meet the stable processing requirements of large-scale spatial multi-source data fusion analysis. Summary of the Invention

[0005] To address the shortcomings of existing technologies, the present invention aims to provide a spatial multi-source data fusion analysis system based on semantic ontology. This system associates multi-source records of the same spatial object with the same ontology instance, retains candidate boundaries corresponding to each multi-source record, superimposes and segments the candidate boundaries to generate atomic partitioning units and attribution vectors, calculates the lower and upper bounds of the reachable spatial relationship indicators corresponding to the spatial object to be analyzed, determines the minimum variable unit set when the judgment result is boundary sensitive, and corrects the attribution status of each atomic partitioning unit within the minimum variable unit set based on verification data. This solves the technical problems of uncertain spatial relationship judgment results caused by inconsistent multi-source planar geometric boundaries of the same spatial object, and the difficulty in locating local disputed areas affecting the judgment results.

[0006] To achieve the above objectives, the present invention provides the following technical solution.

[0007] In a first aspect, the present invention provides a spatial multi-source data fusion and analysis system based on semantic ontology, comprising: The ontology association module is configured to associate multi-source records of the same spatial object with the same ontology instance based on a preset semantic ontology type and field mapping rules, and extract the boundaries of the planar geometric objects of each multi-source record to form a candidate boundary set. The atomic partitioning module is configured to superimpose and segment each candidate boundary in the candidate boundary set to generate atomic partitioning units whose interiors are not crossed by any candidate boundary, and to generate an attribution vector based on the attribution status of each atomic partitioning unit to the region enclosed by each candidate boundary. The interval calculation module is configured to calculate the spatial relationship index between the spatial object to be analyzed and the region enclosed by each candidate boundary, and to determine the minimum and maximum values ​​of each spatial relationship index as the lower and upper bounds that can be reached, respectively. The mutation determination module is configured to determine the determination result based on the reachable lower bound, the reachable upper bound and the preset relationship determination threshold, and when the determination result is boundary sensitive, determine the set of the smallest mutation units that cause the determination result to change after the change of the belonging state based on the belonging vector. The verification module is configured to correct the affiliation status of each atomic partition unit within the set of minimum mutating units based on the verification data, recalculate the reachable lower bound and the reachable upper bound, and update the determination result.

[0008] Furthermore, the field mapping rule records the source object identifier field in each data source according to the data source identifier record; The ontology association module reads the source object identifier field value, groups multi-source records with the same preset semantic ontology type and source object identifier field value into the same record group, and queries ontology instances whose ontology object identifier attribute value is equal to the source object identifier field value from ontology instances corresponding to the preset semantic ontology type. When the ontology instance is found, the found ontology instance is identified as the target ontology instance; when the ontology instance is not found, a target ontology instance is created, an ontology instance identifier is assigned to the target ontology instance, and the source object identifier field value is written to the ontology object identifier attribute of the target ontology instance. The record group is associated with the target ontology instance, and the boundaries of the planar geometric objects within the record group are written into the candidate boundary set.

[0009] Furthermore, the atomic partitioning module arranges each candidate boundary in ascending order according to the data source identifier of the multi-source record corresponding to each candidate boundary, and assigns a number to each candidate boundary in turn, and sets a vector bit that corresponds one-to-one with each candidate boundary number; Within each atomic partition unit, a detection point is selected. When the detection point is located within the area enclosed by the corresponding candidate boundary, the corresponding vector bit is set to 1. When the detection point is located outside the area enclosed by the corresponding candidate boundary, the corresponding vector bit is set to 0. When the attribution vector contains both 1 and 0, the attribution status of the corresponding atomic partition unit is determined to be inconsistent.

[0010] Furthermore, the spatial relationship indicator is the percentage of intersecting areas; The interval calculation module obtains the object identifier and planar geometric object of the spatial object to be analyzed, transforms the area enclosed by the planar geometric object of the spatial object to be analyzed and each candidate boundary to the same projected coordinate system, calculates the intersection area of ​​the area enclosed by the planar geometric object of the spatial object to be analyzed and each candidate boundary, determines the ratio of each intersection area to the area of ​​the planar geometric object of the spatial object to be analyzed as the intersection area ratio of the corresponding candidate boundary, and determines the minimum and maximum values ​​of all intersection area ratios as the reachable lower bound and the reachable upper bound, respectively.

[0011] Furthermore, the preset relationship determination threshold is the intersection area ratio threshold; When the reachable lower bound is not less than the preset relationship determination threshold, the change determination module generates a determination result that must be true. When the reachable upper bound is less than the preset relationship determination threshold, a determination result that is necessarily invalid is generated; When the reachable lower bound is less than the preset relationship determination threshold and the reachable upper bound is not less than the preset relationship determination threshold, a boundary-sensitive determination result is generated.

[0012] Furthermore, when the determination result is boundary sensitive, the change determination module determines the candidate boundary with an intersection area ratio less than the preset relationship determination threshold as the candidate boundary to be changed, and determines the candidate boundary with the smallest candidate boundary number corresponding to the reachable upper bound as the benchmark candidate boundary. Atomic partitioning units that intersect with the spatial object to be analyzed, whose vector bits corresponding to the baseline candidate boundary are 1 and whose vector bits corresponding to any candidate boundary to be changed are 0 are selected to obtain the disputed atomic partitioning units. The disputed atomic partition units are combined in a non-empty manner. The vector bits of each candidate boundary to be mutated corresponding to the atomic partition units in the combination are adjusted from 0 to 1. The regions enclosed by each candidate boundary are reconstructed and the reachable lower bound is recalculated. The combination with the reachable lower bound not less than the preset relationship determination threshold and the smallest number of atomic partition units is determined as the minimum mutagenic unit set.

[0013] Furthermore, the verification data includes verification planar geometric objects provided by a preset verification data source, which do not participate in the formation of the candidate boundary set and whose verification object identifiers have the same attribute value as the ontology object identifier of the target ontology instance; The verification module uses the ratio of the intersection area of ​​each atomic partition unit in the set of minimum variable units and the area of ​​the verification planar geometric object to the area of ​​the corresponding atomic partition unit as the verification attribution ratio; When the verification attribution ratio is not less than the preset verification attribution threshold, each vector bit in the attribution vector of the corresponding atomic partition unit is corrected to 1; when the verification attribution ratio is less than the preset verification attribution threshold, it is corrected to 0. Reconstruct the regions enclosed by each candidate boundary according to the corrected attribution vector, and recalculate the intersection area ratio, reachable lower bound, reachable upper bound, and judgment result corresponding to each candidate boundary.

[0014] Furthermore, the system also includes a graph database storage module, which is used to define nodes representing spatial objects as entity nodes and to determine the judgment results after verification or without verification as the final judgment results; Query entity nodes using the object identifier to be analyzed. If a node is found, it is identified as the first entity node. If no node is found, a first entity node is created using the object identifier to be analyzed. The entity node is queried using the ontology instance identifier. If the node is found, it is identified as the second entity node. If the node is not found, a second entity node is created using the ontology instance identifier. The system queries the spatial relationship edge pointing from the first entity node to the second entity node. If the edge is found, the system updates the spatial relationship edge. If the edge is not found, the system creates the spatial relationship edge and writes the lower reachable bound, the upper reachable bound, the preset relationship determination threshold, and the final determination result.

[0015] Furthermore, the system also includes a task management module for generating intermediate records for each spatial relationship edge to be created or updated. The intermediate records include record number, object identifier to be analyzed, ontology instance identifier, reachable lower bound, reachable upper bound, preset relationship judgment threshold, final judgment result, write status, and failure reason. Read a preset number of unwritten intermediate records in ascending order of record number and send them to the graph database storage module; Based on the write results returned by the graph database storage module, when the write is successful, the write status of the corresponding intermediate record is updated to "written"; when the write fails, the write status of the corresponding intermediate record is kept as "not written" and the reason for the failure is recorded. When the build task is re-executed, processing continues from the unwritten intermediate record with the smallest record sequence number.

[0016] Furthermore, the system also includes an algorithm and workflow orchestration module, which is used to configure the ontology association module, atomic partitioning module, interval calculation module, mutation determination module, verification module, construction task management module and graph database storage module as workflow nodes; When a workflow node executes successfully, the output data item value is written into the input data item with the same name and data type in the next workflow node and the next workflow node is started. When the determination result is boundary sensitive, the workflow node corresponding to the verification module is executed; when the determination result is necessarily true or necessarily false, the workflow node corresponding to the verification module is skipped. When any workflow node fails to execute, stop starting subsequent workflow nodes and record the node identifier and error information of the failed workflow node.

[0017] Compared with the prior art, the beneficial effects of the present invention are: This invention associates multi-source records of the same spatial object with the same ontology instance by pre-setting semantic ontology types and field mapping rules, and constructs a candidate boundary set by the planar geometric object boundaries of each multi-source record. By superimposing and segmenting each candidate boundary, atomic partitioning units are generated that are not crossed by any candidate boundary, and the attribution vector represents the attribution status of each atomic partitioning unit to the region enclosed by different candidate boundaries. By calculating the spatial relationship index between the spatial object to be analyzed and the region enclosed by each candidate boundary, a spatial relationship index interval is formed by the reachable lower bound and the reachable upper bound. Based on the spatial relationship index interval and the preset relationship judgment threshold, a judgment result of "certainly true", "certainly false", or "boundary sensitive" is determined, thereby preserving the influence of the differences in the boundaries of different data sources on the spatial relationship analysis results and avoiding the distortion of the spatial relationship judgment results caused by directly using the boundary of a single data source.

[0018] When the determination result is boundary sensitive, this invention identifies candidate boundaries with an intersection area ratio less than a preset relationship determination threshold as candidate boundaries to be induced. It then filters disputed atomic partition units based on the attribution vector and determines the minimum induced unit set with the fewest units, ensuring the recalculated lower bound is not less than the preset relationship determination threshold. Using a verification planar geometric object not involved in the formation of the candidate boundary set, the attribution status of each atomic partition unit within the minimum induced unit set is corrected, and the area enclosed by each candidate boundary is reconstructed. This limits the verification object to the local disputed area that actually affects the determination result, reducing the data processing volume generated by re-verifying the entire spatial object and improving the accuracy and traceability of the updated determination result. Attached Figure Description

[0019] Figure 1 This is a schematic diagram of the module structure of the spatial multi-source data fusion and analysis system based on semantic ontology of the present invention; Figure 2 This is a flowchart illustrating the process of associating ontology instances and generating candidate boundary sets for this invention. Figure 3 This is a schematic diagram of candidate boundary superposition and segmentation and attribution vector generation in this invention; Figure 4 This is a flowchart of the spatial relationship interval determination and minimum catalytic unit set determination of the present invention; Figure 5 This is a flowchart of the atomic partitioning unit verification and spatial relationship edge writing process of the present invention. Detailed Implementation

[0020] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0021] Example 1 Please see Figures 1 to 5 This embodiment provides a spatial multi-source data fusion and analysis system based on semantic ontology, including a data source management module, an ontology modeling module, a field mapping module, a graph construction engine, a relation calculation module, a graph database storage module, a construction task management module, an algorithm and workflow orchestration module, and an artificial intelligence-assisted analysis module.

[0022] The graph construction engine includes an ontology association module; the relationship calculation module includes an atomic partitioning module, an interval calculation module, a mutation determination module, and a verification module. The ontology association module, atomic partitioning module, interval calculation module, mutation determination module, verification module, graph database storage module, construction task management module, and algorithm and workflow orchestration module together constitute the core processing link; field semantic matching, spatial relationship confidence, composite business relationships, multi-hop path analysis, ledger generation, and artificial intelligence data evidence package verification are optional extended functions integrated into the core processing link.

[0023] The system in this embodiment is deployed on a server, server cluster, or cloud computing platform, and accesses relational business databases, spatial databases, vector files, interface data, remote sensing monitoring results, approval records, regulatory records, and other external data resources through database connection interfaces, spatial data access interfaces, file reading interfaces, or data service interfaces.

[0024] The data source management module receives a data source registration instruction and generates a data source configuration based on the instruction. The data source registration instruction is submitted by system configuration personnel through the data source configuration interface, or it is generated synchronously from an external data resource catalog.

[0025] Each data source configuration includes at least the data source identifier, data source type, connection parameters, data table identifier or layer identifier, coordinate system identifier, time version, primary key field, spatial field, and access permission identifier.

[0026] The data source identifier is generated by the data source management module according to the data source registration order or a preset encoding rule, and is used to uniquely identify the corresponding data source within the system. The data source type is specified by the data source registration instruction, indicating whether the corresponding data source is a relational database, spatial database, file data source, or interface data source.

[0027] The connection parameters are filled in by the data source provider or system configuration personnel. For database data sources, the connection parameters include the database address, port, database name, access account, and access credentials; for file data sources, the connection parameters include the file storage path and file format; for interface data sources, the connection parameters include the interface address, request method, authentication information, and response data format.

[0028] The data table identifier or layer identifier is derived from the data table name, spatial layer name, vector file name, or data set name returned by the interface in the source database, and is used to determine the data set where the corresponding source record is located.

[0029] The coordinate system identifier originates from the spatial reference information of the spatial field or the coordinate system parameters filled in during data source registration, and is used to determine the geographic coordinate system or projected coordinate system used by the corresponding geometric object.

[0030] The time version is derived from the version field, batch field, update time field, or data source registration time in the source data, and is used to indicate the time when the corresponding data was formed or updated.

[0031] The primary key field is specified by the system configuration personnel from the source data fields and is used to uniquely identify a source record within the corresponding data source. The spatial field is specified by the system configuration personnel from the source data fields and is used to store the spatial geometric object of the corresponding source record.

[0032] The access permission identifier is generated by the permission configuration module based on the user role, organizational scope, data security level, and task authorization scope. It is used to determine whether the current user, analysis task, or workflow has the permission to read the corresponding data source, data table, spatial layer, and field.

[0033] The data source management module reads the data table structure, layer structure, and sample data according to the data source configuration to form data source metadata. The data source metadata includes at least the data source identifier, data table identifier, layer identifier, field name, field data type, field length, whether nullables are allowed, spatial field type, coordinate system identifier, field sample value, number of data records, time version, and access permission identifier.

[0034] Field sample values ​​are extracted from the non-null values ​​of the corresponding field. Specifically, for data sources with no more than a preset sample size, all non-null field values ​​are read; for data sources with more than a preset sample size, non-null field values ​​are extracted evenly according to the primary key field value or record sequence number, up to a preset sample size. The preset sample size is generated by the field mapping parameters.

[0035] For database data sources, the data source management module establishes a database connection according to the database address, port, database name, access account, and access credentials in the data source configuration. It reads the data table name, field name, field data type, and field length from the system data dictionary and reads the source records in ascending order of the primary key field value. For file data sources, it opens the file according to the file storage path and reads the field definitions, attribute records, spatial geometric objects, and spatial reference information according to the file format. For interface data sources, it sends a request according to the interface address, request method, and authentication information, and extracts the field values, spatial coordinates, record identifiers, and time versions according to the response data format configuration. Database connection, file parsing, spatial layer reading, and interface calls can also be implemented using other existing data access methods in this field. This embodiment does not limit the specific types of database drivers, file parsing programs, and interface protocols, but the reading results should at least be able to determine the data source identifier, source record identifier, field values, spatial geometric objects, coordinate system identifiers, and time versions.

[0036] The ontology modeling module receives ontology configuration instructions and defines preset semantic ontology types, attribute sets, attribute data types, classification levels, tag rules, and business meanings based on spatial business objects.

[0037] The preset semantic ontology types include at least one or more of the following: land parcel, construction project, planning and control unit, administrative division, approval item, regulatory event, and monitoring result.

[0038] Each preset semantic ontology type includes at least the ontology type code, ontology type name, ontology object identifier attribute, fixed attribute set, dynamically extended attribute container, and tag rules.

[0039] The ontology type code is generated by the ontology modeling module according to the ontology type creation order or a preset coding rule, and is used to uniquely represent the corresponding preset semantic ontology type within the system. The ontology type name is filled in by the system configuration personnel and is used to represent the unified semantic category of the corresponding spatial business object.

[0040] The ontology object identifier attribute is specified by the system configuration personnel from the attribute set of the corresponding ontology type and is used to store the unified object code of the real business object.

[0041] The fixed attribute set is used to store attributes that are used by multiple ontology instances, including object identifier, object name, object state, purpose code, time version, and spatial data reference.

[0042] The dynamically extended attribute container is a key-value attribute container used to store extended fields that are not configured as fixed attributes in different data sources, different business systems, or different data versions. The keys in the dynamically extended attribute container are the source field names or standardized field names, and the values ​​are the source field values ​​after data type and format conversions.

[0043] The labeling rules are used to generate labels for entity nodes in the graph database. Each entity node has a basic label representing a spatial entity, and dynamic business labels such as construction projects, land parcels, planning and control units, approval items, regulatory events, or monitoring results are added according to a preset semantic ontology type.

[0044] For example, the ontology type of a construction project includes project object identification attributes, project name attributes, project use code attributes, project status attributes, time version attributes, spatial data reference attributes, and a dynamically extended attribute container; the ontology type of a planning control unit includes control unit object identification attributes, control type attributes, permitted use set attributes, data version attributes, and spatial data reference attributes.

[0045] The field mapping module receives data source metadata and ontology configuration, and establishes field mapping rules between source data fields and ontology attributes.

[0046] Any source field to be matched is denoted as source field f. Source field f originates from the field name and its corresponding field data type, sample value, data table identifier, and layer identifier in the data source metadata, and is used to represent the source data field for which the ontology attribute mapping relationship needs to be determined.

[0047] Any ontology attribute to be matched is denoted as ontology attribute p. Ontology attribute p comes from the attribute set defined by the ontology modeling module and is used to represent the target ontology attribute to which the source field may be mapped.

[0048] In one optional implementation, the field mapping module calculates the similarity of field names, data type consistency, dictionary value matching, field value distribution similarity, and contextual semantic consistency between the source field f and the ontology attribute p.

[0049] The field name similarity is denoted as N(f,p), which originates from the source field name, ontology attribute name, ontology attribute alias, and ontology attribute description text. The field mapping module converts the source field name into a unified character format, removing underscores, hyphens, and spaces, converting English characters to lowercase, and performing word segmentation according to Chinese words, English words, or number strings to obtain a standardized word set W for the source field. f The ontology attribute names, ontology attribute aliases, and ontology attribute descriptions are processed in the same way to obtain a standardized terminology set W for ontology attributes. p .

[0050] Field name similarity is calculated using the following formula:

[0051] Among them, |W f ∩W p | represents the number of words shared by the two standardized word sets, |W f ∪W p | represents the total number of distinct words in two standardized word sets. When W f ∪W p When the set is empty, the field name similarity is set to 0.

[0052] When a field alias dictionary is configured, the field mapping module first converts words with the same or similar meanings, such as "number," "encoding," and "object number," into unified terms based on the dictionary, and then calculates the field name similarity. The field name similarity value ranges from 0 to 1, with a higher value indicating a closer similarity between the source field name and the ontology attribute name.

[0053] The data type consistency is denoted as T(f,p), which originates from the source field data type and the ontology attribute data type. Field mapping parameter configuration includes lossless conversion score t1 and lossy conversion score t2, satisfying 1>t1>t2>0. When the source field data type is the same as the ontology attribute data type, the data type consistency T(f,p) is set to 1; when the source field data type is different from the ontology attribute data type, but the source field value can be converted to the ontology attribute data type according to the preset data type conversion rules, and the field value before and after the conversion maintains consistency in character length, numerical precision, and time precision, the data type consistency is set to t1; when the source field value can be converted to the ontology attribute data type, but character truncation, reduction of decimal places, narrowing of the numerical value range, or reduction of time precision occurs after the conversion, the data type consistency is set to t2; when the source field value cannot be converted to the ontology attribute data type according to the preset data type conversion rules, the data type consistency is set to 0.

[0054] The lossless conversion score t1 and the lossy conversion score t2 are preset by the system configuration personnel in the field mapping parameter configuration and remain unchanged during the execution of the corresponding field mapping task.

[0055] The dictionary value matching degree is denoted as D(f,p), which originates from the source field sample values, the standard dictionary corresponding to the ontology attributes, and the dictionary value conversion rules. The field mapping module converts the source field sample values ​​according to the dictionary value conversion rules, counts the number of non-empty samples that can be converted into standard dictionary values, and determines the dictionary value matching degree as the ratio of this number to the total number of non-empty samples.

[0056] The similarity of the field value distribution is denoted as V(f,p), which originates from the source field sample values ​​and the historical mapping samples of the ontology attributes. The field mapping module calculates the proportion of null values ​​and the proportion of unique values ​​in the source field sample values ​​and the historical mapping samples of the ontology attributes, respectively. The proportion of null values ​​in the source field sample values ​​is denoted as q. f The proportion of null values ​​in the ontology attribute historical mapping samples is denoted as q. p The proportion of unique values ​​in the source field sample values ​​is denoted as u. f The proportion of unique values ​​in the historical mapping samples of ontology attributes is denoted as u. p .

[0057] The similarity of the proportion of empty values ​​is set to 1-|q f -q p |, The uniqueness ratio similarity is set to 1-|u f -u p |

[0058] For numerical fields, the field mapping module divides equal-width intervals according to the number of bins configured in the field mapping parameters, based on the joint minimum and joint maximum values ​​of the source field sample values ​​and the historical mapping samples of the ontology attributes. It then calculates the normalized frequencies of the two sample sets in each interval to obtain frequency vectors x and y.

[0059] For categorical fields, all categories appearing in the two sample sets are used as statistical terms. The normalized frequencies of each category are calculated to obtain frequency vectors x and y.

[0060] Distribution similarity Calculate according to the following formula:

[0061] Where z represents the number of intervals or the number of categories, x i and y i Let x and y represent the i-th terms of the frequency vectors x and y, respectively.

[0062] The similarity V(f,p) of the field value distribution is calculated according to the following formula: V(f,p)=λ1×(1-|q f -q p |)+λ2×(1-|u f -u p |)+λ3×S d Wherein, λ1, λ2, and λ3 are the weights corresponding to the similarity of the proportion of null values, the similarity of the proportion of unique values, and the similarity of the distribution, respectively, all of which are not less than 0, and the sum of the three is 1. λ1, λ2, and λ3 are pre-determined based on historically confirmed field mapping samples, which include source fields and ontology attribute combinations where mapping relationships have been confirmed or not. The field mapping module calculates the field value distribution similarity of each historically confirmed field mapping sample using different weight combinations, and selects the weight combination with the smallest difference as λ1, λ2, and λ3 based on the difference between the calculation result and the corresponding mapping relationship confirmation result, and writes the weight combination into the field mapping parameter configuration. For example, λ1, λ2, and λ3 recorded in the field mapping parameter configuration are 0.25, 0.25, and 0.50, respectively. The proportion of null values ​​in the current source field sample is q. f The null value proportion q of the ontology attribute historical mapping samples is 0.08. p If the similarity is 0.10, then the proportion of null values ​​is 1 - |0.08 - 0.10| = 0.98; the proportion of unique values ​​in the current source field sample is u. f The proportion of unique values ​​u in the ontology attribute history mapping samples is 0.92. pIf the similarity is 0.88, then the unique value proportion similarity is 1 - |0.92 - 0.88| = 0.96; the distribution similarity S is calculated based on the frequency vectors corresponding to the current source field sample values ​​and the historical mapping samples of the ontology attributes. d The similarity is 0.90. Therefore, the field value distribution similarity V(f,p) is 0.25×0.98+0.25×0.96+0.50×0.90=0.935. The above values ​​are only used to illustrate the specific calculation process of the field value distribution similarity. The actual values ​​of λ1, λ2 and λ3 are determined according to the field mapping parameters of the corresponding data source type and the preset semantic ontology type.

[0063] When there are no historical mapping samples for ontology attributes, the similarity of field value distribution can be set to a preset default value, and the corresponding candidate mapping relationship can be marked as having no historical samples. The preset default value is derived from the field mapping parameter configuration.

[0064] The context semantic consistency is denoted as C(f,p), and its source is the name of the data table containing the source field, the layer name, the business category, the names of adjacent fields, the data source type, and the ontology type to which the ontology attribute belongs. The field mapping module calls the preset text semantic model according to the model identifier recorded in the context semantic model configuration. The text semantic model takes as input a first input text consisting of the name of the data table containing the source field, the layer name, the business category, the names of adjacent fields, and the data source type, and a second input text consisting of the ontology attribute name, the ontology attribute description text, and the name of the ontology type to which it belongs, and outputs a first semantic vector e of the same dimension. f Second semantic vector e p .

[0065] Contextual semantic consistency Calculate according to the following formula:

[0066] Among them, | | represents the first semantic vector The modulus length, |e p | represents the second semantic vector e p The length of the mold, The product of the magnitudes of the first and second semantic vectors is used to normalize the dot product of the first and second semantic vectors. When the magnitude of either the first or second semantic vector is 0, the context semantic consistency is set to 0. The model identifier, model version, and input text concatenation order of the text semantic model are predetermined by the context semantic model configuration.

[0067] The field mapping module calculates the semantic matching score between the source field f and the ontology attribute p using the following formula: M(f,p)=w1×N(f,p)+w2×T(f,p)+w3×D(f,p)+w4×V(f,p)+w5×C(f,p) Where M(f,p) is the semantic matching score between the source field f and the ontology attribute p; w1 to w5 are the weights corresponding to field name similarity, data type consistency, dictionary value matching, field value distribution similarity, and contextual semantic consistency, respectively.

[0068] Weights w1 to w5 correspond to field name similarity, data type consistency, dictionary value matching, field value distribution similarity, and contextual semantic consistency, respectively, and are derived from the field mapping parameter configuration. Each weight is pre-determined based on the ability of the corresponding indicator to distinguish mapping relationships in historically confirmed field mapping samples. The average values ​​of historical field pairs with confirmed mapping relationships and those without are calculated for each indicator, and the absolute value of the difference between the two average values ​​for the same indicator is determined as the distinguishability of that indicator. The distinguishability of each indicator is divided by the sum of the distinguishability of the five indicators to obtain the corresponding weights w1 to w5. Each weight is not less than 0, and w1 + w2 + w3 + w4 + w5 = 1. The determined weights are written into the field mapping parameter configuration and remain unchanged during the execution of the corresponding field mapping task.

[0069] The field mapping threshold is denoted as T. m Field mapping threshold T m The semantic matching scores corresponding to historically confirmed field mapping samples are pre-determined and written into the field mapping parameter configuration. Specifically, the semantic matching scores of each historically confirmed field mapping sample are obtained, duplicate semantic matching scores are removed, and each deduplicated semantic matching score is used as a candidate field mapping threshold. For each candidate field mapping threshold, historical field pairs with semantic matching scores not less than the threshold are determined to meet the conditions for generating candidate mapping relationships, while historical field pairs with semantic matching scores less than the threshold are determined to not meet the conditions for generating candidate mapping relationships. The determination results are compared with the confirmation results of the corresponding historical field mapping samples, and the candidate field mapping threshold corresponding to the one with the largest number of historical field pairs whose determination results match the confirmation results is determined as the field mapping threshold T. m Field mapping threshold T m Used to determine whether the semantic matching score between the current source field and the ontology attribute meets the conditions for generating a candidate mapping relationship.

[0070] When the semantic matching score M(f,p) is not less than the field mapping threshold T m At that time, the field mapping module generates candidate mapping relationships from the source field f to the ontology attribute p.

[0071] When the source field f corresponds to multiple semantic matching scores that are not less than the field mapping threshold T m When determining the ontology attribute, the field mapping module arranges candidate mapping relationships in descending order of semantic matching score; when semantic matching scores are the same, they are arranged in ascending order of ontology attribute identifier.

[0072] When the highest semantic matching score is still less than the field mapping threshold T m When this happens, the source field is marked as a field to be configured, and no effective field mapping rules are automatically generated.

[0073] After the candidate mapping relationships are confirmed by the system configuration personnel, field mapping rules are formed. Each field mapping rule includes at least the data source identifier, source field name, preset semantic ontology type, target ontology attribute, data type conversion rule, dictionary value conversion rule, character format conversion rule, coordinate system conversion rule, primary key generation rule, spatial field parsing rule, and dynamic extended attribute writing rule.

[0074] The character format conversion rules are used to perform actions such as deleting leading and trailing spaces, unifying character case, unifying connectors, or padding encoding; the coordinate system conversion rules are used to determine the source coordinate system and unified projected coordinate system corresponding to the source spatial field; the primary key generation rules are used to generate ontology instance identifiers or unique identifiers for entity nodes; the spatial field parsing rules are used to parse database spatial fields, vector file geometric fields, or interface coordinate data into spatial geometric objects used internally by the system; and the dynamic extended attribute writing rules are used to write source fields that are not mapped to a fixed attribute set into a dynamic extended attribute container.

[0075] The graph construction engine generates data extraction conditions based on the data source configuration and field mapping rules. These conditions include at least the data source identifier, data table identifier or layer identifier, set of fields to be read, record filtering conditions, time version range, reading order, and number of records to be read in a single batch.

[0076] The number of reads in a single batch is denoted as B. e Number of reads per batch (B) e This parameter, derived from the data extraction batch parameter, limits the number of records read from the source data each time. The data extraction batch parameter is set by the system configuration personnel based on data source performance, spatial field size, and available server memory.

[0077] The graph construction engine reads source records in batches according to ascending order of primary key field value, record number, or time version. For each source record, it performs attribute field parsing, primary key field parsing, spatial field parsing, time version parsing, null value handling, character format standardization, dictionary value conversion, and duplicate record identification to generate multi-source records.

[0078] Each multi-source record includes at least the data source identifier, layer identifier, primary key field value, preset semantic ontology type, original value of source object identifier field, standardized attributes, dynamically extended attributes, planar geometric object, coordinate system identifier, and time version.

[0079] The ontology association module reads the data source identifier of the multi-source record and determines the source object identifier field and spatial field of the corresponding data source from the field mapping rules based on the data source identifier.

[0080] The source object identifier field is the source field specified in the field mapping rule as the source of the ontology object identifier attribute. The spatial field is the source field specified in the field mapping rule as the source of the planar geometry object.

[0081] The ontology association module reads the original field value specified by the source object identifier field, processes it according to data type conversion rules and character format conversion rules, and obtains the source object identifier field value.

[0082] The source object identifier field value is denoted as K. The source object identifier field value K originates from the source object identifier field specified by the field mapping rules in the multi-source record, and is used to represent the unified business code of the real-world spatial object described by the multi-source record.

[0083] For example, the original values ​​of the source object identifier field in the three data sources are "xm-00015", "XM-00015" and "XM-00015" respectively. After unifying the case of the characters and removing the leading and trailing spaces, the source object identifier field value is "XM-00015".

[0084] When the original value of the source object identifier field is empty, or remains empty after data type conversion and character format conversion, the ontology association module marks the corresponding multi-source record as a record with missing object identifier, does not use the multi-source record for ontology instance association, and records the corresponding data source identifier, the primary key field value of the multi-source record, and the reason for the missing object identifier.

[0085] The preset semantic ontology type corresponding to the multi-source record is denoted as T. o Preset semantic ontology type T o It originates from the ontology type configuration in the field mapping rules, or from the preset correspondence between layer identifiers and ontology types, and is used to represent the unified semantic category of the objects described by multi-source records.

[0086] The ontology association module compares the preset semantic ontology type T corresponding to each multi-source record. o The source object identifier field value K is used to group multi-source records with the same preset semantic ontology type and the same source object identifier field value into the same record group.

[0087] When two multi-source records have different preset semantic ontology types, or when the source object identifier field values ​​of two multi-source records are different, the two multi-source records will not be grouped into the same record group.

[0088] For example, both the multi-source record of a construction project and the multi-source record of a land parcel may have the object code "00015", but the preset semantic ontology type corresponding to the multi-source record of a construction project is "construction project" and the preset semantic ontology type corresponding to the multi-source record of a land parcel is "land parcel". Therefore, the multi-source record of the construction project and the multi-source record of the land parcel are not classified into the same record group.

[0089] Each record group records at least a preset semantic ontology type, source object identifier field value, and a list of multi-source records within the group, which is used to aggregate multi-source records from different data sources that jointly describe the same real-world object.

[0090] The ontology association module uses the preset semantic ontology type T corresponding to the record group. o The source object identifier field value K is used as the query condition, and the query ontology type is equal to the preset semantic ontology type T. o The ontology instance whose ontology object identifier attribute value is equal to the source object identifier field value K.

[0091] If an ontology instance that meets all of the above conditions is found, the found ontology instance is designated as the target ontology instance; if no ontology instance that meets all of the above conditions is found, a new ontology instance is created, and the ontology type of the newly created ontology instance is set to the preset semantic ontology type T. o And the newly created ontology instance is identified as the target ontology instance.

[0092] The ontology association module generates an ontology instance identifier for the newly created target ontology instance. This ontology instance identifier is denoted as I. o Ontology instance identifier I o It is generated by the identifier generation program based on a globally unique identifier, an auto-incrementing sequence, or a combination of ontology type code and sequence value, and is used to uniquely identify the target ontology instance within the system and the graph database.

[0093] Ontology instance identifier I o The value K in the source object identifier field is different from the identifier data. The ontology instance identifier is used to uniquely identify the target ontology instance within the system, while the source object identifier field value is used to represent the business code of the real-world object.

[0094] The ontology association module writes the source object identifier field value K into the ontology object identifier attribute of the target ontology instance, writes the standardized attributes into the corresponding fixed attributes, and writes the extended fields that are not mapped to the fixed attribute set into the dynamic extended attribute container.

[0095] The ontology association module establishes source associations between the target ontology instance and each multi-source record within the record group. Each source association records at least the ontology instance identifier, data source identifier, layer identifier, multi-source record identifier, and time version.

[0096] The multi-source record identifier is derived from the primary key field value of the corresponding multi-source record and is used to uniquely locate the multi-source record in the corresponding data source.

[0097] The ontology association module reads the planar geometric objects based on the spatial fields corresponding to each multi-source record. l The planar geometric object corresponding to a multi-source record containing a valid spatial field is denoted as G. l Subscript l The sequential numbering of valid planar geometric objects. Planar geometric object G l It originates from the spatial field specified by the field mapping rules in the corresponding multi-source record and is used to represent the spatial range of the same real spatial object in the corresponding data source.

[0098] The ontology association module sequentially processes each planar geometric object G l Perform empty geometry checks, geometry type checks, outer loop closure checks, inner loop closure checks, self-intersection checks, and area checks.

[0099] When a planar geometry object is empty, the corresponding planar geometry object is not used to form a candidate boundary, and the reason for the exception is recorded as empty geometry.

[0100] When the geometry type of a planar geometric object is not a polygon or multi-polygon, the corresponding planar geometric object is not used to form a candidate boundary, and the exception reason is recorded as non-planar geometry type.

[0101] When the outer or inner ring of a planar geometry object is not closed, ring closure repair is performed; when the planar geometry object has self-intersections, nodeization and face reconstruction are performed at the self-intersection positions.

[0102] In this embodiment, the coordinate distance is not greater than the geometric processing tolerance ε. g Adjacent nodes are merged into the same node; when the coordinates of the first node and the last node of the outer or inner ring of a planar geometric object are different, and the distance between them is not greater than the geometric processing tolerance ε. g When the distance is greater than the geometric processing tolerance ε, the coordinates of the last node are replaced with the coordinates of the first node; g At that time, a first node is appended to the end of the coordinate sequence. For boundary lines with self-intersections, a node is inserted at each self-intersection point to divide the boundary line into segments without internal intersections, and a closed loop is reconstructed based on the connection relationship of the segment endpoints. The geometric processing tolerance ε gIt originates from the spatial topology tolerance parameter configuration and is pre-determined based on the coordinate accuracy of the spatial data participating in the spatial topology processing. Specifically, the coordinate accuracy of each spatial data point involved in the processing is converted into length values ​​under a unified projected coordinate system, and the coordinate accuracy with the largest value is determined as the geometric processing tolerance ε. g Write the spatial topology tolerance parameter configuration. The geometry processing tolerance ε g Used in node deduplication, loop closure, and nodeization processes to determine whether minor differences in coordinate positions fall within the coordinate accuracy range; when the distance between two nodes to be processed is no greater than the geometric processing tolerance ε. g When the two nodes to be processed are geometrically processed according to the same coordinate position, if the distance is greater than the geometric processing tolerance ε, then... g At the same time, the original coordinate positions of the two nodes to be processed are preserved. Node deduplication, loop closure, self-intersection checking, nodeization, and surface reconstruction can also be implemented using other existing spatial geometry processing methods in this field.

[0103] If the repaired planar geometry object meets the conditions of being a valid planar geometry type, having closed boundaries, having no unprocessed self-intersections, and having an area greater than zero, then the repaired planar geometry object will continue to be processed. If the above conditions are still not met after repair, the corresponding multi-source record will be marked as a geometric anomaly record, will not participate in the formation of the candidate boundary set, and the data source identifier, multi-source record identifier, and geometric anomaly reason will be recorded.

[0104] The ontology association module extracts valid planar geometric objects G. l The boundary is used to form candidate boundaries, and the effective planar geometric object G is included. l The represented areal region is determined as candidate boundary B. j The enclosed area.

[0105] Candidate boundaries are derived from effective planar geometry objects G l The boundary extraction results are used for candidate boundary overlay and segmentation; the region enclosed by the candidate boundary originates from the effective planar geometric object G. l The planar region is used to perform atomic partitioning unit attribution determination and spatial relationship index calculation.

[0106] For a planar geometry object containing internal holes, the candidate boundary includes the outer boundary and the boundary of the internal hole. The area enclosed by the candidate boundary is the effective planar region after deducting the internal holes.

[0107] The ontology association module establishes a candidate boundary record for each candidate boundary. The candidate boundary record includes at least the candidate boundary geometry data, the region enclosed by the candidate boundary, the data source identifier, the multi-source record identifier, the ontology instance identifier, the coordinate system identifier, and the time version.

[0108] When the number of valid planar geometric objects associated with the target ontology instance is n, the candidate boundary set contains n candidate boundaries. The variable n comes from the number of planar geometric objects that have passed the geometric validity check within the record group and represents the number of candidate boundaries.

[0109] When the number of candidate boundaries n=0, it indicates that the target ontology instance is not associated with any planar geometric objects that have passed the geometric validity check. The ontology association module marks the target ontology instance as having missing spatial data and outputs the ontology instance identifier, the corresponding multi-source record identifier, and the reason for the missing spatial data; the algorithm and workflow orchestration module does not start the workflow node corresponding to the atomic partitioning module and sets the workflow node corresponding to the ontology association module to execution failure.

[0110] When the number of candidate boundaries n=1, the atomic partitioning module determines the region enclosed by the unique candidate boundary as one or more atomic partitioning units and generates a belonging vector containing only one vector bit. The interval calculation module calculates the unique intersection area ratio and simultaneously determines the intersection area ratio as the lower and upper reachable bounds. Since the lower and upper reachable bounds are equal, the change determination module generates a determination result that is necessarily true or necessarily false based on the comparison result of the intersection area ratio and the preset relationship determination threshold, and does not enter the boundary sensitive determination branch.

[0111] When the number of candidate boundaries n≥2, the atomic partitioning module processes the candidate boundary set according to the candidate boundary sorting, superposition segmentation and attribution vector generation method described later.

[0112] During the entity extraction and transformation phase, the ontology association module does not select a unique candidate boundary from the candidate boundary set, nor does it directly perform spatial intersection, spatial union, or geometric mean on multiple candidate boundaries, in order to preserve the boundary differences of the same real-world spatial object in different data sources or different time versions.

[0113] The graph construction engine generates entity node data based on the target ontology instance. The entity node data includes at least a unique node identifier, ontology type, basic tags, dynamic business tags, fixed attributes, dynamically extended attributes, data version, and candidate boundary reference information.

[0114] The unique identifier for the node is the ontology instance identifier I. o Alternatively, it can be generated from an ontology instance identifier; the basic tag is used to indicate that the node is a spatial entity node; the dynamic business tag is generated according to a preset semantic ontology type; the candidate boundary reference information is used to record the correspondence between the target ontology instance and each candidate boundary record.

[0115] The graph database storage module can write entity node data into the graph database before relational computation, or it can first write entity node data into an entity intermediate table, and then have the construction task management module write it into the graph database in batches.

[0116] The graph database storage module establishes indexes for entity nodes, including unique node identifier indexes, ontology type label indexes, dynamic business label indexes, and commonly used query attribute indexes. When an entity node already exists, its attributes are updated according to the ontology instance identifier or the unique node identifier; if the entity node does not exist, it is created.

[0117] The relation calculation module receives relation model configurations. Each relation model configuration includes at least the starting ontology, target ontology, starting layer, target layer, relation type, spatial topology rules, temporal judgment rules, attribute matching rules, business combination rules, spatial relation indicators, tolerance parameters, and relation confidence parameters.

[0118] The spatial relationships include one or more of the following: intersection, containment, being contained, equality, coverage, and distance relationships, and can record the intersection area, intersection length, intersection area percentage, coverage ratio, or distance; the temporal relationship is used to represent the continuation, division, merging, or change relationship between different time versions of the same object or related objects; the attribute relationship is used to establish associations based on field equality, field containment, dictionary mapping, or code grouping; the business relationship is used to combine spatial relationships, temporal relationships, attribute relationships, and business rules into complex business relationships such as planning conflict, usage compliance, abnormal change, or need for manual review.

[0119] When dealing with the differences in the boundaries of multiple sources for the same spatial object, the relational model configuration further includes the data source identifier of the object to be analyzed, the identifier field of the object to be analyzed, the spatial field of the object to be analyzed, the unified projection coordinate system, the preset relation determination threshold, the minimum effective intersection area, the minimum effective atomic partition area, the verification data source identifier, the verification object identifier field, the verification spatial field, and the preset verification attribution threshold.

[0120] The object to be analyzed is denoted as Q. id The object to be analyzed is identified by Q. id The identifier field of the object to be analyzed is specified by the relational model configuration in the data source of the object to be analyzed, and is used for subsequent queries or creation of the first entity node in the graph database.

[0121] The planar geometric object of the spatial object to be analyzed is denoted as Q. The planar geometric object Q of the spatial object to be analyzed originates from the spatial field of the object to be analyzed, which is specified by the relational model configuration in the data source of the object to be analyzed, and is used to perform spatial intersection calculations with the regions enclosed by each candidate boundary.

[0122] The preset relationship determination threshold is denoted as T. rThe preset relationship determination threshold Tᵣ is pre-determined based on the area ratio determination rule corresponding to the current spatial relationship type and written into the relationship model configuration. The area ratio determination rule specifies the minimum proportion that the intersecting area must occupy to the area of ​​the spatial object being analyzed when a spatial relationship is established; this minimum proportion is determined as the preset relationship determination threshold Tᵣ. The preset relationship determination threshold Tᵣ ranges from 0 to 1 and is used to determine whether the proportion of the intersecting area meets the conditions for establishing a spatial relationship.

[0123] The minimum effective intersection area is denoted as ε. a Minimum effective intersection area ε a Based on historical spatial topology processing results that have the same coordinate precision and geometric processing rules as the data source participating in spatial topology processing, a spatial topology tolerance parameter is pre-determined and written into the parameter. Specifically, intersections confirmed to be formed by boundary contact, coordinate precision errors, or minor fragments are obtained from the historical spatial topology processing results. The areas of these intersections are calculated, and the largest area is determined as the minimum effective intersection area ε. a Minimum effective intersection area ε a Used to filter intersections formed by boundary contact, coordinate accuracy errors, or minor fragments; when the current intersection area is greater than the minimum effective intersection area ε a When the current intersection is determined to be a valid intersection, and the area of ​​the current intersection is not greater than the minimum valid intersection area ε, then... a In this embodiment, the current intersection is filtered. An atomic partitioning unit intersects with the spatial object to be analyzed when the atomic partitioning unit and the spatial object to be analyzed form a planar intersection, and the area of ​​the planar intersection is greater than the minimum effective intersection area ε. a When the atomic partition cell and the spatial object to be analyzed only have point or line contact, or when the area of ​​the planar intersection between the atomic partition cell and the spatial object to be analyzed is not greater than the minimum effective intersection area ε. a When this happens, the effective intersection area between the atomic partition cell and the spatial object to be analyzed is set to 0, and the atomic partition cell is not selected as a disputed atomic partition cell.

[0124] The area of ​​the smallest effective atomic partition is denoted as ε. p Minimum effective atomic partition area ε p Based on the historical candidate boundary overlay segmentation results that have the same coordinate precision and geometric processing rules as the data source participating in spatial topology processing, a spatial topology tolerance parameter is pre-determined. Specifically, small topological fragments confirmed to be formed by coordinate precision errors or minor positional offsets between candidate boundaries are obtained from the historical candidate boundary overlay segmentation results. The area of ​​each small topological fragment is calculated, and the largest area is determined as the minimum effective atomic partition area ε. p Minimum effective atomic partition area ε pUsed to identify tiny topological fragments formed during the candidate boundary superposition and segmentation process.

[0125] The atomic partitioning module receives the candidate boundary set, each candidate boundary record, and the unified projection coordinate system. Based on the coordinate system identifier corresponding to each candidate boundary, it transforms the candidate boundary and the region enclosed by the candidate boundary to the unified projection coordinate system.

[0126] The atomic partitioning module queries the source coordinate system parameters based on the source coordinate system identifier and the target coordinate system parameters based on the unified projection coordinate system identifier, generating coordinate transformation parameters from the source coordinate system to the unified projection coordinate system. It then sequentially transforms the coordinates of each node in the outer and inner rings of the candidate boundary according to these transformation parameters, and regenerates the candidate boundary and the region enclosed by the candidate boundary using the transformed node coordinates. If no source coordinate system parameters, target coordinate system parameters, or coordinate transformation parameters are found, the workflow node corresponding to the atomic partitioning module is set to execution failure. Coordinate transformation can also be implemented using other existing coordinate transformation methods in the field, with specific transformation parameters determined based on the source coordinate system identifier and the unified projection coordinate system identifier.

[0127] After the coordinate transformation is completed, the atomic partitioning module performs a geometric validity check on the regions enclosed by each candidate boundary again. If the coordinate transformation result shows a broken loop or self-intersection, it is handled according to the aforementioned geometric repair process; if the repair fails, the ontology instance identifier, the data source identifier corresponding to the candidate boundary, and the reason for the geometric anomaly after the coordinate transformation are recorded.

[0128] The atomic partitioning module sorts the candidate boundaries in ascending order according to the data source identifiers of the multi-source records corresponding to each candidate boundary. When the data source identifiers are the same, they are sorted in ascending order according to the multi-source record identifiers, and candidate boundary numbers are assigned to each candidate boundary in sequence according to the sorting results. The candidate boundary numbers are assigned consecutively starting from 1 and remain unchanged in this relation calculation task.

[0129] The j-th candidate boundary is denoted as Bⱼ, and the region enclosed by the j-th candidate boundary is denoted as Ωⱼ, where j represents the candidate boundary number, and the value of j ranges from 1 to n. The candidate boundary number is used to determine the one-to-one correspondence between each vector position in the belonging vector and the candidate boundary.

[0130] Candidate boundary numbers are assigned consecutively starting from 1 and remain unchanged in this relation calculation task. They are used to determine the one-to-one correspondence between each vector bit in the belonging vector and the candidate boundary.

[0131] The atomic partitioning module overlays all candidate boundaries onto the same plane, calculates the intersections, coincident segments, and endpoints of coincident segments between different candidate boundaries, and performs node-based processing at the intersections and endpoints of coincident segments, dividing each candidate boundary into boundary segments whose interiors no longer contain intersections with other candidate boundaries.

[0132] The atomic partitioning module constructs a planar mesh using the segmented boundary lines and performs surface processing on the planar mesh to obtain multiple non-overlapping closed planar regions.

[0133] The calculation of candidate boundary intersections, nodeization, boundary segment division, and planar surface construction can be achieved using existing vector superposition and polygon segmentation methods in this field, but the interior of each closed planar region formed will no longer be crossed by any candidate boundary.

[0134] The atomic partitioning module filters the closed planar regions obtained from the surface processing, calculates the planar intersection between each closed planar region and the region enclosed by all candidate boundaries, and retains only closed planar regions with a planar intersection area greater than zero. These retained closed planar regions are then defined as atomic partitioning units. Therefore, all atomic partitioning units are pairwise non-intersecting internally, the union of all atomic partitioning units equals the union of the regions enclosed by all candidate boundaries, and the interior of each atomic partitioning unit is not crossed by any candidate boundary.

[0135] The atomic partitioning module calculates the area of ​​each atomic partition unit. Areas smaller than the minimum effective atomic partition area ε are excluded. p The atomic partitioning units are marked as micro atomic partitioning units, but they do not cross the candidate boundary and merge with adjacent atomic partitioning units. The micro atomic partitioning units still participate as independent atomic partitioning units in the selection of detection points, generation of attribution vectors, screening of disputed atomic partitioning units, and reconstruction of the region enclosed by the candidate boundary.

[0136] The minimum effective atomic partition area ε p This is used only to mark tiny atomic partitioning units formed due to coordinate accuracy, minor boundary offsets, or superposition operation errors, without changing the topological structure formed by candidate boundary superposition. The k-th atomic partitioning unit is denoted as A. k The subscript k represents the generation sequence number of the atomic partitioning unit. Atomic partitioning unit A k Derived from the results of candidate boundary overlay and surface processing, it is used to express the local boundary differences between each candidate boundary.

[0137] The atomic partitioning module assigns atomic partitioning unit identifiers to each atomic partitioning unit according to the generation order, and records the planar geometry, area, and generation sequence number of each atomic partitioning unit.

[0138] The interior of each atomic partition unit is not crossed by any candidate boundary. Therefore, the ownership status of the region enclosed by the same atomic partition unit relative to any candidate boundary remains consistent within the atomic partition unit.

[0139] The atomic partitioning module in each atomic partitioning unit A k An internal detection point is selected, and this detection point is denoted as c. k Detection point ck The results of generating representative points from the internal part of the atomic partitioning unit are used to determine the belonging status of the atomic partitioning unit relative to the region enclosed by each candidate boundary.

[0140] Detection point c k The point is located inside the corresponding atomic partition unit and not on any candidate boundary. The atomic partitioning module first calculates the geometric centroid of the atomic partition unit; when the geometric centroid is inside the atomic partition unit and not on any candidate boundary, the geometric centroid is determined as the detection point; when the geometric centroid is outside the atomic partition unit, in an internal hole, or on a candidate boundary, a horizontal scan line is generated inside the atomic partition unit, and the scan line is divided into internal segments according to the intersection of the scan line and the boundary of the atomic partition unit, and the midpoint of the longest internal segment is determined as the detection point. The generation of internal representative points and the determination of whether a point is inside a planar geometric object can also be implemented using other existing representative point generation methods and point-within-polygon determination methods in this field.

[0141] The atomic partitioning module is for each atomic partitioning unit A k Set the attribution vector V k Belonging vector V k The number of vector bits is equal to the number of candidate boundaries n, and the j-th vector bit corresponds one-to-one with the candidate boundary number j.

[0142] When detection point c k The region Ω is located within the j-th candidate boundary. j When internal, the belonging vector V will be... k The j-th vector bit in the data is set to 1; when the detection point c k Located in the region Ω enclosed by the candidate boundary j When outside, set the corresponding vector bit to 0.

[0143] Since the detection point is located inside the atomic partition unit, and the atomic partition unit is not crossed by any candidate boundary, the belonging state of the detection point relative to the region enclosed by the candidate boundary can represent the belonging state of the entire atomic partition unit.

[0144] For example, if the number of candidate boundaries is 3, and the detection point of an atomic partition unit is located within the area enclosed by the first and third candidate boundaries, but outside the area enclosed by the second candidate boundary, then the belonging vector of the atomic partition unit is (1, 0, 1).

[0145] When the attribution vector of an atomic partitioning unit contains both 1 and 0, it indicates that different candidate boundaries have different attribution states for the atomic partitioning unit, and the atomic partitioning unit is determined to be an atomic partitioning unit with inconsistent attribution states.

[0146] The interval calculation module receives the identifier Q of the object to be analyzed. idThe planar geometric object Q of the spatial object to be analyzed and the region Ω enclosed by each candidate boundary. j .

[0147] The interval calculation module transforms the planar geometric object Q of the spatial object to be analyzed into a unified projected coordinate system, and performs empty geometry checks, planar geometry type checks, loop closure checks, self-intersection checks, and area checks on it.

[0148] If the planar geometric object of the spatial object to be analyzed is empty, the geometric type is not a polygon or multi-polygon, or the area after repair is not greater than zero, stop the spatial relationship calculation of the current spatial object to be analyzed, and record the object identifier and the reason for the geometric anomaly.

[0149] The interval calculation module calculates the area of ​​the planar geometric objects of the spatial object to be analyzed, and calculates the intersection area of ​​the area enclosed by the planar geometric objects of the spatial object to be analyzed and each candidate boundary.

[0150] The interval calculation module performs a planar geometric intersection operation on the region Ωⱼ enclosed by the planar geometric object Q of the spatial object to be analyzed and the j-th candidate boundary, obtaining the intersection geometric object. When the intersection geometric object is empty, a point geometric object, or a line geometric object, the intersection area is set to 0. When the intersection geometric object is a polygon or multiple polygons, the areas of each constituent polygon are calculated and summed to obtain Area(Q∩Ωⱼ). The spatial intersection and area calculation between planar geometric objects can also be implemented using spatial operation functions provided by other existing spatial databases or geographic information systems. Before performing the calculation, the planar geometric objects participating in the calculation use the same unified projected coordinate system and area unit.

[0151] For the j-th candidate boundary, the interval calculation module calculates the corresponding intersection area ratio according to the following formula:

[0152] Among them, Area(Q∩Ω) j ) represents the region Ω enclosed by the planar geometric object Q of the spatial object to be analyzed and the j-th candidate boundary. j The intersection area; Area(Q) represents the area of ​​the planar geometric object of the spatial object to be analyzed; R j This represents the percentage of the intersection area corresponding to the j-th candidate boundary.

[0153] When the area of ​​intersection between the spatial object to be analyzed and the candidate boundary is less than the minimum effective intersection area ε a When the intersection area is greater than the minimum effective intersection area ε, the corresponding intersection area is set to 0; when the intersection area is greater than the minimum effective intersection area ε, the intersection area is set to 0. a When intersecting, the actual intersection area is retained and used to calculate the percentage of the intersection area.

[0154] The interval calculation module sequentially calculates the percentage of intersection area corresponding to all candidate boundaries, determines the minimum percentage of intersection area as the reachable lower bound L, and the maximum percentage of intersection area as the reachable upper bound U. b .

[0155] The reachable lower bound L is derived from the minimum percentage of the intersection area corresponding to all candidate boundaries, and is used to represent the minimum percentage of the intersection area that can be obtained when using each candidate boundary in the existing set of candidate boundaries.

[0156] Reachable upper limit U b It is derived from the maximum percentage of the intersection area corresponding to all candidate boundaries, and is used to represent the maximum percentage of the intersection area that can be obtained when using each candidate boundary in the existing candidate boundary set.

[0157] For example, if the intersection area ratios of the three candidate boundaries are 0.26, 0.28, and 0.31 respectively, then the lower bound is 0.26 and the upper bound is 0.31.

[0158] The interval calculation module simultaneously records the correspondence between the proportion of each intersecting area and the candidate boundary number, and transmits all the proportions of intersecting areas, the lower reachable bound, and the upper reachable bound to the change determination module.

[0159] The mutation determination module receives the percentage of all intersecting areas, the lower limit L, and the upper limit U. b The belonging vector V of each atomic partition unit k And the preset relationship determination threshold T r .

[0160] When the reachable lower bound L is not less than the preset relationship determination threshold T r When the intersection area ratio of all candidate boundaries reaches the preset relationship judgment threshold, the change judgment module generates a judgment result that is bound to be true.

[0161] When the upper bound U can be reached b Less than the preset relationship determination threshold T r If the percentage of the intersection area corresponding to all candidate boundaries does not reach the preset relationship judgment threshold, the change judgment module will generate a judgment result that is necessarily invalid.

[0162] When the reachable lower bound L is less than the preset relationship determination threshold T r And it can reach the upper bound U b Not less than the preset relationship determination threshold T r If the percentage of the intersecting area corresponding to at least one candidate boundary does not reach the preset relationship judgment threshold, and at the same time the percentage of the intersecting area corresponding to at least one candidate boundary reaches the preset relationship judgment threshold, the change judgment module generates a boundary-sensitive judgment result.

[0163] When the determination result is either necessarily true or necessarily false, the mutation determination module does not perform the minimum mutation unit set determination process, and transmits the current reachable lower bound, the current reachable upper bound, and the current determination result to the construction task management module.

[0164] When the determination result is boundary sensitive, the change determination module traverses all candidate boundaries, selecting those with an intersection area ratio less than the preset relationship determination threshold T. r The candidate boundary is determined as the candidate boundary for the change to be determined.

[0165] The mutation determination module starts from the intersection area ratio being equal to the upper bound U. b Among the candidate boundaries, the one with the smallest candidate boundary number is selected as the baseline candidate boundary.

[0166] The baseline candidate boundary number is denoted as j U Benchmark candidate boundary number j U It is derived from the set of candidate boundary numbers whose intersecting area ratio is equal to the reachable upper bound, and is used to provide spatial attribution references that have reached the preset relationship determination threshold.

[0167] When there is only one candidate boundary that can reach the upper bound, the candidate boundary is directly determined as the baseline candidate boundary.

[0168] The mutation determination module traverses each atomic partition cell and sequentially determines whether each atomic partition cell simultaneously satisfies the following condition: the intersection area between the atomic partition cell and the spatial object to be analyzed is greater than the minimum effective intersection area ε. a The value of the atomic partitioning unit is 1 in the vector bit corresponding to the baseline candidate boundary; the value of the atomic partitioning unit is 0 in the vector bit corresponding to at least one candidate boundary to be changed.

[0169] Atomic partitioning units that simultaneously meet the above conditions are identified as disputed atomic partitioning units.

[0170] The disputed atomic partitioning unit is located within the region enclosed by the baseline candidate boundary, but is not located within the region enclosed by a candidate boundary to be changed, and has an effective planar intersection with the spatial object to be analyzed that can change the proportion of the intersection area.

[0171] The mutation determination module generates non-empty combinations of disputed atomic partition units in ascending order of the number of disputed atomic partition units contained in the combination.

[0172] Combinatorial generation and traversal can be implemented using existing combinatorial enumeration algorithms in this field. Regardless of the combinatorial enumeration method used, the number of disputed atomic partition units is denoted as m. The mutation determination module sets the number s of atomic partition units contained in the combination to 1, 2, ..., m in sequence; under each number s, it generates all non-empty combinations formed by selecting s atomic partition units from the m disputed atomic partition units in ascending order according to the atomic partition unit identifier. When at least one feasible combination appears in the combinations corresponding to the number s, the generation of combinations with a number greater than s is stopped.

[0173] For each non-empty combination, the mutation determination module adjusts the 0 to 1 in the vector bits corresponding to all candidate boundaries to be mutated for each disputed atomic partition unit in the combination; the vector bits that were originally 1 remain 1, the vector bits corresponding to non-candidate boundaries to be mutated remain unchanged, and the belonging vectors of atomic partition units that do not belong to the current combination remain unchanged.

[0174] The mutation determination module reconstructs the region enclosed by each candidate boundary based on the adjusted attribution vector. For the j-th candidate boundary, it filters all atomic partitioning units where the j-th vector bit is 1, and performs a spatial union operation on the planar geometric objects of the filtered atomic partitioning units to obtain the region enclosed by the reconstructed candidate boundary corresponding to the j-th candidate boundary.

[0175] For the j-th candidate boundary, the mutation determination module reads the atomic partitioning unit with the j-th vector bit set to 1 in ascending order of the atomic partitioning unit identifier. The planar geometric object of the first atomic partitioning unit is used as the initial region, and spatial union operations are performed on the planar geometric objects of the remaining atomic partitioning units with the current region sequentially, until all atomic partitioning units meeting the conditions have been processed. The resulting planar geometric object is the region enclosed by the reconstructed candidate boundary corresponding to the j-th candidate boundary. Spatial union operations can also be implemented using planar geometric object merging functions provided by other existing spatial databases or geographic information systems.

[0176] The mutation determination module recalculates the percentage of the intersection area between the spatial object to be analyzed and the region enclosed by each reconstructed candidate boundary, and determines the minimum value among all the recalculated intersection area percentages as the recalculated lower bound corresponding to the current combination.

[0177] When the recalculated reachable lower bound is not less than the preset relationship determination threshold T r When the current combination is determined to be a feasible combination, it is considered a feasible combination.

[0178] After obtaining the number of feasible combinations for the first time, the mutation determination module will no longer generate combinations containing more disputed atomic partition units.

[0179] When there exists only one feasible combination that contains the fewest number of disputed atomic partitioning units, that feasible combination is determined as the minimum set of mutating units.

[0180] When there are multiple feasible combinations containing the same number of disputed atomic partition units, calculate the sum of the intersection areas of all disputed atomic partition units and the spatial object to be analyzed in each feasible combination, and select the combination with the smallest sum of intersection areas as the set of minimally mutating units.

[0181] When the sum of the intersection areas is still the same, extract the atomic partition unit identifiers of the atomic partition units in each combination, arrange the atomic partition unit identifiers corresponding to each combination in ascending order to form an identifier sequence, and select the combination whose identifier sequence is arranged first in lexicographical order as the set of minimal variable units.

[0182] The set of minimum variable units is used to determine the minimum number of atomic partitioning units whose attribution status needs to be confirmed by independent verification data. The aforementioned vector bit adjustment, reconstruction of the region enclosed by the candidate boundary, and recalculation of the reachable lower bound are all trial calculation processes and do not directly modify the region enclosed by the original candidate boundary or the original attribution vector.

[0183] When the disputed atomic partition unit is empty, or there is no lower bound that can be reached by recalculation that is not less than the preset relation determination threshold T. r When the combination is non-empty, the mutation determination module does not generate a set of minimum mutable units, sets the current workflow node as an execution failure, and outputs the object identifier to be analyzed, ontology instance identifier, current reachable lower bound, current reachable upper bound, and error message. The error message is "No set of minimum mutable units that satisfies the determination change condition". After receiving the execution failure status, the algorithm and workflow orchestration module stops starting the verification module, the task management module, and the graph database storage module for subsequent workflow nodes, and writes the object identifier to be analyzed, ontology instance identifier, current reachable lower bound, current reachable upper bound, and error message into the manual processing record.

[0184] After determining the set of minimum mutability units, the mutation determination module transmits the ontology object identifier attribute value of the target ontology instance, the set of minimum mutability units, the planar geometric objects of each atomic partition unit, the original attribution vector, and the unified projected coordinate system identifier to the verification module.

[0185] The verification module connects to the verification data source based on the verification data source identifier in the verification data source configuration and reads the verification object identifier value specified by the verification object identifier field. When the verification data source connection fails, the verification object identifier field does not exist, or the verification object identifier field value is empty, the verification module sets the current workflow node to execution failure, records the error messages "verification data source connection failed", "verification object identifier field does not exist", or "verification object identifier is missing" respectively, and stops subsequent verification processing.

[0186] The verification module reads the verification object identifier field value of each verification record and performs a character-based equality comparison with the ontology object identifier attribute value K of the target ontology instance. Before performing the equality comparison, leading and trailing spaces are removed, English letters are standardized in capitalization, and connectors are standardized according to the character format conversion rules in the verification data source configuration. When the format-converted verification object identifier field value is equal to the ontology object identifier attribute value K, the corresponding verification record is identified as a candidate verification record; when the format-converted verification object identifier field value is not equal to the ontology object identifier attribute value K, the corresponding verification record is excluded. If no candidate verification record is found after traversing the preset verification data source, the verification module sets the current workflow node to execution failure and records the error message "No verification record matching object identifier found".

[0187] The verification module compares the verification data source identifier with the data source identifiers corresponding to each candidate boundary in the candidate boundary set one by one. When the verification data source identifier is the same as the data source identifier corresponding to any candidate boundary, it is determined that the verification data source has participated in the formation of the candidate boundary set. The verification data source is not used to perform this verification, and the workflow node corresponding to the verification module is set to execution failure, recording the error message "verification data source has participated in the formation of the candidate boundary set".

[0188] When there are multiple verification records with the same verification object identifier value in the verification data source, they are sorted in descending order according to the value of the verification time field, and the valid verification record with the latest verification time is selected; when the verification times are the same, the verification record with the smallest primary key field value is selected in ascending order according to the value of the primary key field.

[0189] The verification module reads the verification planar geometric object from the verification space field of the selected verification record, and the verification planar geometric object is denoted as H.

[0190] The verification surface geometry object H originates from an independent verification data source that did not participate in the formation of the candidate boundary set. It is used to confirm whether each atomic partition unit within the set of minimal variable units belongs to the spatial range corresponding to the target ontology instance.

[0191] The verification module transforms the verification planar geometric object H to a unified projection coordinate system and performs empty geometry checks, planar geometry type checks, loop closure checks, self-intersection checks, and area checks on it.

[0192] If, after repair, a planar geometric object still fails to meet the conditions of valid planar geometry type, closed boundaries, no unprocessed self-intersections, and an area greater than zero, the verification module will set the current workflow node to execution failure and output the verification data source identifier, verification object identifier, verification record primary key field value, and the reason for the geometric anomaly. The algorithm and workflow orchestration module will then stop starting subsequent workflow nodes corresponding to the construction task management module and graph database storage module.

[0193] For each atomic partition unit within the set of minimally variable units, the verification module calculates the verification attribution ratio according to the following formula:

[0194] Among them, A k Represents the k-th atomic partition unit within the set of minimally variable units; H represents the check planar geometric object; Area(A k ∩H) represents the intersection area of ​​the atomic partition unit and the check planar geometric object; Area(A k ) represents the area of ​​the atomic partition unit; ρ k This indicates the proportion of the area covered by the checked planar geometric object within the atomic partition unit, i.e., the check attribution proportion.

[0195] The preset verification threshold is denoted as T. c Preset verification threshold T c The rules for confirming the attribution of atomic partition units to the checked planar geometric objects are predetermined and written into the checked data source configuration. The attribution confirmation rules use the ratio of the intersection area of ​​the checked planar geometric objects and the atomic partition units to the area of ​​the atomic partition units as the criterion, and determine the minimum coverage ratio required to confirm that the atomic partition unit belongs to the spatial range corresponding to the target ontology instance as the preset attribution threshold T. c Preset verification threshold T c The value ranges from 0 to 1 and is used to determine whether the coverage of the planar geometric object to the atomic partition unit meets the assignment confirmation condition.

[0196] When the verification assignment ratio ρ of the atomic partition unit k Not less than the preset verification threshold T c At that time, the verification module determines that the atomic partition unit belongs to the spatial range corresponding to the target ontology instance, and uniformly corrects each vector bit in the belonging vector of the atomic partition unit to 1.

[0197] When the verification assignment ratio ρ of the atomic partition unit k Less than the preset verification threshold T c When the verification module determines that the atomic partition unit does not belong to the spatial range corresponding to the target ontology instance, it will uniformly correct all vector bits in the belonging vector of the atomic partition unit to 0.

[0198] By uniformly correcting each vector bit in the attribution vector to 1 or 0, it means replacing the original inconsistent attribution state of the atomic partition unit with the attribution state confirmed by the independent verification data.

[0199] For atomic partitioning units that do not belong to the set of minimal variable units, the verification module retains their original attribution vector unchanged.

[0200] The verification module reconstructs the region enclosed by each candidate boundary based on the corrected or retained attribution vectors. For the j-th candidate boundary, the verification module selects all atomic partitioning units where the j-th vector bit is 1, and performs a spatial union operation on the planar geometric objects of the selected atomic partitioning units to obtain the reconstructed region corresponding to the j-th candidate boundary.

[0201] The verification module recalculates the percentage of the intersection area between the spatial object to be analyzed and each reconstructed region. The minimum value among all the recalculated percentages of the intersection area is determined as the lower bound that can be reached after verification, and the maximum value among them is determined as the upper bound that can be reached after verification.

[0202] When the verified reachable lower bound is not less than the preset relationship determination threshold T r When the updated judgment result is necessarily true, the updated result is true when the upper bound of the reachable boundary is less than the preset relationship judgment threshold T. r When the updated judgment result is definitely false; when the verified reachable lower bound is less than the preset relationship judgment threshold T r Furthermore, the reachable upper bound after verification is not less than the preset relationship determination threshold T. r At that time, the updated judgment result is still boundary sensitive.

[0203] The final reachable lower bound is denoted as L. f The upper bound can eventually be denoted as U. f The final judgment result is recorded as Y. f .

[0204] When performing the verification process, the recalculated lower bound obtained after verification will be determined as the final lower bound L. f The recalculated upper bound obtained after verification is determined as the final upper bound U. f The final determination result Y is determined by recalculating the final reachable lower bound, the final reachable upper bound, and the preset relationship determination threshold. f .

[0205] When the mutation determination module generates a determination result that is either necessarily true or necessarily false and no verification processing is required, the reachable lower bound before verification is determined as the final reachable lower bound L. f The upper bound that can be reached before verification is determined as the final upper bound U. f The determination result generated by the mutation determination module is then determined as the final determination result Y. f .

[0206] If the verified judgment result is still boundary sensitive, then boundary sensitivity will be determined as the final judgment result Y. fAnd set the status to be reviewed in the intermediate record.

[0207] In one optional implementation, the relationship calculation module further calculates the spatial relationship confidence of the current spatial relationship. The spatial relationship confidence is used to generate the relationship verification status of the current spatial relationship and serves as an additional attribute of intermediate records and spatial relationship edges. It is not used as a condition for determining whether to generate intermediate records or whether to create or update spatial relationship edges, nor does it change the final determination result determined based on the lower reachable bound, the upper reachable bound, and the preset relationship determination threshold.

[0208] The confidence level of spatial relationships is denoted as Cᵣ. The inputs for calculating the confidence level Cᵣ include the average intersection-union ratio Jᵣ and the lower bound L of the spatial relationships. f The evaluation criteria include geometric validity and boundary consistency score Gᵣ, data time version consistency score Vᵣ, and error penalty term Eᵣ.

[0209] Spatial Relationship Confidence C r It is calculated by weighting the intersection-union ratio, the final reachable lower bound, the geometric validity and boundary consistency scores, the data time version consistency score, and the error penalty term.

[0210] After the verification process is completed, the region enclosed by the reconstructed candidate boundary corresponding to the j-th candidate boundary is denoted as Ω′ⱼ; if the verification process is not performed, the region Ωⱼ enclosed by the j-th candidate boundary is determined as Ω′ⱼ. The relationship calculation module calculates the intersection-union ratio (IUR) between the planar geometric object Q of the spatial object to be analyzed and each Ω′ⱼ, and determines the arithmetic mean of the IUR of all candidate boundaries as the average IUR of spatial relationships Jᵣ, calculated using the following formula:

[0211] Where n represents the number of candidate boundaries; j represents the candidate boundary number, with values ​​ranging from 1 to n; Q represents the planar geometric object of the spatial object to be analyzed; Ω′ⱼ represents the region enclosed by the reconstructed candidate boundary corresponding to the j-th candidate boundary, or, if no verification processing is performed, the region enclosed by the j-th candidate boundary; Area(Q∩Ω′ⱼ) represents the intersection area of ​​the planar geometric object Q and Ω′ⱼ of the spatial object to be analyzed; Area(Q∪Ω′ⱼ) represents the union area of ​​the planar geometric object Q and Ω′ⱼ of the spatial object to be analyzed; the ratio of Area(Q∩Ω′ⱼ) to Area(Q∪Ω′ⱼ) represents the intersection-union ratio corresponding to the j-th candidate boundary.

[0212] When Area(Q∪Ω′ⱼ) is greater than 0, the intersection-union ratio (IU / U) of the j-th candidate boundary is calculated according to Area(Q∩Ω′ⱼ) / Area(Q∪Ω′ⱼ); when Area(Q∪Ω′ⱼ) is equal to 0, the IU / U) of the j-th candidate boundary is set to 0. The relation calculation module sums all the IU / Usage ratios corresponding to candidate boundaries numbered 1 to n, and divides the sum by the number of candidate boundaries n to obtain the average IU / Usage ratio Jᵣ of the spatial relation.

[0213] The intersection-union ratio (IUU) term in the confidence level of the spatial relationship uses the average IUU of spatial relationships, and the intersection area ratio term uses the final reachable lower bound L. f The average intersection-union ratio (Jᵣ) represents the average intersection-union ratio between the spatial object to be analyzed and the corresponding regions of all candidate boundaries; the lower bound L is ultimately achievable. f This represents the final minimum value among the proportions of the intersecting areas corresponding to all candidate boundaries.

[0214] The geometric validity and boundary consistency scores are denoted as G. r The relation calculation module determines the geometric validity score by the ratio of the number of planar geometric objects that pass the geometric validity check to the total number of planar geometric objects involved in the processing. It then calculates the ratio of the area of ​​symmetry difference to the area of ​​union between any two candidate boundaries, subtracts this ratio from 1 to obtain the consistency value of the corresponding candidate boundary pair, and determines the boundary consistency score by averaging the consistency values ​​of all candidate boundary pairs. Finally, it calculates the geometric validity and boundary consistency scores as the geometric validity and boundary consistency score G. r .

[0215] Data time version consistency score is denoted as V r When a target ontology instance is associated with two or more candidate boundaries, the time version of the spatial object to be analyzed and the time version corresponding to each candidate boundary are obtained respectively. Each time version is converted into a unified time unit, and the time interval between the time version of the spatial object to be analyzed and the time version corresponding to the j-th candidate boundary is calculated. The time version consistency value corresponding to the j-th candidate boundary is determined according to the time interval and the maximum allowed time interval in the relational model configuration. When the time interval is 0, the consistency value is 1. When the time interval is greater than 0 and less than the maximum allowed time interval, the consistency value decreases according to the proportion of the time interval to the maximum allowed time interval. When the time interval is not less than the maximum allowed time interval, the consistency value is 0. The time version consistency values ​​corresponding to each candidate boundary are summed and divided by the number of candidate boundaries to obtain the data time version consistency score Vᵣ.

[0216] In one specific implementation, when two time versions are the same, the corresponding consistency value is set to 1; when two time versions are different, the consistency value is determined based on the time interval and the maximum allowed time interval in the relational model configuration; when the time interval reaches or exceeds the maximum allowed time interval, the corresponding consistency value is set to 0.

[0217] The error penalty term is denoted as E. r The errors originate from coordinate transformation deviation, geometric repair count, topological fragment area ratio, number of micro-overlaps, and number of topological calculation anomalies. Let e1 be the coordinate transformation deviation, e2 the geometric repair count, e3 the area ratio of micro-atomic partitioning units, e4 the number of micro-overlaps, and e5 the number of topological calculation anomalies. The relation confidence parameter configuration records the normalized upper limits E1 to E5 and the error weights d1 to d5 for each of the five errors. The normalized error value e′ of the o-th term is... o According to e′ o =min{1,e} o / E o The error penalty term is calculated according to Eᵣ=d1×e′1+d2×e′2+d3×e′3+d4×e′4+d5×e′5, where d1 to d5 are the error weights corresponding to each normalized error value, which are predetermined based on the degree of influence of each error term on the intersection area ratio calculation result in the historical spatial relationship calculation task. Specifically, the absolute value of the difference in the intersection area ratio before and after the corresponding error term processing in each historical spatial relationship calculation task is counted, and the average value of the absolute value of the difference corresponding to the same error term is calculated. The average value is determined as the influence value of the corresponding error term. The influence values ​​corresponding to the five errors are divided by the sum of the five influence values ​​to obtain d1 to d5. The larger the influence value corresponding to the error term, the larger its corresponding error weight. d1 to d5 are all not less than 0, and d1+d2+d3+d4+d5=1. The determined d1 to d5 are written into the relationship confidence parameter configuration.

[0218] The confidence level Cᵣ for spatial relationships is calculated according to the following formula: Cᵣ=max{0,min{1,a1Jᵣ+a2L f +a3Gᵣ+a4Vᵣ-a5Eᵣ}} Where Jᵣ represents the average intersection-union ratio of spatial relationships; L f Gᵣ represents the ultimate reachable lower bound; Gᵣ represents the geometric validity and boundary consistency score; Vᵣ represents the data temporal version consistency score; Eᵣ represents the error penalty term; a1, a2, a3 and a4 represent the weights corresponding to the average intersection-union ratio of spatial relationships, the ultimate reachable lower bound, the geometric validity and boundary consistency score and the data temporal version consistency score, respectively; a5 represents the weight corresponding to the error penalty term.

[0219] Weights a1 to a5 are derived from the relation confidence parameter configuration. Weights a1, a2, a3, and a4 correspond to the average intersection-union ratio, the final reachable lower bound, geometric validity, boundary consistency score, and data time version consistency score of spatial relations, respectively. These weights are pre-determined based on the ability of each scoring item in historically confirmed spatial relation samples to distinguish between reliable and unreliable spatial relations. The average values ​​of each scoring item for reliable and unreliable spatial relations are calculated separately. The absolute value of the difference between the two average values ​​for the same scoring item is determined as the discrimination index of that scoring item. The discrimination index of each scoring item is then divided by the sum of the discrimination indices of the four scoring items to obtain a1, a2, a3, and a4. Weight a5 is the weight corresponding to the error penalty item, pre-determined based on the influence of the error penalty item on the spatial relation calculation results in historical spatial relation calculation tasks. The determined weights a1 to a5 are written into the relation confidence parameter configuration, where a1 to a5 are all not less than 0, and a1 + a2 + a3 + a4 = 1. The relation calculation module first calculates a1Jᵣ + a2L. f +a3Gᵣ+a4Vᵣ-a5Eᵣ; When the calculation result is less than 0, the spatial relationship confidence Cᵣ is set to 0; when the calculation result is greater than 1, the spatial relationship confidence Cᵣ is set to 1; when the calculation result is between 0 and 1, the calculation result is determined as the spatial relationship confidence Cᵣ.

[0220] When performing the verification process, the lower bound L can eventually be reached. f The lower bound that can be reached is the one that is recalculated after verification; when no verification is required, the final lower bound L is the one that can be reached. f The reachable lower bound determined by the variable determination module.

[0221] When the final judgment result is boundary sensitive, or the relationship review status is "pending review" or "low confidence", a business judgment result requiring manual review is generated.

[0222] When the final determination result is boundary sensitive, the relationship calculation module sets the relationship review status of the current spatial relationship to "pending review" and does not change the relationship review status to "confirmed" based on the spatial relationship confidence level.

[0223] When the final judgment result is either certain to be true or certain to be false, if the spatial relationship confidence level Cᵣ is not less than the relationship confirmation threshold, the relationship review status is set to "confirmed"; if the spatial relationship confidence level Cᵣ is less than the relationship confirmation threshold but not less than the low confidence threshold, the relationship review status is set to "pending review"; if the spatial relationship confidence level Cᵣ is less than the low confidence threshold, the relationship review status is set to "low confidence".

[0224] Regardless of whether the relationship review status is "confirmed", "pending review" or "low confidence", the task management module generates intermediate records based on the object identifier to be analyzed, ontology instance identifier, final reachable lower bound, final reachable upper bound, preset relationship judgment threshold and final judgment result. The graph database storage module queries, creates or updates the spatial relationship edge from the first entity node to the second entity node based on the intermediate records.

[0225] The task management module writes the spatial relationship confidence level Cᵣ and relationship verification status as additional fields into the intermediate records; the graph database storage module writes the spatial relationship confidence level Cᵣ and relationship verification status as additional attributes into the spatial relationship edges. The spatial relationship confidence level and relationship verification status do not change the final reachable lower bound, final reachable upper bound, preset relationship judgment threshold, and final judgment result of the records in the spatial relationship edges.

[0226] In one alternative implementation, the relationship calculation module also generates composite business relationships based on the spatial relationship set, attribute relationship set, temporal relationship set, and business rule set.

[0227] The spatial relationship set is derived from the results of spatial topology calculation and candidate boundary interval analysis; the attribute relationship set is derived from the results of entity attribute comparison; the temporal relationship set is derived from the correspondence between entities in different time versions; and the business rule set is derived from the business rule configuration.

[0228] For example, when the final determination result between the construction project and the planning control unit is necessarily true, and the construction project's use code does not belong to the set of permitted uses of the planning control unit, a planning conflict business relationship is generated; when the final determination result is necessarily true and the construction project's use code belongs to the set of permitted uses, a use conformity business relationship is generated; when the final determination result is still boundary sensitive or the spatial relationship confidence is in the range to be reviewed, a business judgment result requiring manual review is generated.

[0229] The intermediate record may also include task identifier, task batch identifier, starting ontology, target ontology, starting layer, target layer, relationship type, topology index, spatial relationship confidence, relationship verification status, business judgment result, trigger rule, verification status, and continue running cursor.

[0230] The task management module generates intermediate records for the spatial relationships between the spatial objects to be analyzed and the target ontology instances.

[0231] Each intermediate record includes at least the record number, the identifier of the object to be analyzed, the identifier of the ontology instance, the final reachable lower bound, the final reachable upper bound, the preset relationship determination threshold, the final determination result, the write status, and the reason for failure.

[0232] The intermediate record may also include task identifier, task batch identifier, starting ontology, target ontology, starting layer, target layer, relationship type, topology index, spatial relationship confidence, business judgment result, trigger rule, verification status, and continue running cursor.

[0233] The task identifier is generated by the task management module when creating a relationship building task, and is used to uniquely identify this relationship building task; the task batch identifier is generated by the task management module according to the data batching results, and is used to distinguish different processing batches in the same task; the record sequence number is continuously assigned by the task management module according to the generation order of intermediate records, and is used to determine the writing order of intermediate records and the starting point for resuming execution after failure.

[0234] The write status of newly generated intermediate records is set to not written, and the failure reason is set to empty.

[0235] Let B be the batch parameter for writing to the graph database. w Batch parameter B is written to the graph database. w Derived from the build task configuration, it is used to limit the number of intermediate records submitted to the graph database each time.

[0236] The task management module reads records in ascending order of their sequence number and writes them to the graph database in batches, up to parameter B. w Intermediate records that are in an unwritten state are used to form the current write batch, and the current write batch is sent to the graph database storage module.

[0237] The graph database storage module uses the object identifier Q to be analyzed. id The query condition is to query entity nodes whose object identifier attribute value is equal to the object identifier to be analyzed. When a corresponding entity node is found, the found entity node is designated as the first entity node; when no corresponding entity node is found, the first entity node is created, and the object identifier to be analyzed is written into the object identifier attribute of the first entity node.

[0238] The graph database storage module is identified by an ontology instance I. o The query condition is used to find entity nodes whose ontology instance identifier attribute value is equal to the ontology instance identifier. If a corresponding entity node is found, the found entity node is designated as the second entity node; if no corresponding entity node is found, the second entity node is created, and the ontology instance identifier is written into the ontology instance identifier attribute of the second entity node.

[0239] The first entity node is used to represent the spatial object to be analyzed, and the second entity node is used to represent the spatial object corresponding to the target ontology instance.

[0240] The graph database storage module queries spatial relationship edges pointing from a first entity node to a second entity node. Query conditions must include at least the unique identifier of the first entity node, the unique identifier of the second entity node, and the spatial relationship type.

[0241] When a corresponding spatial relationship edge is found, the spatial relationship edge is updated; when no corresponding spatial relationship edge is found, a spatial relationship edge is created from the first entity node to the second entity node.

[0242] The graph database storage module will eventually reach the lower bound L. f Ultimately, it can reach the upper bound U. f Preset relationship determination threshold T r And the final judgment result Y f Write the spatial relationship edges.

[0243] The spatial relationship edge can also record the analysis task identifier, the number of candidate boundaries, the spatial relationship confidence level, the relationship verification status, the business judgment result, the verification status, the verification data source identifier, the task batch identifier, and the data version.

[0244] The querying, creation, and updating of entity nodes and spatial relationship edges can be achieved using the node matching, relationship matching, and attribute writing interfaces provided by the graph database. Those skilled in the art can write corresponding query statements according to the query syntax of the graph database used; this embodiment does not limit the specific graph database product or the form of the query statement.

[0245] The graph database storage module can also create relation type indexes, combined indexes of the starting ontology and the target ontology, combined indexes of layers, task batch indexes, and business unique identifier indexes.

[0246] After the graph database storage module completes the writing of the entity node and spatial relationship edge corresponding to an intermediate record, it returns the writing result to the construction task management module. The writing result includes at least the record sequence number, whether the writing was successful, and error information.

[0247] When the write operation is successful, the task management module updates the write status of the corresponding intermediate record to "written" and sets the failure reason to null.

[0248] When a write operation fails, the task management module maintains the write status of the corresponding intermediate record as not written and writes the error information returned by the graph database storage module as the reason for the failure.

[0249] The reasons for failure include database connection failure, missing entity identifier, unique constraint conflict, incorrect relation attribute format, permission verification failure, or transaction commit failure.

[0250] When a build task is abnormally stopped and restarted due to server shutdown, database connection interruption, or workflow node failure, the build task management module queries the intermediate record with the smallest sequence number and a write status of "not written," and continues processing from that intermediate record. Intermediate records with a write status of "written" are not sent to the graph database storage module again.

[0251] The algorithm and workflow orchestration module configures data preparation, ontology association, atomic partitioning, interval calculation, mutation determination, verification processing, intermediate record generation of relations, relation writing, result verification, graph analysis, ledger generation, and artificial intelligence-assisted analysis as workflow nodes.

[0252] Each workflow node includes at least the node identifier, node type, preceding node identifier, input data items, output data items, algorithm plugin identifier, execution status, error message, execution start time, and execution end time.

[0253] Each input and output data item includes a data item name, data type, and data item value.

[0254] The workflow node corresponding to the ontology association module outputs the target ontology instance, ontology instance identifier, candidate boundary set, and candidate boundary record.

[0255] The workflow node corresponding to the atomic partitioning module takes as input a set of candidate boundaries and candidate boundary records, and outputs atomic partitioning units, atomic partitioning unit identifiers, and belonging vectors.

[0256] The workflow node corresponding to the interval calculation module takes the region enclosed by the candidate boundary and the spatial object to be analyzed as input, and outputs the percentage of each intersecting area, the lower reachable bound, and the upper reachable bound.

[0257] The workflow node input for the mutation determination module is the percentage of intersection area, reachable lower bound, reachable upper bound, preset relationship determination threshold, and the affiliation vector of each atomic partition unit for each candidate boundary.

[0258] When the change determination module generates a determination result that is either necessarily true or necessarily false, it writes the current reachable lower bound into the output data item named "final reachable lower bound", writes the current reachable upper bound into the output data item named "final reachable upper bound", and writes the current determination result into the output data item named "final determination result".

[0259] When the mutation determination module generates a boundary-sensitive determination result, it outputs a data item named "Set of Minimal Mutagenic Units" and transmits this data item to the workflow node corresponding to the verification module. Before the verification module completes its execution, it does not output the final reachable lower bound, the final reachable upper bound, and the final determination result to the construction task management module.

[0260] The workflow node corresponding to the verification module takes into account the set of minimum mutating units, the original attribution vector of each atomic partition unit, the verification planar geometry object, and the preset verification attribution threshold. After the verification process is completed, the verified lower reachable bound is written to the output data item named "Final Reachable Lower Bound", the verified upper reachable bound is written to the output data item named "Final Reachable Upper Bound", and the updated judgment result is written to the output data item named "Final Judgment Result".

[0261] The workflow nodes corresponding to the task management module are configured with input data items named "Final Reachable Lower Bound", "Final Reachable Upper Bound", "Preset Relationship Judgment Threshold", "Final Judgment Result", "Identifier of Object to be Analyzed" and "Ontology Instance Identifier", and intermediate records are generated based on the input data items.

[0262] The workflow nodes corresponding to the atomic partitioning module, interval calculation module, mutation determination module, and verification module following the ontology association module all receive and output the object identifier to be analyzed, ontology instance identifier, and analysis task identifier as is. The object identifier to be analyzed, ontology instance identifier, and analysis task identifier serve as workflow context data and are not involved in the numerical calculation of intersection area ratio and verification attribution ratio. They are used to determine the attribution of intermediate records, the first entity node, the second entity node, and spatial relationship edges.

[0263] The workflow nodes corresponding to the graph database storage module take intermediate records as input and output the write results as output.

[0264] When the current workflow node executes successfully, the algorithm and workflow orchestration module reads the output data item of the current workflow node, queries the input data item with the same name and data type in the next workflow node, writes the output data item value into the corresponding input data item, and then starts the next workflow node.

[0265] When the mutation determination module generates boundary-sensitive determination results and determines the minimum mutation unit set, the algorithm and workflow orchestration module start the corresponding workflow node of the verification module.

[0266] When the change determination module generates a determination result that is either necessarily true or necessarily false, the algorithm and workflow orchestration module skips the workflow node corresponding to the verification module and passes the current reachable lower bound, the current reachable upper bound, and the current determination result to the construction task management module.

[0267] If there is no data item with the same name and data type between the output data item of the current workflow node and the input data item of the next workflow node, the next workflow node will not be started, the execution status of the current workflow node will be set to execution failure, and the error message of input and output data item mismatch will be recorded.

[0268] When any workflow node fails to execute, the algorithm and workflow orchestration module sets the execution status of the workflow node to failure, stops starting subsequent workflow nodes, and records the node identifier, error message, input parameter summary, execution start time and execution end time of the failed workflow node.

[0269] Relational computation algorithms can be encapsulated as algorithm plugins using Java programs, Python programs, script tasks, or service interfaces. After the algorithm plugins are registered with the algorithm and workflow orchestration module according to a unified input / output standard, they are invoked by the corresponding workflow nodes.

[0270] After the graph database completes the writing of entity nodes and relation edges, the system performs graph priority fusion analysis.

[0271] The business analysis workflow or AI-assisted analysis module first determines the target object, analysis type, data version, and permission identifier based on the analysis request, and then queries the graph database for entity nodes, relationship edges, relationship attributes, historical analysis results, and multi-hop paths.

[0272] When the graph database already contains relational edges or paths that meet the current data version and permission requirements, the system directly uses the relational data in the graph database to perform node queries, relational queries, multi-hop path analysis, upstream and downstream tracing, impact range analysis, and relational attribute aggregation, without repeatedly performing all spatial topology calculations of the original spatial layer.

[0273] In one alternative implementation, when the same analysis request corresponds to multiple candidate multi-hop paths, the system calculates the path impact score for each candidate path.

[0274] Any candidate path is denoted as Π h Candidate path Π h The results are derived from a graph database and are used to perform path queries from the starting entity to the target entity, specifying the relationship type and the maximum number of hops.

[0275] The path relationship type matching degree is derived from the matching ratio between the set of relationship types required by the current analysis task and the set of relationship types in the candidate path; the cumulative risk intensity is derived from the number and risk level of risky relationships, conflicting relationships or abnormal relationships in the candidate path; the data version freshness is derived from the time difference between the data version of the nodes and relationships involved in the candidate path and the version required by the current analysis task; the path hop count penalty is derived from the ratio of the number of relationship edges contained in the candidate path to the maximum allowed path hop count.

[0276] The path impact score weight and the maximum allowed path hop count are derived from the path impact score parameter configuration. The h-th candidate path is denoted as Π. h Candidate path Π h The relationship type matching degree is denoted as R. hThe cumulative risk intensity is denoted as F. h Data version freshness is denoted as V. h The path hop count penalty term is denoted as D. h All of the above items are normalized to 0 to 1.

[0277] Path Influence Rating S(Π) h ) Calculate according to the following formula: S(Π) h )=b1×R h +b2×F h +b3×V h -b4×D h .

[0278] Here, b1 to b4 represent the weights for path relationship type matching degree, cumulative risk intensity, data version freshness, and path hop count penalty, respectively, determined based on valid candidate paths confirmed in historical analysis tasks. Specifically, the differences between valid and invalid candidate paths on the above four indicators are compared. The greater the difference in an indicator, the more significant its distinguishing effect on candidate path selection, and the greater its corresponding weight. The four weights are then normalized so that b1 + b2 + b3 + b4 = 1.

[0279] For example, in one exemplary parameter configuration, based on the distinguishing effect of each indicator on the candidate path selection results in the historical analysis task, b1, b2, b3, and b4 can be set to 0.35, 0.30, 0.20, and 0.15, respectively. The above weight values ​​are only used to illustrate the specific setting method of the path influence scoring parameters and do not constitute a limitation on the actual values ​​of b1 to b4. The actual values ​​are determined based on the distinguishing effect of each indicator in the historical analysis task and written into the path influence scoring parameter configuration. Path hop count penalty item D h This is the ratio of the number of relational edges in a candidate path to the maximum allowed number of path hops; if the number of relational edges in a candidate path is greater than the maximum allowed number of path hops, the path will not be identified as a candidate path.

[0280] The system ranks candidate paths from highest to lowest based on their path impact score. When path impact scores are the same, the candidate path with fewer relational edges is prioritized. If the number of relational edges is still the same, the candidate paths are arranged lexicographically based on the sequence of unique node identifiers. The preset output quantity is derived from the path impact score parameter configuration.

[0281] The system ranks candidate paths from largest to smallest according to their path impact scores, and uses the candidate paths within the preset output quantity as the data basis for conflict attribution, risk warning, ledger generation, and artificial intelligence-assisted analysis.

[0282] When there are no relation edges, paths, or topological indicators in the graph database that satisfy the current analysis request, the algorithm and workflow orchestration module triggers a spatial topology rollback node.

[0283] The spatial topology fallback node reads spatial geometry objects from the original spatial layer, entity spatial references, or candidate boundary sets, and performs intersection, containment, coverage, distance, or buffer analysis.

[0284] When the rollback task involves inconsistent multi-source boundaries of the same spatial object, the process described in this embodiment is invoked, which includes candidate boundary set formation, candidate boundary superposition and segmentation, attribution vector generation, interval calculation, change determination, and verification.

[0285] After the rollback calculation is completed, the system writes the object identifier to be analyzed, ontology instance identifier, relationship type, data version, lower reachable bound, upper reachable bound, preset relationship judgment threshold, and final judgment result into the spatial relationship edge. In subsequent analysis requests, when the object identifier to be analyzed, ontology instance identifier, relationship type, and data version are all the same as the corresponding attributes in the spatial relationship edge, the system reads the lower reachable bound, upper reachable bound, and final judgment result from the spatial relationship edge, and no longer performs candidate boundary overlay segmentation and intersection area ratio calculation on the original spatial layer.

[0286] In one alternative implementation, the system also generates a business ledger based on the ledger generation configuration.

[0287] Each ledger configuration should include at least the ledger type, target ontology, filtering conditions, relationship path range, statistical indicator set, output fields, refresh cycle, responsible unit field, status transition rules, and export rules.

[0288] The target ontology originates from the ledger generation configuration and is used to determine the subject object corresponding to each ledger record; the filtering conditions are used to limit the entity nodes, relationship edges, or business judgment results entering the ledger; the relationship path range is used to limit the relationship types allowed to be queried starting from the target ontology and the maximum number of path hops; the statistical indicator set is used to specify the conflict area, change area, risk level, rule trigger count, or number of relationships to be calculated; the status transition rules are used to generate ledger statuses such as pending review, processing, confirmed, or completed.

[0289] The ledger generation workflow retrieves nodes, relationships, and paths from the graph database based on the target ontology, filtering conditions, and relational path range. It calculates ledger indicators based on the statistical indicator set and generates project conflict ledgers, planning compliance ledgers, historical change ledgers, regulatory object ledgers, or risk issue ledgers according to the output fields.

[0290] In one optional implementation, the AI-assisted analysis module invokes a map query tool, a spatial calculation tool, a ledger retrieval tool, and a business rule verification tool through a standardized tool invocation protocol. The standardized tool invocation protocol can be one that includes tool descriptions, input parameter constraints, access control, and result return capabilities.

[0291] Each tool configuration should include at least the tool name, protocol type, call permissions, input parameter constraints, accessible ontology scope, accessible relation scope, return field scope, call log configuration, and result traceability identifier.

[0292] The AI-assisted analysis module verifies the current user's or task's permission identifier before calling the tool, allowing access only to ontologies, relationships, and attributes within the authorized scope.

[0293] After each tool call, the system generates a data evidence package. The data evidence package includes at least the tool name, input parameters, return result, basis node, basis relationship, basis path, ledger record, trigger rule, call time, permission identifier, and result traceability identifier.

[0294] The inputs to the AI-assisted analysis module include at least the target object, the set of related entities, the set of relation edges, the set of multi-hop paths, topological indicators, business rules, historical analysis results, ledger records, and the current task context.

[0295] The output of the AI-assisted analysis module should include at least the analysis conclusion, risk level, conflict type, basis node, basis relationship, basis path, triggering rule, suggested action, and a mark indicating whether manual review is required.

[0296] Before outputting each analysis conclusion, the AI-assisted analysis module checks whether the analysis conclusion can be associated with at least one data evidence package, and checks whether the returned results, nodes, relationships, paths or rules in the data evidence package can support the corresponding analysis conclusion.

[0297] If the data evidence package cannot be linked, or if the data in the data evidence package is insufficient to support the corresponding analysis conclusion, the analysis conclusion will be marked as a low-confidence conclusion or will be entered into a manual review process. It will not be directly output as a confirmed conclusion.

[0298] The system performs anomaly and boundary handling in each of the above processing stages. For data with inconsistent coordinate systems, coordinate transformation is performed first; if the source coordinate system cannot be determined or the coordinate transformation fails, the corresponding record is marked as pending data. For data with invalid geometry, empty geometry, or failed topology calculations, the reason for the anomaly is recorded, and the system proceeds to repair, skip, or manual review based on the anomaly type. For data with missing field mappings, the construction of the corresponding ontology instance is paused, and a configuration item is generated. For data with no available path in the graph database, spatial topology rollback is triggered. When the final judgment result is boundary sensitive, the relationship review status is set to "pending review"; when the final judgment result is necessarily true or necessarily false, the relationship review status is set to "confirmed," "pending review," or "low confidence" based on the comparison result of the spatial relationship confidence level with the relationship confirmation threshold and low confidence threshold. Regardless of the relationship review status, intermediate records are generated, and spatial relationship edges are created or updated. For batches where relationship writing fails, incomplete records are processed based on the task batch identifier, failure reason, and record sequence number.

[0299] Therefore, this embodiment sequentially completes the following steps: multi-source data access, semantic ontology establishment, field mapping, entity extraction and transformation, ontology instance association, candidate boundary set formation, entity node construction, unified relationship modeling, candidate boundary atomization segmentation, attribution vector generation, spatial relationship interval calculation, boundary sensitivity determination, minimum variable unit set determination, local attribution verification, spatial relationship confidence determination, composite business relationship generation, intermediate record storage, batch writing, failure continuation, graph priority analysis, spatial topology rollback, ledger generation, and traceable AI-assisted analysis.

[0300] Example 2 Please see Figures 2 to 5 This embodiment uses the construction of spatial relationship between construction project land and planning control area, determination of planning conflict, generation of planning compliance ledger and artificial intelligence-assisted analysis as examples to illustrate the specific operation process of the system described in Embodiment 1.

[0301] To facilitate the explanation of the processing procedure in this embodiment, a set of example data and example parameters are provided below. These example data and parameters are only used to illustrate the data transfer, calculation, and decision relationships between each processing step. In actual applications, they can be configured according to data precision, business rules, spatial object types, and system processing capabilities, and do not constitute a limitation on the values ​​of the corresponding data and parameters.

[0302] The system connects to project reserve data sources, project approval data sources, remote sensing monitoring data sources, planning and control data sources, historical approval data sources, and independent verification data sources.

[0303] The data source identifier for the project reserve data source is "DS01", which provides information on the reserve of construction projects and the scope of project applications; the data source identifier for the project approval data source is "DS02", which provides the attributes and scope of the approved projects; the data source identifier for the remote sensing monitoring data source is "DS03", which provides the actual scope of the construction projects identified by remote sensing monitoring; the data source identifier for the planning and control data source is "DS04", which provides the spatial scope, permitted use set, and control rules of the planning and control unit; the data source identifier for the historical approval data source is "DS05", which provides the approval items, approval time, and approval conditions; and the data source identifier for the independent verification data source is "DS06", which provides the legal boundary results or surveying and mapping verification results that did not participate in the formation of the candidate boundary set.

[0304] The primary key field for the project reserve data source is “RESERVE_ID”, the source object identifier field is “PROJECT_CODE”, and the spatial field is “RESERVE_GEOMETRY”; the primary key field for the project approval data source is “APPROVAL_ID”, the source object identifier field is “APPROVAL_PROJECT_NO”, and the spatial field is “APPROVAL_GEOMETRY”; the primary key field for the remote sensing monitoring data source is “MONITOR_ID”, the source object identifier field is “MONITOR_OBJECT_CODE”, and the spatial field is “MONITOR_GEOMETRY”.

[0305] The primary key field for the planning and control data source is “CONTROL_ID”, the identifier field for the object to be analyzed is “CONTROL_CODE”, the spatial field for the object to be analyzed is “CONTROL_GEOMETRY”, and the allowed usage field is “ALLOW_USE_SET”.

[0306] The primary key field for the independent verification data source is "VERIFY_ID", the verification object identifier field is "VERIFY_PROJECT_CODE", the verification space field is "VERIFY_GEOMETRY", and the verification time field is "VERIFY_TIME".

[0307] The data source management module reads the data source identifier, data table identifier, layer identifier, coordinate system identifier, primary key field, spatial field, time version, and access permission identifier of the above data sources to form the corresponding data source metadata.

[0308] The ontology modeling module establishes ontology types for construction projects, ontology types for planning and control units, and ontology types for approval items.

[0309] The project ontology type includes project object identifier attribute, project name attribute, project use code attribute, project status attribute, time version attribute, spatial data reference attribute, and dynamic extended attribute container; the planning control unit ontology type includes control unit object identifier attribute, control type attribute, permitted use set attribute, data version attribute, and spatial data reference attribute; the approval item ontology type includes approval item identifier attribute, approval type attribute, approval time attribute, and approval result attribute.

[0310] The field mapping module uses “PROJECT_CODE”, “APPROVAL_PROJECT_NO”, and “MONITOR_OBJECT_CODE” as source object identifier fields for three construction project data sources, and maps the three source object identifier fields together to the project object identifier attribute of the construction project ontology type.

[0311] Taking the field matching between "PROJECT_CODE" and the project object identifier attribute as an example, the field mapping module performs standardized word segmentation on "PROJECT_CODE" and the project object identifier attribute name, and calculates the field name similarity according to the intersection-union ratio of the standardized word set; the data type of the source field "PROJECT_CODE" and the data type of the project object identifier attribute are both character type, so the data type consistency is set to 1; the number of samples in the non-empty samples of "PROJECT_CODE" that can be converted into standard project codes according to the project code dictionary conversion rules is counted, and the ratio of this number to the total number of non-empty samples is used as the dictionary value matching degree; the field value distribution similarity is calculated according to the null value ratio similarity, unique value ratio similarity and distribution similarity described in Example 1; the data table name, layer name, adjacent field name and construction project ontology type name are input into the preset text semantic model, and the context semantic consistency is calculated according to the output semantic vector.

[0312] The field mapping module obtains the semantic matching score between "PROJECT_CODE" and the project object identifier attribute according to the semantic matching score calculation method described in Example 1, and compares the semantic matching score with the field mapping threshold.

[0313] When the semantic matching score is not less than the field mapping threshold, a candidate mapping relationship from "PROJECT_CODE" to the project object identifier attribute is generated, and after confirmation by the system configuration personnel, it is written into the effective field mapping rule.

[0314] “APPROVAL_PROJECT_NO” and “MONITOR_OBJECT_CODE” are matched in the same way, and after the corresponding semantic matching score reaches the field mapping threshold, they are mapped to the project object identifier attribute.

[0315] The field mapping rules also stipulate that the values ​​of the three source object identifier fields be converted to character type, leading and trailing spaces are removed, English letters are uniformly converted to uppercase, and different types of connectors are standardized.

[0316] The map building engine reads a multi-source record describing the same construction project from the project reserve data source, the project approval data source, and the remote sensing monitoring data source.

[0317] The primary key field value of the project reserve record is “RSV-2026-015”, the original value of the source object identifier field is “XM-2026-0015”, and the spatial field stores the first planar geometric object.

[0318] The primary key field value of the project approval record is “APR-2026-287”, the original value of the source object identifier field is “xm-2026-0015”, and the spatial field stores the second-face geometric object.

[0319] The primary key field value of the remote sensing monitoring record is “MON-2026-063”, the original value of the source object identifier field is “XM-2026-0015”, and the spatial field stores the third-face geometric object.

[0320] The ontology association module processes the original values ​​of the three source object identifier fields according to the field mapping rules. After processing, the source object identifier field values ​​corresponding to the three multi-source records are all "XM-2026-0015".

[0321] The ontology association module determines that the preset semantic ontology type for all three multi-source records is "construction project" based on the data source identifier and layer identifier query field mapping rules corresponding to the three multi-source records.

[0322] Since the three multi-source records have the same preset semantic ontology type and the same source object identifier field value, the ontology association module groups the three multi-source records into the same record group.

[0323] The ontology association module uses the preset semantic ontology type "construction project" and the source object identifier field value "XM-2026-0015" as query conditions to query the corresponding ontology instance.

[0324] In this embodiment, the system did not find any existing ontology instance that simultaneously meets the above conditions. Therefore, the ontology association module creates a target ontology instance, sets the ontology type of the target ontology instance to "construction project", assigns the ontology instance identifier "ONTO-PROJECT-000015" to the target ontology instance, and writes "XM-2026-0015" into the ontology object identifier attribute of the target ontology instance.

[0325] The project name, project purpose code, and project status in the project reserve data source are written into the fixed attributes of the construction project ontology instance; the approval batch and applicant unit in the project approval data source are not configured as fixed attributes, but are written into the dynamic extended attribute container; the identification confidence level and monitoring period in the remote sensing monitoring data source are also written into the dynamic extended attribute container.

[0326] The ontology association module establishes source associations between the target ontology instance and three multi-source records. The three source associations record the ontology instance identifier "ONTO-PROJECT-000015", the corresponding data source identifier, the primary key field value of the corresponding multi-source record, and the time version, respectively.

[0327] The ontology association module reads the first planar geometric object, the second planar geometric object, and the third planar geometric object from three spatial fields, and performs a geometric validity check on the three planar geometric objects.

[0328] All three planar geometric objects are polygons or multi-polygons, and after inspection or repair, they all meet the conditions of closed boundaries, no unprocessed self-intersections, and an area greater than zero.

[0329] The ontology association module extracts the boundaries of three valid planar geometric objects to form a first candidate boundary, a second candidate boundary, and a third candidate boundary. The regions represented by the three valid planar geometric objects are respectively defined as the regions enclosed by the first candidate boundary, the second candidate boundary, and the third candidate boundary.

[0330] The first candidate boundary corresponds to the data source identifier "DS01", the second candidate boundary corresponds to the data source identifier "DS02", and the third candidate boundary corresponds to the data source identifier "DS03". The three candidate boundaries together constitute the candidate boundary set corresponding to the target ontology instance.

[0331] The ontology association module does not perform geometric mean, direct intersection, or direct union on the three candidate boundaries. Instead, it preserves the three candidate boundaries and their correspondence with the data source identifier, multi-source record identifier, and time version.

[0332] The graph construction engine generates project entity node data based on the target ontology instance. The unique identifier of the entity node data is "ONTO-PROJECT-000015", the basic tag is "entity node", the dynamic business tag is "construction project", and the project object identifier attribute value is "XM-2026-0015".

[0333] The system reads the spatial objects to be analyzed from the planning and control data source. The spatial objects to be analyzed are the planning and control areas corresponding to the object identifier "CONTROL-2026-0008". Their planar geometric objects are obtained from the "CONTROL_GEOMETRY" field, and their permitted usage set is obtained from the "ALLOW_USE_SET" field.

[0334] The project use code for the construction project is "industrial production land", and the permitted use set of the planning control unit includes "warehousing land" and "logistics land".

[0335] The system defines a spatial relationship model between the project ontology type and the planning control unit ontology type. It identifies the planar geometric objects of the planning control area as the spatial objects to be analyzed, and identifies the areas enclosed by the first, second, and third candidate boundaries associated with the project target ontology instance as the calculation objects for the proportion of intersecting areas. The proportion of intersecting areas is then defined as a spatial relationship indicator.

[0336] In this embodiment, the preset relationship determination threshold is set to 0.30, the unified projection coordinate system is set to the projection coordinate system corresponding to the area where the construction project is located, the minimum effective intersection area is set to 10 square meters, the minimum effective atomic partition area is set to 1 square meter, the verification data source identifier is set to "DS06", and the preset verification affiliation threshold is set to 0.50.

[0337] The atomic partitioning module arranges the three candidate boundaries in ascending order according to the data source identifier. The candidate boundary corresponding to the data source identifier "DS01" is assigned candidate boundary number 1, the candidate boundary corresponding to the data source identifier "DS02" is assigned candidate boundary number 2, and the candidate boundary corresponding to the data source identifier "DS03" is assigned candidate boundary number 3.

[0338] The atomic partitioning module transforms the three candidate boundaries and their enclosed regions to a unified projected coordinate system and performs superposition segmentation on the three candidate boundaries.

[0339] The atomic partitioning module calculates the intersection points, coincident line segments, and endpoints of the coincident line segments between the three candidate boundaries, performs nodeization and line segmentation at the corresponding positions, constructs a planar mesh using the segmented boundary line segments, and performs surface processing.

[0340] In this embodiment, the number of candidate boundaries is 3, which is greater than 1. Therefore, the processing is performed according to the multi-candidate boundary superposition and segmentation method described in Embodiment 1. Each atomic partition unit obtained by the surface processing is not crossed by any candidate boundary, and the union of all atomic partition units is equal to the union of the regions enclosed by the three candidate boundaries. This embodiment does not merge atomic partition units with smaller areas that cross candidate boundaries.

[0341] In this embodiment, the atomic partitioning module forms a total of nine atomic partitioning units. The atomic partitioning module assigns atomic partitioning unit identifiers to the nine atomic partitioning units according to the generation order, and records the planar geometry and area of ​​each atomic partitioning unit.

[0342] Of the nine atomic partition units, five have areal intersections with the planned control area with an area greater than 10 square meters. For ease of explanation, these are referred to as the first atomic partition unit, the second atomic partition unit, the third atomic partition unit, the fourth atomic partition unit, and the fifth atomic partition unit, respectively.

[0343] The atomic partitioning module generates detection points within the five atomic partitioning units and determines whether each detection point is located within the area enclosed by the three candidate boundaries.

[0344] The detection point of the first atomic partition unit is located within the region enclosed by the three candidate boundaries, therefore, its belonging vector is (1, 1, 1).

[0345] The detection point of the second atomic partition unit is located within the area enclosed by the first and second candidate boundaries, but outside the area enclosed by the third candidate boundary. Therefore, its belonging vector is (1, 1, 0).

[0346] The detection point of the third atomic partition unit is located within the area enclosed by the second and third candidate boundaries, but outside the area enclosed by the first candidate boundary. Therefore, its belonging vector is (0, 1, 1).

[0347] The detection point of the fourth atomic partition unit is located only within the region enclosed by the third candidate boundary. Therefore, its belonging vector is (0, 0, 1).

[0348] The detection point of the fifth atomic partition unit is located within the region enclosed by the first and third candidate boundaries, but outside the region enclosed by the second candidate boundary. Therefore, its belonging vector is (1, 0, 1).

[0349] The intersection area between the first atomic zoning unit and the planning and control area is 23,000 square meters; the intersection area between the second atomic zoning unit and the planning and control area is 1,000 square meters; the intersection area between the third atomic zoning unit and the planning and control area is 4,000 square meters; the intersection area between the fourth atomic zoning unit and the planning and control area is 1,000 square meters; and the intersection area between the fifth atomic zoning unit and the planning and control area is 3,000 square meters.

[0350] The area of ​​the planar geometric objects within the controlled area is 100,000 square meters.

[0351] Based on the affiliation vector of each atomic partition unit, the first candidate boundary includes the first atomic partition unit, the second atomic partition unit, and the fifth atomic partition unit. Therefore, the intersection area between the area enclosed by the first candidate boundary and the planning and control area is 27,000 square meters, and the corresponding intersection area ratio is 0.27.

[0352] The second candidate boundary includes the first atomic partition unit, the second atomic partition unit, and the third atomic partition unit. Therefore, the area enclosed by the second candidate boundary and the planned control area intersects with 28,000 square meters, and the corresponding intersection area ratio is 0.28.

[0353] The third candidate boundary includes the first atomic partition unit, the third atomic partition unit, the fourth atomic partition unit, and the fifth atomic partition unit. Therefore, the area of ​​intersection between the area enclosed by the third candidate boundary and the planning control area is 31,000 square meters, and the corresponding intersection area ratio is 0.31.

[0354] The interval calculation module determines the minimum value of the three intersecting area ratios, 0.27, as the reachable lower bound and the maximum value of the ratio, 0.31, as the reachable upper bound.

[0355] The mutation determination module compares the reachable lower bound of 0.27 and the reachable upper bound of 0.31 with the preset relationship determination threshold of 0.30.

[0356] Since the lower bound of 0.27 is less than the preset relationship determination threshold of 0.30, and the upper bound of 0.31 is not less than the preset relationship determination threshold of 0.30, the change determination module generates a boundary-sensitive determination result.

[0357] The mutation determination module identifies the first and second candidate boundaries with an intersection area ratio of less than 0.30 as candidate boundaries to be mutated, and the third candidate boundary with an upper limit of 0.31 as the baseline candidate boundary.

[0358] The mutation determination module checks each of the five atomic partition units to see if it meets the screening criteria for the disputed atomic partition units.

[0359] The first atomic partition unit has a value of 1 in the vector bits corresponding to the three candidate boundaries. Therefore, it does not belong to the disputed atomic partition unit.

[0360] The second atomic partition unit has a value of 0 in the third vector bit corresponding to the baseline candidate boundary, therefore, it does not belong to the disputed atomic partition unit.

[0361] The third atomic partition unit has a home vector of (0, 1, 1), and its intersection area with the planning and control area is 4000 square meters, which is greater than the minimum effective intersection area. Furthermore, its value is 1 at the vector position corresponding to the benchmark candidate boundary and 0 at the vector position corresponding to the first candidate boundary to be changed. Therefore, the third atomic partition unit is determined as the disputed atomic partition unit.

[0362] The fourth atomic partition unit has a home vector of (0, 0, 1), and its intersection area with the planning and control area is 1000 square meters, which is greater than the minimum effective intersection area. Furthermore, its value is 1 at the vector position corresponding to the baseline candidate boundary and 0 at the vector positions corresponding to the two candidate boundaries to be changed. Therefore, the fourth atomic partition unit is determined as the disputed atomic partition unit.

[0363] The fifth atomic partition unit has a home vector of (1, 0, 1), and its intersection area with the planning and control area is 3000 square meters, which is greater than the minimum effective intersection area. Furthermore, its value is 1 at the vector position corresponding to the baseline candidate boundary and 0 at the vector position corresponding to the second candidate boundary to be changed. Therefore, the fifth atomic partition unit is determined as the disputed atomic partition unit.

[0364] The mutation determination module first generates a combination containing only one disputed atomic partition unit.

[0365] When only the third atomic partition unit is adjusted, the 0 in the vector bit corresponding to the first candidate boundary is changed to 1. After the adjustment, the intersection area ratio corresponding to the first candidate boundary changes from 0.27 to 0.31, the intersection area ratio corresponding to the second candidate boundary remains 0.28, and the intersection area ratio corresponding to the third candidate boundary remains 0.31. The lower bound of the recalculated reachable value is 0.28. Therefore, this combination is not a feasible combination.

[0366] When only the fourth atomic partitioning unit is adjusted, all 0s in the corresponding vector bits of the first and second candidate boundaries are changed to 1. After the adjustment, the intersection area ratio corresponding to the first candidate boundary changes from 0.27 to 0.28, the intersection area ratio corresponding to the second candidate boundary changes from 0.28 to 0.29, and the intersection area ratio corresponding to the third candidate boundary remains at 0.31. The recalculated lower bound is 0.28. Therefore, this combination is not a feasible combination.

[0367] When only the fifth atomic partition unit is adjusted, the 0 in the vector bit corresponding to the second candidate boundary is changed to 1. After the adjustment, the intersection area ratio corresponding to the first candidate boundary is still 0.27, the intersection area ratio corresponding to the second candidate boundary changes from 0.28 to 0.31, and the intersection area ratio corresponding to the third candidate boundary is still 0.31. The recalculated lower bound is 0.27. Therefore, this combination is not a feasible combination.

[0368] Since there is no feasible combination containing only one disputed atomic partition unit, the mutation determination module continues to generate combinations containing two disputed atomic partition units.

[0369] When the third and fourth atomic partition units are adjusted simultaneously, the proportion of the intersection area corresponding to the first candidate boundary changes from 0.27 to 0.32, the proportion of the intersection area corresponding to the second candidate boundary changes from 0.28 to 0.29, and the proportion of the intersection area corresponding to the third candidate boundary remains at 0.31. The lower bound that can be reached by recalculation is 0.29. Therefore, this combination is not a feasible combination.

[0370] When adjusting the third and fifth atomic partition units, the proportion of the intersection area corresponding to the first candidate boundary changes from 0.27 to 0.31, the proportion of the intersection area corresponding to the second candidate boundary changes from 0.28 to 0.31, and the proportion of the intersection area corresponding to the third candidate boundary remains at 0.31. The lower bound that can be reached by recalculation is 0.31. Therefore, this combination is a feasible combination.

[0371] When the fourth and fifth atomic partition units are adjusted simultaneously, the proportion of the intersection area corresponding to the first candidate boundary changes from 0.27 to 0.28, the proportion of the intersection area corresponding to the second candidate boundary changes from 0.28 to 0.32, and the proportion of the intersection area corresponding to the third candidate boundary remains at 0.31. The lower bound that can be reached by recalculation is 0.28. Therefore, this combination is not a feasible combination.

[0372] Therefore, only the combination of the third atomic partition unit and the fifth atomic partition unit satisfies the condition that the recalculated reachable lower bound is not less than the preset relation determination threshold, and there is no feasible combination containing only one disputed atomic partition unit. Therefore, the mutation determination module determines the combination of the third atomic partition unit and the fifth atomic partition unit as the minimum mutation unit set.

[0373] The above combined trial calculation is only used to determine the atomic partitioning units that need to be checked, and does not directly change the original assignment vectors of the third and fifth atomic partitioning units.

[0374] The verification module connects to the independent verification data source based on the verification data source identifier "DS06", and uses the ontology object identifier attribute value "XM-2026-0015" of the target ontology instance as the query value to query the verification records with the same verification object identifier field value from the independent verification data source.

[0375] Since the verification data source identifier "DS06" is different from the data source identifiers "DS01", "DS02" and "DS03" corresponding to the three candidate boundaries, it is determined that the independent verification data source did not participate in the formation of the candidate boundary set.

[0376] The verification module reads the verification planar geometric objects from the verification records that meet the conditions and converts them to a unified projection coordinate system. Upon inspection, the geometric type of the verification planar geometric object is a polygon, with all outer and inner loops closed, no unnode-defined self-intersections, no intersections between outer and inner loops, no intersections between inner loops, and the area of ​​the verification planar geometric object is greater than 0. Therefore, the verification planar geometric object is determined to be a valid verification planar geometric object.

[0377] The area of ​​the third atomic partition unit is 5000 square meters, and the intersection area between it and the check surface geometric object is 4500 square meters. Therefore, the check assignment ratio of the third atomic partition unit is 0.90.

[0378] Since 0.90 is not less than the preset verification threshold of 0.50, the verification module determines that the third atomic partition unit belongs to the spatial range corresponding to the target ontology instance, and corrects the belonging vector of the third atomic partition unit from (0, 1, 1) to (1, 1, 1).

[0379] The area of ​​the fifth atomic partition unit is 3500 square meters, and the intersection area between it and the check surface geometric object is 3150 square meters. Therefore, the check assignment ratio of the fifth atomic partition unit is 0.90.

[0380] Since 0.90 is not less than the preset verification threshold of 0.50, the verification module determines that the fifth atomic partition unit belongs to the spatial range corresponding to the target ontology instance, and corrects the belonging vector of the fifth atomic partition unit from (1, 0, 1) to (1, 1, 1).

[0381] The fourth atomic partition unit does not belong to the set of minimally mutating units; therefore, its attribution vector remains (0, 0, 1). All atomic partition units except the third and fifth atomic partition units do not belong to the set of minimally mutating units, and the verification module retains the original attribution vectors of these atomic partition units unchanged.

[0382] The verification module reconstructs the region enclosed by the three candidate boundaries based on the corrected or retained attribution vectors.

[0383] After the belonging vector of the third atomic partition unit is corrected from (0, 1, 1) to (1, 1, 1), the first vector bit corresponding to the third atomic partition unit at the first candidate boundary changes from 0 to 1. The verification module performs a spatial union operation on the first, second, third, and fifth atomic partition units with a first vector bit of 1 to obtain the area enclosed by the reconstructed first candidate boundary. The sum of the intersection areas of the four atomic partition units and the planning and control area is 23000 + 1000 + 4000 + 3000 = 31000 square meters. Therefore, the proportion of the intersection area corresponding to the area enclosed by the reconstructed first candidate boundary is 31000 / 100000 = 0.31.

[0384] After the belonging vector of the fifth atomic partition unit is corrected from (1, 0, 1) to (1, 1, 1), the second vector bit corresponding to the second candidate boundary of the fifth atomic partition unit changes from 0 to 1. The verification module performs a spatial union operation on the first, second, third, and fifth atomic partition units with the second vector bit set to 1 to obtain the area enclosed by the reconstructed second candidate boundary. The sum of the intersection areas of the four atomic partition units and the planning and control area is 23000 + 1000 + 4000 + 3000 = 31000 square meters. Therefore, the proportion of the intersection area corresponding to the area enclosed by the reconstructed second candidate boundary is 31000 / 100000 = 0.31.

[0385] The third candidate boundary already includes the third atomic partition unit and the fifth atomic partition unit. Therefore, its intersection area with the planned control area is still 31,000 square meters, and the corresponding intersection area ratio is still 0.31.

[0386] The verification module determines the minimum value of the three recalculated intersection area percentages, 0.31, as the final reachable lower bound, and the maximum value of 0.31 as the final reachable upper bound.

[0387] Since the final reachable lower bound of 0.31 is not less than the preset relationship judgment threshold of 0.30, the verification module determines the final judgment result as necessarily true.

[0388] In one alternative implementation, the relationship calculation module further calculates the spatial relationship confidence level of the spatial relationship.

[0389] The relationship calculation module determines the average intersection-union ratio, geometric validity and boundary consistency score, data time version consistency score and error penalty item based on the planar geometric objects in the control area, the area enclosed by the first reconstructed candidate boundary, the area enclosed by the second reconstructed candidate boundary, the area enclosed by the third reconstructed candidate boundary, the geometric validity check results of the three candidate boundaries, the boundary differences between the candidate boundaries, the time version of the spatial object to be analyzed and each candidate boundary, as well as the coordinate transformation deviation, geometric repair times and the area ratio of micro-atomic partition units in this processing.

[0390] The relationship calculation module calculates the intersection-union ratios of the planar geometric objects in the planning and control area with the areas enclosed by the first, second, and third reconstructed candidate boundaries, and determines the arithmetic mean of the three intersection-union ratios as the average spatial relationship intersection-union ratio Jᵣ.

[0391] In this embodiment, the average intersection-union ratio Jᵣ of the spatial relationship is 0.2403, and it can eventually reach the lower bound L. f The score is 0.31, the geometric validity and boundary consistency score Gᵣ is 0.98, the data time version consistency score Vᵣ is 0.95, and the error penalty term Eᵣ is 0.02.

[0392] The weights for the spatial relation average intersection-union ratio, the ultimate reachable lower bound, the geometric validity and boundary consistency scores, and the data temporal version consistency score are 0.20, 0.30, 0.25, and 0.25, respectively, while the weight for the error penalty term is 0.10. These weights are derived from the relation confidence parameter configuration corresponding to this spatial relation calculation task.

[0393] The relationship calculation module performs the calculation according to the spatial relationship confidence calculation formula disclosed in Example 1: Cᵣ=0.20×0.2403+0.30×0.31+0.25×0.98+0.25×0.95-0.10×0.02=0.62156.

[0394] In this embodiment, the relationship confirmation threshold is 0.60, and the low confidence threshold is 0.40. Since the final judgment result is "certainly true", and the spatial relationship confidence level of 0.62156 is not less than the relationship confirmation threshold of 0.60, the relationship calculation module sets the relationship verification status of the current spatial relationship to "confirmed".

[0395] The task management module generates intermediate records based on the object identifier "CONTROL-2026-0008", the ontology instance identifier "ONTO-PROJECT-000015", the final reachable lower bound 0.31, the final reachable upper bound 0.31, the preset relationship judgment threshold 0.30, and the final judgment result "must be true". The spatial relationship confidence level 0.62156 and the relationship verification status "confirmed" are written as additional fields into the intermediate records.

[0396] The graph database storage module creates or updates spatial relationship edges based on the intermediate records, and writes the spatial relationship confidence level of 0.62156 and the relationship verification status "confirmed" as additional attributes to the spatial relationship edges. The spatial relationship confidence level and relationship verification status are not used as the criteria for determining whether to generate intermediate records or whether to create or update spatial relationship edges.

[0397] In one alternative implementation, the relationship calculation module continues to perform the determination of complex business relationships.

[0398] Since the final determination between the construction project and the planning control unit is necessarily true, and the construction project's use code "industrial production land" does not belong to the planning control unit's permitted use set "warehousing land, logistics land", the relationship calculation module generates planning conflict business relationships.

[0399] The planning conflict business relationship record includes the conflict type "use conflict", the identifier of the object to be analyzed "CONTROL-2026-0008", the ontology instance identifier "ONTO-PROJECT-000015", the lower bound of the final reachability 0.31, the upper bound of the final reachability 0.31, the project use code, the set of allowed uses, the spatial relationship confidence level 0.62156, the relationship review status "confirmed", and the trigger rule number.

[0400] The task management module generates an intermediate record based on the spatial relationship calculation results mentioned above.

[0401] The intermediate record has the record number "000738", the object to be analyzed is identified as "CONTROL-2026-0008", the ontology instance is identified as "ONTO-PROJECT-000015", the lower bound is 0.31, the upper bound is 0.31, the preset relationship determination threshold is 0.30, the final determination result is "certainly true", the write status is "not written", and the failure reason is empty.

[0402] The intermediate record also records the analysis task identifier, task batch identifier, starting ontology "planning and control unit", target ontology "construction project", starting layer, target layer, spatial relationship type, spatial relationship confidence level 0.62156, relationship review status "confirmed", business judgment result "planning conflict", trigger rule number and verification status "verified".

[0403] The graph database storage module queries the entity node using the object identifier "CONTROL-2026-0008" to be analyzed. In this embodiment, the planning and control unit entity node with the object identifier attribute value "CONTROL-2026-0008" already exists in the graph database. Therefore, the queried entity node is determined as the first entity node.

[0404] The graph database storage module queries entity nodes using the ontology instance identifier "ONTO-PROJECT-000015". In this embodiment, there is no entity node in the graph database with the ontology instance identifier attribute value "ONTO-PROJECT-000015". Therefore, a second entity node is created and the ontology instance identifier, ontology type "construction project", and ontology object identifier attribute value "XM-2026-0015" are written to it.

[0405] The graph database storage module queries spatial relationship edges pointing from the first entity node to the second entity node. In this embodiment, no existing spatial relationship edges that meet the conditions are found; therefore, spatial relationship edges pointing from the first entity node to the second entity node are created.

[0406] The graph database storage module writes the final reachable lower bound (0.31), the final reachable upper bound (0.31), the preset relationship judgment threshold (0.30), and the final judgment result "must be true" into the spatial relationship edge. It also writes the candidate boundary number (3), the verification status "verified", the verification data source identifier "DS06", the spatial relationship confidence level (0.62156), the relationship review status "confirmed", and the data version as additional attributes into the spatial relationship edge.

[0407] When generating planning conflict business relationships, the graph database storage module also creates planning conflict relationship edges and writes the conflict type, project usage code, allowed usage set, and trigger rule number.

[0408] The analysis task in this embodiment generates a total of 1200 intermediate records, and the batch write parameter for the graph database is set to 500.

[0409] The task management module is constructed in ascending order of record number. Records with sequence numbers 1 to 500 that have not been written are formed into the first write batch, records with sequence numbers 501 to 1000 that have not been written are formed into the second write batch, and records with sequence numbers 1001 to 1200 that have not been written are formed into the third write batch.

[0410] During the execution of the second write batch, the intermediate record corresponding to record number "000738" failed to be written due to a transaction commit timeout. The graph database storage module returned record number "000738", write failure, and error message "transaction commit timeout" to the build task management module.

[0411] The task management module maintains the write status of the intermediate record corresponding to the record number "000738" as "not written", sets the failure reason to "transaction commit timeout", and records the write failure time.

[0412] For each intermediate record in the second write batch, except for record number "000738", and for which the graph database storage module returns a successful write result, the task management module updates the write status of the corresponding intermediate record to "written" and sets the failure reason to empty.

[0413] When the build task is re-executed, the build task management module queries the intermediate record with the smallest record number and the write status is "not written", and continues processing from the record number "000738".

[0414] The graph database storage module re-queries the first entity node with the object identifier attribute value of "CONTROL-2026-0008", the second entity node with the ontology instance identifier attribute value of "ONTO-PROJECT-000015", and the spatial relationship edge pointing from the first entity node to the second entity node, whose spatial relationship type is the same as the spatial relationship type in the current intermediate record. After finding the corresponding entity node and spatial relationship edge, it performs spatial relationship edge attribute update, without creating duplicate entity nodes or spatial relationship edges.

[0415] After a successful rewrite, the task management module will update the write status of the intermediate record corresponding to the record number "000738" to "written" and clear the reason for failure.

[0416] In one alternative implementation, after the spatial relationship edges and planning conflict business relationship edges are written, the system configures the planning compliance ledger.

[0417] The target entity of the planning compliance ledger is the construction project. The screening criteria are the business relationships that conflict with the planning. The relationship path range is from the construction project node to the planning control unit node. The statistical indicators include the final reachable lower bound, the final reachable upper bound, the spatial relationship confidence, the intersecting area, the conflict type and the triggering rules. The status flow rules include pending review, in progress, confirmed and completed.

[0418] The ledger generation workflow queries the graph database for project nodes, planning control unit nodes, spatial relationship edges, and planning conflict business relationship edges to generate a planning compliance ledger record.

[0419] The planning compliance ledger record shall include at least the project object identifier “XM-2026-0015”, the planning control unit identifier “CONTROL-2026-0008”, the conflict type “use conflict”, the lower bound of final reachability 0.31, the upper bound of final reachability 0.31, the spatial relationship confidence level 0.62156, the relationship review status “confirmed”, the trigger rule number and the ledger status “pending review”.

[0420] When the same construction project is associated with multiple plots of land, approval items or planning control units, the system queries the corresponding multi-hop paths and calculates the path impact score of each candidate path based on the degree of matching between the path relationship type and the planning compliance analysis task, the risk intensity of conflict relationships in the path, the freshness of the data version involved in the path and the number of path hops.

[0421] The system assigns path ranking numbers to candidate paths based on their path impact scores, from highest to lowest. When path impact scores are the same, the candidate path with fewer relational edges is ranked higher; if the number of relational edges is still the same, the paths are sorted lexicographically according to the sequence of unique identifiers of the nodes in the path. In this embodiment, the number of path outputs is set to 1. Therefore, the candidate path with a path ranking number of 1 is written into the basis path field of the planning compliance ledger, and this candidate path and its path impact score are sent to the AI-assisted analysis module.

[0422] In one alternative implementation, the AI-assisted analysis module invokes the map query tool, the planning compliance ledger retrieval tool, and the business rule verification tool through a standardized tool call protocol.

[0423] The input parameters for the graph query tool include the project object identifier "XM-2026-0015" and the relationship type range. It returns the project node, planning control unit node, spatial relationship edge, planning conflict business relationship edge, and priority candidate path.

[0424] The ledger retrieval tool returns the corresponding planning compliance ledger records; the business rule verification tool returns the trigger results of the corresponding planning conflict rules.

[0425] The system generates data evidence packages for each tool call and records the tool name, input parameters, return results, basis node, basis relationship, basis path, ledger record, trigger rule, call time, permission identifier, and result traceability identifier.

[0426] The AI-assisted analysis module generates the following analysis conclusions based on the data evidence package: the spatial relationship between the construction project “XM-2026-0015” and the planning control unit “CONTROL-2026-0008” is necessarily established; the project’s use code does not belong to the set of permitted uses of the planning control unit, triggering the use conflict rule; and the current ledger status is pending review.

[0427] Before outputting the analysis conclusion, the system checks whether the conclusion can be correlated with spatial relationship edges, planning conflict business relationship edges, planning compliance ledger records, and rule verification data evidence packages. After the correlation verification passes, the analysis conclusion and corresponding data basis are output.

[0428] When there are no spatial relationship edges in the graph database that point from the entity node of the planning and control unit to the entity node of the construction project, or when the data version of the existing spatial relationship edge is earlier than the time version of the current project reserve data, project approval data, or remote sensing monitoring data, the system triggers spatial topology rollback, re-executes multi-source record reading, ontology instance association, candidate boundary set formation, atomic partition unit generation, attribution vector generation, interval calculation, change determination, and verification processing, and writes the newly generated spatial relationships, spatial relationship indicators, and business judgment results back to the graph database.

[0429] Therefore, this embodiment completes the construction of spatial relationships in the following order: multi-source data access, semantic ontology establishment, field mapping, ontology instance association, candidate boundary set formation, atomic partition unit generation, attribution vector generation, spatial relationship interval calculation, boundary sensitivity determination, minimum variable unit set determination, independent verification, intermediate record generation, batch writing, and failure continuation. The spatial relationship edges store the object identifier to be analyzed, ontology instance identifier, relationship type, data version, reachable lower bound, reachable upper bound, preset relationship determination threshold, and final determination result for subsequent analysis tasks with the same object identifier, relationship type, and data version to read.

[0430] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of the present invention without departing from the spirit and scope of the claims. All of these forms are within the protection scope of the present invention.

Claims

1. A spatial multi-source data fusion and analysis system based on semantic ontology, characterized in that, include: The ontology association module is configured to associate multi-source records of the same spatial object with the same ontology instance based on preset semantic ontology types and field mapping rules, and extract the boundaries of the planar geometric objects of each multi-source record to form a candidate boundary set. The atomic partitioning module is configured to superimpose and segment each candidate boundary in the candidate boundary set to generate atomic partitioning units whose interiors are not crossed by any candidate boundary, and to generate an attribution vector based on the attribution status of each atomic partitioning unit to the region enclosed by each candidate boundary. The interval calculation module is configured to calculate the spatial relationship index between the spatial object to be analyzed and the region enclosed by each candidate boundary, and to determine the minimum and maximum values ​​of each spatial relationship index as the lower and upper bounds that can be reached, respectively. The mutation determination module is configured to determine the determination result based on the reachable lower bound, the reachable upper bound and the preset relationship determination threshold, and when the determination result is boundary sensitive, determine the set of the smallest mutation units that cause the determination result to change after the change of the belonging state based on the belonging vector. The verification module is configured to correct the affiliation status of each atomic partition unit within the set of minimum mutating units based on the verification data, recalculate the reachable lower bound and the reachable upper bound, and update the determination result.

2. The spatial multi-source data fusion and analysis system based on semantic ontology according to claim 1, characterized in that, The field mapping rules record the source object identifier field in each data source according to the data source identifier record; The ontology association module reads the source object identifier field value, groups multi-source records with the same preset semantic ontology type and source object identifier field value into the same record group, and queries ontology instances whose ontology object identifier attribute value is equal to the source object identifier field value from ontology instances corresponding to the preset semantic ontology type. When the ontology instance is found, the found ontology instance is identified as the target ontology instance; when the ontology instance is not found, a target ontology instance is created, an ontology instance identifier is assigned to the target ontology instance, and the source object identifier field value is written to the ontology object identifier attribute of the target ontology instance. The record group is associated with the target ontology instance, and the boundaries of the planar geometric objects within the record group are written into the candidate boundary set.

3. The spatial multi-source data fusion and analysis system based on semantic ontology according to claim 2, characterized in that, The atomic partitioning module arranges each candidate boundary in ascending order according to the data source identifier of the multi-source record corresponding to each candidate boundary, assigns a number to each candidate boundary in turn, and sets a vector bit that corresponds one-to-one with each candidate boundary number. Within each atomic partition unit, a detection point is selected. When the detection point is located within the area enclosed by the corresponding candidate boundary, the corresponding vector bit is set to 1. When the detection point is located outside the area enclosed by the corresponding candidate boundary, the corresponding vector bit is set to 0. When the attribution vector contains both 1 and 0, the attribution status of the corresponding atomic partition unit is determined to be inconsistent.

4. The spatial multi-source data fusion and analysis system based on semantic ontology according to claim 3, characterized in that, The spatial relationship indicator is the percentage of intersecting areas; The interval calculation module obtains the object identifier and planar geometric object of the spatial object to be analyzed, transforms the area enclosed by the planar geometric object of the spatial object to be analyzed and each candidate boundary to the same projected coordinate system, calculates the intersection area of ​​the area enclosed by the planar geometric object of the spatial object to be analyzed and each candidate boundary, determines the ratio of each intersection area to the area of ​​the planar geometric object of the spatial object to be analyzed as the intersection area ratio of the corresponding candidate boundary, and determines the minimum and maximum values ​​of all intersection area ratios as the reachable lower bound and the reachable upper bound, respectively.

5. The spatial multi-source data fusion and analysis system based on semantic ontology according to claim 4, characterized in that, The preset relationship determination threshold is the intersection area ratio threshold; When the reachable lower bound is not less than the preset relationship determination threshold, the change determination module generates a determination result that must be true. When the reachable upper bound is less than the preset relationship determination threshold, a determination result that is necessarily invalid is generated; When the reachable lower bound is less than the preset relationship determination threshold and the reachable upper bound is not less than the preset relationship determination threshold, a boundary-sensitive determination result is generated.

6. The spatial multi-source data fusion and analysis system based on semantic ontology according to claim 5, characterized in that, When the determination result is boundary sensitive, the change determination module determines the candidate boundary with an intersection area ratio less than the preset relationship determination threshold as the candidate boundary to be changed, and determines the candidate boundary with the smallest candidate boundary number corresponding to the reachable upper bound as the benchmark candidate boundary. Atomic partitioning units that intersect with the spatial object to be analyzed, whose vector bits corresponding to the baseline candidate boundary are 1 and whose vector bits corresponding to any candidate boundary to be changed are 0 are selected to obtain the disputed atomic partitioning units. The disputed atomic partition units are combined in a non-empty manner. The vector bits of each candidate boundary to be mutated corresponding to the atomic partition units in the combination are adjusted from 0 to 1. The regions enclosed by each candidate boundary are reconstructed and the reachable lower bound is recalculated. The combination with the reachable lower bound not less than the preset relationship determination threshold and the smallest number of atomic partition units is determined as the minimum mutagenic unit set.

7. The spatial multi-source data fusion and analysis system based on semantic ontology according to claim 6, characterized in that, The verification data includes verification planar geometric objects provided by a preset verification data source, which are not involved in the formation of the candidate boundary set and whose verification object identifiers have the same attribute value as the ontology object identifier of the target ontology instance; The verification module uses the ratio of the intersection area of ​​each atomic partition unit in the set of minimum variable units and the area of ​​the verification planar geometric object to the area of ​​the corresponding atomic partition unit as the verification attribution ratio; When the verification attribution ratio is not less than the preset verification attribution threshold, each vector bit in the attribution vector of the corresponding atomic partition unit is corrected to 1; when the verification attribution ratio is less than the preset verification attribution threshold, it is corrected to 0. Reconstruct the regions enclosed by each candidate boundary according to the corrected attribution vector, and recalculate the intersection area ratio, reachable lower bound, reachable upper bound, and judgment result corresponding to each candidate boundary.

8. The spatial multi-source data fusion and analysis system based on semantic ontology according to claim 7, characterized in that, It also includes a graph database storage module, which is used to define nodes representing spatial objects as entity nodes and to determine the judgment results after verification or without verification as the final judgment results. Query entity nodes using the identifier of the object to be analyzed. If a node is found, it is identified as the first entity node. If no node is found, a first entity node is created using the identifier of the object to be analyzed. The entity node is queried using the ontology instance identifier. If the node is found, it is identified as the second entity node. If the node is not found, a second entity node is created using the ontology instance identifier. The system queries the spatial relationship edge pointing from the first entity node to the second entity node. If the edge is found, the system updates the spatial relationship edge. If the edge is not found, the system creates the spatial relationship edge and writes the lower reachable bound, the upper reachable bound, the preset relationship determination threshold, and the final determination result.

9. The spatial multi-source data fusion and analysis system based on semantic ontology according to claim 8, characterized in that, It also includes a task management module, which generates intermediate records for each spatial relationship edge to be created or updated. The intermediate records include record number, object identifier to be analyzed, ontology instance identifier, reachable lower bound, reachable upper bound, preset relationship judgment threshold, final judgment result, write status and failure reason. Read a preset number of unwritten intermediate records in ascending order of record number and send them to the graph database storage module; Based on the write results returned by the graph database storage module, when the write is successful, the write status of the corresponding intermediate record is updated to "written"; when the write fails, the write status of the corresponding intermediate record is kept as "not written" and the reason for the failure is recorded. When the build task is re-executed, processing continues from the unwritten intermediate record with the smallest record sequence number.

10. The spatial multi-source data fusion and analysis system based on semantic ontology according to claim 9, characterized in that, It also includes an algorithm and workflow orchestration module, which is used to configure the ontology association module, atomic partitioning module, interval calculation module, mutation determination module, verification module, construction task management module and graph database storage module as workflow nodes; When a workflow node executes successfully, the output data item value is written into the input data item with the same name and data type in the next workflow node and the next workflow node is started. When the determination result is boundary sensitive, the workflow node corresponding to the verification module is executed; when the determination result is necessarily true or necessarily false, the workflow node corresponding to the verification module is skipped. When any workflow node fails to execute, stop starting subsequent workflow nodes and record the node identifier and error information of the failed workflow node.