diff --git a/builder/core/src/main/java/com/antgroup/openspg/builder/core/physical/process/RelationMappingProcessor.java b/builder/core/src/main/java/com/antgroup/openspg/builder/core/physical/process/RelationMappingProcessor.java index bc71daa6..52347dd9 100644 --- a/builder/core/src/main/java/com/antgroup/openspg/builder/core/physical/process/RelationMappingProcessor.java +++ b/builder/core/src/main/java/com/antgroup/openspg/builder/core/physical/process/RelationMappingProcessor.java @@ -9,7 +9,7 @@ import com.antgroup.openspg.builder.model.pipeline.config.RelationMappingNodeCon import com.antgroup.openspg.builder.model.record.BaseRecord; import com.antgroup.openspg.builder.model.record.BuilderRecord; import com.antgroup.openspg.builder.model.record.RelationRecord; -import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl.convertor.EdgeRecordConvertor; +import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util.EdgeRecordConvertor; import com.antgroup.openspg.common.util.StringUtils; import com.antgroup.openspg.core.schema.model.identifier.RelationIdentifier; import com.antgroup.openspg.core.schema.model.predicate.Relation; diff --git a/builder/core/src/main/java/com/antgroup/openspg/builder/core/physical/process/SPGTypeMappingProcessor.java b/builder/core/src/main/java/com/antgroup/openspg/builder/core/physical/process/SPGTypeMappingProcessor.java index 9f599301..a7ba647c 100644 --- a/builder/core/src/main/java/com/antgroup/openspg/builder/core/physical/process/SPGTypeMappingProcessor.java +++ b/builder/core/src/main/java/com/antgroup/openspg/builder/core/physical/process/SPGTypeMappingProcessor.java @@ -22,7 +22,7 @@ import com.antgroup.openspg.builder.model.pipeline.config.SPGTypeMappingNodeConf import com.antgroup.openspg.builder.model.record.BaseAdvancedRecord; import com.antgroup.openspg.builder.model.record.BaseRecord; import com.antgroup.openspg.builder.model.record.BuilderRecord; -import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl.convertor.VertexRecordConvertor; +import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util.VertexRecordConvertor; import com.antgroup.openspg.common.util.StringUtils; import com.antgroup.openspg.core.schema.model.identifier.SPGTypeIdentifier; import com.antgroup.openspg.core.schema.model.type.BaseSPGType; diff --git a/builder/core/src/main/java/com/antgroup/openspg/builder/core/reason/ReasonerProcessorUtils.java b/builder/core/src/main/java/com/antgroup/openspg/builder/core/reason/ReasonerProcessorUtils.java index 61b80286..d2c55c7a 100644 --- a/builder/core/src/main/java/com/antgroup/openspg/builder/core/reason/ReasonerProcessorUtils.java +++ b/builder/core/src/main/java/com/antgroup/openspg/builder/core/reason/ReasonerProcessorUtils.java @@ -24,8 +24,8 @@ import com.antgroup.openspg.builder.model.record.BaseSPGRecord; import com.antgroup.openspg.builder.model.record.RelationRecord; import com.antgroup.openspg.builder.model.record.property.SPGPropertyRecord; import com.antgroup.openspg.builder.model.record.property.SPGPropertyValue; -import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl.convertor.EdgeRecordConvertor; -import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl.convertor.VertexRecordConvertor; +import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util.EdgeRecordConvertor; +import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util.VertexRecordConvertor; import com.antgroup.openspg.common.util.CollectionsUtils; import com.antgroup.openspg.core.schema.model.identifier.RelationIdentifier; import com.antgroup.openspg.core.schema.model.identifier.SPGTypeIdentifier; diff --git a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/BaseSPGRecord2LPGStrategy.java b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/BaseSPGRecord2LPGStrategy.java index fe080562..93a8b5d3 100644 --- a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/BaseSPGRecord2LPGStrategy.java +++ b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/BaseSPGRecord2LPGStrategy.java @@ -18,8 +18,8 @@ import com.antgroup.openspg.builder.model.record.RecordAlterOperationEnum; import com.antgroup.openspg.builder.model.record.SPGRecordAlterItem; import com.antgroup.openspg.builder.model.record.property.SPGPropertyRecord; import com.antgroup.openspg.cloudext.interfaces.graphstore.BaseLPGGraphStoreClient; -import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl.convertor.EdgeRecordConvertor; -import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl.convertor.VertexRecordConvertor; +import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util.EdgeRecordConvertor; +import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util.VertexRecordConvertor; import com.antgroup.openspg.cloudext.interfaces.graphstore.cmd.OneHopLPGRecordQuery; import com.antgroup.openspg.cloudext.interfaces.graphstore.model.Direction; import com.antgroup.openspg.cloudext.interfaces.graphstore.model.lpg.record.LPGRecordAlterItem; diff --git a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/RelationRecord2LPGStrategy.java b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/RelationRecord2LPGStrategy.java index c1020474..38b710a1 100644 --- a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/RelationRecord2LPGStrategy.java +++ b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/RelationRecord2LPGStrategy.java @@ -15,7 +15,7 @@ package com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl. import com.antgroup.openspg.builder.model.record.RelationRecord; import com.antgroup.openspg.builder.model.record.SPGRecordAlterItem; -import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl.convertor.EdgeRecordConvertor; +import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util.EdgeRecordConvertor; import com.antgroup.openspg.cloudext.interfaces.graphstore.model.lpg.record.LPGRecordAlterItem; import com.google.common.collect.Lists; import java.util.List; diff --git a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/SPGTypeRecord2LPGStrategy.java b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/SPGTypeRecord2LPGStrategy.java index f968c539..9a71f663 100644 --- a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/SPGTypeRecord2LPGStrategy.java +++ b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/strategy/SPGTypeRecord2LPGStrategy.java @@ -15,7 +15,7 @@ package com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl. import com.antgroup.openspg.builder.model.record.BaseAdvancedRecord; import com.antgroup.openspg.builder.model.record.SPGRecordAlterItem; -import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl.convertor.VertexRecordConvertor; +import com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util.VertexRecordConvertor; import com.antgroup.openspg.cloudext.interfaces.graphstore.model.lpg.record.LPGRecordAlterItem; import com.antgroup.openspg.cloudext.interfaces.graphstore.model.lpg.record.VertexRecord; import java.util.List; diff --git a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/convertor/EdgeRecordConvertor.java b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/EdgeRecordConvertor.java similarity index 74% rename from cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/convertor/EdgeRecordConvertor.java rename to cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/EdgeRecordConvertor.java index b2796655..660efeef 100644 --- a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/convertor/EdgeRecordConvertor.java +++ b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/EdgeRecordConvertor.java @@ -11,7 +11,7 @@ * or implied. */ -package com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl.convertor; +package com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util; import com.antgroup.openspg.builder.model.record.BaseAdvancedRecord; import com.antgroup.openspg.builder.model.record.RelationRecord; @@ -19,7 +19,6 @@ import com.antgroup.openspg.builder.model.record.property.SPGPropertyRecord; import com.antgroup.openspg.cloudext.interfaces.graphstore.model.lpg.record.EdgeRecord; import com.antgroup.openspg.cloudext.interfaces.graphstore.model.lpg.schema.EdgeTypeName; import com.antgroup.openspg.core.schema.model.predicate.Relation; -import com.antgroup.openspg.core.schema.model.type.SPGTypeRef; import com.antgroup.openspg.server.common.model.exception.GraphStoreException; import java.util.Collections; import java.util.List; @@ -29,6 +28,7 @@ import java.util.stream.Collectors; /** Convertor for {@link EdgeRecord} and {@link RelationRecord}. */ public class EdgeRecordConvertor { + /** Convert the SPG record to an LPG record. */ public static EdgeRecord toEdgeRecord(RelationRecord relationRecord) { Relation relationType = relationRecord.getRelationType(); return new EdgeRecord( @@ -42,19 +42,9 @@ public class EdgeRecordConvertor { } /** - * Convert {@link SPGPropertyRecord} in {@link BaseAdvancedRecord} into edge records. - * Specifically, {@link BaseAdvancedRecord#getName()}, {@link BaseAdvancedRecord#getId()}, {@link - * SPGPropertyRecord#getName()}, {@link SPGTypeRef#getName()} from {@link SPGPropertyRecord}, and - * be assigned to start vertex's type name, start vertex's ID, edge label, and end vertex's type - * name of {@link EdgeRecord}s. And end vertex's IDs of {@link EdgeRecord}s will be split from - * {@link SPGPropertyRecord#getValue()} - * - * @param advancedRecord advanced record, such as {@link - * com.antgroup.openspg.builder.model.record.EventRecord EventRecord}, {@link - * com.antgroup.openspg.builder.model.record.EntityRecord EntityRecord} and {@link - * com.antgroup.openspg.builder.model.record.ConceptRecord ConceptRecord}. - * @param spgPropertyRecord record of SPG property. - * @return a list of {@link EdgeRecord}s + * For an advanced SPG record, when one of its property types is also an advanced type, an edge + * will be created between the current instance and the instance corresponding to that property + * value. */ public static List toEdgeRecords( BaseAdvancedRecord advancedRecord, SPGPropertyRecord spgPropertyRecord) { @@ -77,6 +67,10 @@ public class EdgeRecordConvertor { .collect(Collectors.toList()); } + /** + * Convert the LPG record to an SPG record, mainly used in the mapping or reasoning process of + * knowledge builder. + */ public static RelationRecord toRelationRecord( Relation relationType, String srcId, String dstId, Map properties) { return new RelationRecord( diff --git a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/convertor/PropertyRecordConvertor.java b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/PropertyRecordConvertor.java similarity index 95% rename from cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/convertor/PropertyRecordConvertor.java rename to cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/PropertyRecordConvertor.java index a53def6d..ea661983 100644 --- a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/convertor/PropertyRecordConvertor.java +++ b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/PropertyRecordConvertor.java @@ -11,7 +11,7 @@ * or implied. */ -package com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl.convertor; +package com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util; import com.antgroup.openspg.builder.model.record.property.BasePropertyRecord; import com.antgroup.openspg.builder.model.record.property.SPGPropertyRecord; @@ -29,6 +29,7 @@ import org.apache.commons.collections4.MapUtils; /** Convertor for {@link LPGPropertyRecord} and {@link SPGPropertyRecord}. */ public class PropertyRecordConvertor { + /** Convert the SPG record to an LPG record. */ public static List toLPGProperties( List propertyRecords) { List resultProperties = new ArrayList<>(propertyRecords.size()); @@ -45,6 +46,7 @@ public class PropertyRecordConvertor { return resultProperties; } + /** Convert the LPG record to an SPG record. */ public static List toSPGProperties( Map properties, BaseSPGType spgType) { if (MapUtils.isEmpty(properties)) { @@ -64,6 +66,7 @@ public class PropertyRecordConvertor { return spgPropertyRecords; } + /** Convert the LPG record to an SPG record. */ public static List toSPGProperties( Map properties, Property spgProperty) { if (!spgProperty.hasSubProperty()) { diff --git a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/convertor/VertexRecordConvertor.java b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/VertexRecordConvertor.java similarity index 91% rename from cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/convertor/VertexRecordConvertor.java rename to cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/VertexRecordConvertor.java index 43bfd778..31bcb177 100644 --- a/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/record/impl/convertor/VertexRecordConvertor.java +++ b/cloudext/interface/graph-store/src/main/java/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/VertexRecordConvertor.java @@ -11,7 +11,7 @@ * or implied. */ -package com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.record.impl.convertor; +package com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util; import com.antgroup.openspg.builder.model.record.BaseAdvancedRecord; import com.antgroup.openspg.builder.model.record.ConceptRecord; @@ -39,6 +39,7 @@ import java.util.stream.Collectors; */ public class VertexRecordConvertor { + /** Convert the SPG record to an LPG record. */ public static VertexRecord toVertexRecord(BaseAdvancedRecord advancedRecord) { return new VertexRecord( advancedRecord.getId(), @@ -46,6 +47,10 @@ public class VertexRecordConvertor { PropertyRecordConvertor.toLPGProperties(advancedRecord.getProperties())); } + /** + * Convert the SPG property record to an LPG record, which is currently used only for standard + * types, as a standard type will automatically generate an LPG record based on the property. + */ public static List toVertexRecords(SPGPropertyRecord propertyRecord) { if (propertyRecord.isBasicType()) { throw GraphStoreException.unexpectedSPGPropertyRecordType(propertyRecord); @@ -57,6 +62,10 @@ public class VertexRecordConvertor { .collect(Collectors.toList()); } + /** + * Convert the LPG record to an SPG record, mainly used in the mapping or reasoning process of + * knowledge builder. + */ public static BaseAdvancedRecord toAdvancedRecord( BaseSPGType baseSpgType, String bizId, Map properties) { BaseAdvancedRecord advancedRecord = null; diff --git a/cloudext/interface/graph-store/src/test/groovy/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/VertexRecordConvertorTest.groovy b/cloudext/interface/graph-store/src/test/groovy/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/VertexRecordConvertorTest.groovy new file mode 100644 index 00000000..734bb5c0 --- /dev/null +++ b/cloudext/interface/graph-store/src/test/groovy/com/antgroup/openspg/cloudext/interfaces/graphstore/adapter/util/VertexRecordConvertorTest.groovy @@ -0,0 +1,8 @@ +package com.antgroup.openspg.cloudext.interfaces.graphstore.adapter.util + +import spock.lang.Specification + +class VertexRecordConvertorTest extends Specification { + + +}