10#ifndef SENZING_SDK_SZENGINE_HPP
11#define SENZING_SDK_SZENGINE_HPP
18#include "senzing/sdk/SzFlags.hpp"
40 virtual std::string
AddRecord(
const std::string& dataSourceCode,
41 const std::string& recordID,
42 const std::string& recordDefinition,
43 SzFlags flags = SzAddRecordDefaultFlags) = 0;
47 const std::string& recordDefinition,
48 SzFlags flags = SzRecordPreviewDefaultFlags) = 0;
52 const std::string& dataSourceCode,
const std::string& recordID,
53 SzFlags flags = SzDeleteRecordDefaultFlags) = 0;
57 const std::string& dataSourceCode,
const std::string& recordID,
58 SzFlags flags = SzReevaluateRecordDefaultFlags) = 0;
62 int64_t entityID, SzFlags flags = SzReevaluateEntityDefaultFlags) = 0;
67 const std::string& attributes,
const std::string& searchProfile,
68 SzFlags flags = SzSearchByAttributesDefaultFlags) = 0;
72 const std::string& attributes,
73 SzFlags flags = SzSearchByAttributesDefaultFlags) = 0;
76 virtual std::string
WhySearch(
const std::string& attributes,
78 const std::string& searchProfile =
"",
79 SzFlags flags = SzWhySearchDefaultFlags) = 0;
84 SzFlags flags = SzEntityDefaultFlags) = 0;
87 virtual std::string
GetEntity(
const std::string& dataSourceCode,
88 const std::string& recordID,
89 SzFlags flags = SzEntityDefaultFlags) = 0;
92 virtual std::string
GetRecord(
const std::string& dataSourceCode,
93 const std::string& recordID,
94 SzFlags flags = SzRecordDefaultFlags) = 0;
100 SzFlags flags = SzFindInterestingEntitiesDefaultFlags) = 0;
104 const std::string& dataSourceCode,
const std::string& recordID,
105 SzFlags flags = SzFindInterestingEntitiesDefaultFlags) = 0;
110 int64_t startEntityID, int64_t endEntityID, int32_t maxDegrees,
111 const std::set<int64_t>& avoidEntityIDs = {},
112 const std::set<std::string>& requiredDataSources = {},
113 SzFlags flags = SzFindPathDefaultFlags) = 0;
117 const std::string& startDataSourceCode,
const std::string& startRecordID,
118 const std::string& endDataSourceCode,
const std::string& endRecordID,
120 const std::set<std::pair<std::string, std::string>>& avoidRecordKeys = {},
121 const std::set<std::string>& requiredDataSources = {},
122 SzFlags flags = SzFindPathDefaultFlags) = 0;
127 const std::set<int64_t>& entityIDs, int32_t maxDegrees,
128 int32_t buildOutDegrees, int32_t buildOutMaxEntities,
129 SzFlags flags = SzFindNetworkDefaultFlags) = 0;
133 const std::set<std::pair<std::string, std::string>>& recordKeys,
134 int32_t maxDegrees, int32_t buildOutDegrees, int32_t buildOutMaxEntities,
135 SzFlags flags = SzFindNetworkDefaultFlags) = 0;
140 const std::string& dataSourceCode,
const std::string& recordID,
141 SzFlags flags = SzWhyRecordInEntityDefaultFlags) = 0;
145 const std::string& dataSourceCode1,
const std::string& recordID1,
146 const std::string& dataSourceCode2,
const std::string& recordID2,
147 SzFlags flags = SzWhyRecordsDefaultFlags) = 0;
151 int64_t entityID1, int64_t entityID2,
152 SzFlags flags = SzWhyEntitiesDefaultFlags) = 0;
156 SzFlags flags = SzHowEntityDefaultFlags) = 0;
160 const std::set<std::pair<std::string, std::string>>& recordKeys,
161 SzFlags flags = SzVirtualEntityDefaultFlags) = 0;
166 SzFlags flags = SzExportDefaultFlags) = 0;
170 const std::string& csvColumnList, SzFlags flags = SzExportDefaultFlags) = 0;
180 SzFlags flags = SzRedoDefaultFlags) = 0;
The core Senzing entity-resolution engine.
Definition SzEngine.hpp:28
virtual std::string SearchByAttributes(const std::string &attributes, const std::string &searchProfile, SzFlags flags=SzSearchByAttributesDefaultFlags)=0
virtual std::string GetStats()=0
Returns JSON workload statistics for this engine instance.
virtual void PrimeEngine()=0
Pre-loads engine resources to reduce first-call latency.
virtual std::string FetchNext(SzExportHandle exportHandle)=0
virtual std::string GetRedoRecord()=0
virtual std::string SearchByAttributes(const std::string &attributes, SzFlags flags=SzSearchByAttributesDefaultFlags)=0
virtual std::string ProcessRedoRecord(const std::string &redoRecord, SzFlags flags=SzRedoDefaultFlags)=0
virtual std::string GetEntity(int64_t entityID, SzFlags flags=SzEntityDefaultFlags)=0
virtual std::string GetVirtualEntity(const std::set< std::pair< std::string, std::string > > &recordKeys, SzFlags flags=SzVirtualEntityDefaultFlags)=0
virtual std::string WhySearch(const std::string &attributes, int64_t entityID, const std::string &searchProfile="", SzFlags flags=SzWhySearchDefaultFlags)=0
virtual std::string FindPath(const std::string &startDataSourceCode, const std::string &startRecordID, const std::string &endDataSourceCode, const std::string &endRecordID, int32_t maxDegrees, const std::set< std::pair< std::string, std::string > > &avoidRecordKeys={}, const std::set< std::string > &requiredDataSources={}, SzFlags flags=SzFindPathDefaultFlags)=0
virtual ~SzEngine()=default
virtual std::string WhyEntities(int64_t entityID1, int64_t entityID2, SzFlags flags=SzWhyEntitiesDefaultFlags)=0
virtual std::string ReevaluateEntity(int64_t entityID, SzFlags flags=SzReevaluateEntityDefaultFlags)=0
virtual int64_t CountRedoRecords()=0
virtual SzExportHandle ExportCsvEntityReport(const std::string &csvColumnList, SzFlags flags=SzExportDefaultFlags)=0
virtual std::string GetEntity(const std::string &dataSourceCode, const std::string &recordID, SzFlags flags=SzEntityDefaultFlags)=0
virtual std::string DeleteRecord(const std::string &dataSourceCode, const std::string &recordID, SzFlags flags=SzDeleteRecordDefaultFlags)=0
virtual void CloseExportReport(SzExportHandle exportHandle)=0
virtual std::string GetRecord(const std::string &dataSourceCode, const std::string &recordID, SzFlags flags=SzRecordDefaultFlags)=0
virtual std::string AddRecord(const std::string &dataSourceCode, const std::string &recordID, const std::string &recordDefinition, SzFlags flags=SzAddRecordDefaultFlags)=0
virtual std::string FindNetwork(const std::set< int64_t > &entityIDs, int32_t maxDegrees, int32_t buildOutDegrees, int32_t buildOutMaxEntities, SzFlags flags=SzFindNetworkDefaultFlags)=0
virtual std::string WhyRecordInEntity(const std::string &dataSourceCode, const std::string &recordID, SzFlags flags=SzWhyRecordInEntityDefaultFlags)=0
virtual std::string HowEntity(int64_t entityID, SzFlags flags=SzHowEntityDefaultFlags)=0
virtual std::string GetRecordPreview(const std::string &recordDefinition, SzFlags flags=SzRecordPreviewDefaultFlags)=0
virtual std::string FindInterestingEntities(int64_t entityID, SzFlags flags=SzFindInterestingEntitiesDefaultFlags)=0
virtual std::string WhyRecords(const std::string &dataSourceCode1, const std::string &recordID1, const std::string &dataSourceCode2, const std::string &recordID2, SzFlags flags=SzWhyRecordsDefaultFlags)=0
virtual SzExportHandle ExportJsonEntityReport(SzFlags flags=SzExportDefaultFlags)=0
virtual std::string FindInterestingEntities(const std::string &dataSourceCode, const std::string &recordID, SzFlags flags=SzFindInterestingEntitiesDefaultFlags)=0
virtual std::string FindPath(int64_t startEntityID, int64_t endEntityID, int32_t maxDegrees, const std::set< int64_t > &avoidEntityIDs={}, const std::set< std::string > &requiredDataSources={}, SzFlags flags=SzFindPathDefaultFlags)=0
virtual std::string ReevaluateRecord(const std::string &dataSourceCode, const std::string &recordID, SzFlags flags=SzReevaluateRecordDefaultFlags)=0
virtual std::string FindNetwork(const std::set< std::pair< std::string, std::string > > &recordKeys, int32_t maxDegrees, int32_t buildOutDegrees, int32_t buildOutMaxEntities, SzFlags flags=SzFindNetworkDefaultFlags)=0
Definition SzCoreConfig.hpp:20
std::uintptr_t SzExportHandle
Opaque export-report handle, mirroring the C# IntPtr.
Definition SzEngine.hpp:25