@class KGStoredGraph, NSMutableDictionary; @interface MAGraph : MABaseGraph { NSMutableDictionary *_labelByDomain; NSMutableDictionary *_domainByLabel; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _labelMapLock; } @property (readonly, nonatomic) KGStoredGraph *graph; @property (readonly, nonatomic) unsigned long long databaseStatus; + (id)persistentStoreFileExtension; + (BOOL)copyPersistentStoreFromURL:(id)a0 toURL:(id)a1 error:(id *)a2; + (BOOL)destroyPersistentStoreAtURL:(id)a0 error:(id *)a1; + (BOOL)migratePersistentStoreFromURL:(id)a0 toURL:(id)a1 error:(id *)a2; + (id)persistentStoreURLWithPath:(id)a0 andName:(id)a1; - (id)nodesForLabel:(id)a0; - (id)databaseURL; - (id)nodeForIdentifier:(unsigned long long)a0; - (unsigned long long)memoryFootprint:(id)a0; - (unsigned long long)version; - (BOOL)noFatalError; - (id)identifier; - (void)enumerateEdgesWithBlock:(id /* block */)a0; - (id)allNodes; - (id)description; - (id)addNodeWithLabel:(id)a0; - (void)closePersistentStore; - (void)enumerateNodesWithBlock:(id /* block */)a0; - (void).cxx_destruct; - (void)invalidateMemoryCaches; - (id)allEdges; - (id)initWithSpecification:(id)a0; - (void)setVersion:(unsigned long long)a0; - (id)edgesForLabel:(id)a0; - (void)readUsingBlock:(id /* block */)a0; - (unsigned long long)edgesCount; - (unsigned long long)nodesCount; - (BOOL)edgesStoreWeakReferencesToNodes; - (BOOL)copyPersistentStoreToURL:(id)a0 error:(id *)a1; - (BOOL)hasPendingWrite; - (id)nodesForDomain:(unsigned short)a0; - (id)_addEdgeWithLabel:(id)a0 sourceNode:(id)a1 targetNode:(id)a2 domain:(unsigned short)a3 weight:(float)a4 properties:(id)a5; - (id)_addNodeWithLabel:(id)a0 domain:(unsigned short)a1 weight:(float)a2 properties:(id)a3; - (id)_anyEdgeWithLabel:(id)a0 sourceNode:(id)a1 targetNode:(id)a2 domain:(unsigned short)a3 weight:(float)a4 properties:(id)a5; - (id)_edgeIdentifiersWithLabel:(id)a0 domain:(unsigned short)a1 properties:(id)a2; - (id)_instantiateGraphWithStoreAtURL:(id)a0 error:(id *)a1; - (void)_loadWithGraphDictionary:(id)a0; - (id)_nodeIdentifiersWithLabel:(id)a0 domain:(unsigned short)a1 properties:(id)a2; - (id)abstractEdges; - (id)addEdgeWithLabel:(id)a0 sourceNode:(id)a1 targetNode:(id)a2 domain:(unsigned short)a3 weight:(float)a4 properties:(id)a5; - (id)addNodeFromBase:(id)a0; - (id)addNodeWithLabel:(id)a0 domain:(unsigned short)a1 weight:(float)a2 properties:(id)a3; - (id)addUniqueEdgeWithLabel:(id)a0 sourceNode:(id)a1 targetNode:(id)a2 domain:(unsigned short)a3 weight:(float)a4 properties:(id)a5; - (id)addUniqueNodeWithLabel:(id)a0 domain:(unsigned short)a1 weight:(float)a2 properties:(id)a3 didCreate:(BOOL *)a4; - (id)addUniquelyIdentifiedNodeWithLabel:(id)a0 domain:(unsigned short)a1 weight:(float)a2 properties:(id)a3 didCreate:(BOOL *)a4; - (id)anyNodeForLabel:(id)a0; - (id)anyNodeForLabel:(id)a0 domain:(unsigned short)a1 properties:(id)a2; - (id)anyNodeMatchingFilter:(id)a0; - (BOOL)compareWithPersistedState; - (id)edgeForIdentifier:(unsigned long long)a0; - (id)edgeFromFetchedRowWithIdentifier:(int)a0 domain:(short)a1 label:(id)a2 weight:(float)a3 properties:(id)a4 sourceNodeIdentifier:(int)a5 targetNodeIdentifier:(int)a6; - (id)edgeIdentifiersMatchingFilter:(id)a0; - (id)edgeIdentifiersMatchingFilter:(id)a0 intersectingIdentifiers:(id)a1; - (id)edgeIdentifiersOfType:(unsigned long long)a0 betweenNodesForIdentifiers:(id)a1 andNodesForIdentifiers:(id)a2 matchingFilter:(id)a3; - (id)edgeIdentifiersOfType:(unsigned long long)a0 onNodesForIdentifiers:(id)a1 matchingFilter:(id)a2; - (id)edgeIdentifiersOfType:(unsigned long long)a0 sourceNodeIdentifier:(unsigned long long)a1 targetNodeIdentifier:(unsigned long long)a2; - (unsigned long long)edgesCountForLabel:(id)a0; - (unsigned long long)edgesCountForLabel:(id)a0 domain:(unsigned short)a1; - (unsigned long long)edgesCountForLabel:(id)a0 domain:(unsigned short)a1 properties:(id)a2; - (id)edgesDomains; - (id)edgesForIdentifiers:(id)a0; - (id)edgesForLabel:(id)a0 domain:(unsigned short)a1; - (id)edgesForLabel:(id)a0 domain:(unsigned short)a1 properties:(id)a2; - (id)edgesLabels; - (void)enterBatch; - (void)enumerateDoublePropertyValuesForKey:(id)a0 ofEdgesWithIdentifiers:(id)a1 usingBlock:(id /* block */)a2; - (void)enumerateDoublePropertyValuesForKey:(id)a0 ofNodesWithIdentifiers:(id)a1 usingBlock:(id /* block */)a2; - (void)enumerateEdgesInDomain:(unsigned short)a0 usingBlock:(id /* block */)a1; - (void)enumerateEdgesMatchingFilter:(id)a0 usingBlock:(id /* block */)a1; - (void)enumerateEdgesWithIdentifiers:(id)a0 usingBlock:(id /* block */)a1; - (void)enumerateEdgesWithLabel:(id)a0 domain:(unsigned short)a1 properties:(id)a2 usingBlock:(id /* block */)a3; - (void)enumerateEdgesWithLabel:(id)a0 domain:(unsigned short)a1 usingBlock:(id /* block */)a2; - (void)enumerateIntegerPropertyValuesForKey:(id)a0 ofEdgesWithIdentifiers:(id)a1 usingBlock:(id /* block */)a2; - (void)enumerateIntegerPropertyValuesForKey:(id)a0 ofNodesWithIdentifiers:(id)a1 usingBlock:(id /* block */)a2; - (void)enumerateNodeIdentifiers:(id)a0 sortedByDoublePropertyForName:(id)a1 ascending:(BOOL)a2 usingBlock:(id /* block */)a3; - (void)enumerateNodeIdentifiers:(id)a0 sortedByIntegerPropertyForName:(id)a1 ascending:(BOOL)a2 usingBlock:(id /* block */)a3; - (void)enumerateNodeIdentifiers:(id)a0 sortedByStringPropertyForName:(id)a1 ascending:(BOOL)a2 usingBlock:(id /* block */)a3; - (void)enumerateNodeIdentifiers:(id)a0 sortedByUnsignedIntegerPropertyForName:(id)a1 ascending:(BOOL)a2 usingBlock:(id /* block */)a3; - (void)enumerateNodesInDomain:(unsigned short)a0 usingBlock:(id /* block */)a1; - (void)enumerateNodesMatchingFilter:(id)a0 usingBlock:(id /* block */)a1; - (void)enumerateNodesWithIdentifiers:(id)a0 sortedByFloatPropertyForName:(id)a1 usingBlock:(id /* block */)a2; - (void)enumerateNodesWithIdentifiers:(id)a0 sortedByIntegerPropertyForName:(id)a1 usingBlock:(id /* block */)a2; - (void)enumerateNodesWithIdentifiers:(id)a0 sortedByStringPropertyForName:(id)a1 usingBlock:(id /* block */)a2; - (void)enumerateNodesWithIdentifiers:(id)a0 usingBlock:(id /* block */)a1; - (void)enumerateNodesWithLabel:(id)a0 domain:(unsigned short)a1 properties:(id)a2 usingBlock:(id /* block */)a3; - (void)enumerateNodesWithLabel:(id)a0 domain:(unsigned short)a1 usingBlock:(id /* block */)a2; - (void)enumeratePropertyValuesForKey:(id)a0 ofEdgesWithIdentifiers:(id)a1 usingBlock:(id /* block */)a2; - (void)enumeratePropertyValuesForKey:(id)a0 ofNodesWithIdentifiers:(id)a1 usingBlock:(id /* block */)a2; - (void)enumerateStringPropertyValuesForKey:(id)a0 ofEdgesWithIdentifiers:(id)a1 usingBlock:(id /* block */)a2; - (void)enumerateStringPropertyValuesForKey:(id)a0 ofNodesWithIdentifiers:(id)a1 usingBlock:(id /* block */)a2; - (void)enumerateUnsignedIntegerPropertyValuesForKey:(id)a0 ofEdgesWithIdentifiers:(id)a1 usingBlock:(id /* block */)a2; - (void)enumerateUnsignedIntegerPropertyValuesForKey:(id)a0 ofNodesWithIdentifiers:(id)a1 usingBlock:(id /* block */)a2; - (void)executeGraphChangeRequest:(id)a0; - (BOOL)hasPendingRead; - (id)initWithGraphJSONURL:(id)a0 error:(id *)a1; - (id)initWithGraphMLURL:(id)a0 error:(id *)a1; - (id)initWithSpecification:(id)a0 dataURL:(id)a1 error:(id *)a2; - (id)initWithSpecification:(id)a0 persistenceStoreURL:(id)a1 error:(id *)a2; - (id)initWithSpecification:(id)a0 persistenceStoreURL:(id)a1 progressReporter:(id)a2; - (void)labelAndDomainFromLabels:(id)a0 outLabel:(id *)a1 outDomain:(unsigned short *)a2; - (void)labelsAndDomainsOfEdgesForIdentifiers:(id)a0 labels:(id *)a1 domains:(id *)a2; - (void)labelsAndDomainsOfNodesForIdentifiers:(id)a0 labels:(id *)a1 domains:(id *)a2; - (id)labelsForLabel:(id)a0 domain:(unsigned short)a1; - (void)leaveBatch; - (void)legacyRemoveEdges:(id)a0; - (void)legacyRemoveNodes:(id)a0; - (void)loadDomains:(id)a0; - (void)mergeWithGraph:(id)a0 strictNodes:(BOOL)a1 strictEdges:(BOOL)a2 saveToDatabase:(BOOL)a3 createdNodes:(out id *)a4 createdEdges:(out id *)a5; - (BOOL)migratePersistentStoreToURL:(id)a0 error:(id *)a1; - (id)neighborNodeIdentifiersWithStartNodeIdentifiers:(id)a0 edgeType:(unsigned long long)a1 edgeFilter:(id)a2; - (Class)nodeClass; - (id)nodeFromFetchedRowWithIdentifier:(int)a0 domain:(short)a1 label:(id)a2 weight:(float)a3 properties:(id)a4; - (id)nodeIdentifiersMatchingFilter:(id)a0; - (id)nodeIdentifiersMatchingFilter:(id)a0 intersectingIdentifiers:(id)a1; - (id)nodeIdentifiersOfEdgeIdentifiers:(id)a0 ofType:(unsigned long long)a1; - (unsigned long long)nodesCountForDomain:(unsigned short)a0; - (unsigned long long)nodesCountForLabel:(id)a0; - (unsigned long long)nodesCountForLabel:(id)a0 domain:(unsigned short)a1 properties:(id)a2; - (id)nodesDomains; - (id)nodesForDomain:(unsigned short)a0 properties:(id)a1; - (id)nodesForIdentifiers:(id)a0; - (id)nodesForLabel:(id)a0 domain:(unsigned short)a1 properties:(id)a2; - (id)nodesLabels; - (unsigned long long)numberOfEdgesMatchingFilter:(id)a0; - (unsigned long long)numberOfNodesMatchingFilter:(id)a0; - (id)orphanNodes; - (void)persistModelProperties:(id)a0 forEdgeWithIdentifier:(unsigned long long)a1 clobberExisting:(BOOL)a2; - (void)persistModelProperties:(id)a0 forNodeWithIdentifier:(unsigned long long)a1 clobberExisting:(BOOL)a2; - (void)persistModelProperty:(id)a0 forKey:(id)a1 forEdgeWithIdentifier:(unsigned long long)a2; - (void)persistModelProperty:(id)a0 forKey:(id)a1 forNodeWithIdentifier:(unsigned long long)a2; - (void)persistWeight:(float)a0 forEdgeWithIdentifier:(unsigned long long)a1; - (void)persistWeight:(float)a0 forNodeWithIdentifier:(unsigned long long)a1; - (void)removeModelPropertiesForEdgeWithIdentifier:(unsigned long long)a0; - (void)removeModelPropertiesForNodeWithIdentifier:(unsigned long long)a0; - (void)removeModelPropertyForKey:(id)a0 forEdgeWithIdentifier:(unsigned long long)a1; - (void)removeModelPropertyForKey:(id)a0 forNodeWithIdentifier:(unsigned long long)a1; - (void)rollbackBatch; - (BOOL)savePersistentStore; - (void)savePersistentStoreWithCompletion:(id /* block */)a0; - (void)setHadFatalError; - (id)sourcesByTargetWithEdgeIdentifiers:(id)a0; - (id)targetsBySourceWithEdgeIdentifiers:(id)a0; - (id)transitiveClosureNeighborNodeIdentifiersWithStartNodeIdentifiers:(id)a0 edgeType:(unsigned long long)a1 edgeFilter:(id)a2; - (void)unloadDomains:(id)a0; - (void)unloadEdge:(id)a0; - (void)waitUntilQuiescentUsingBlock:(id /* block */)a0; - (void)writeUsingBlock:(id /* block */)a0; @end