Recomendation API

All APIs are added as interface of RecommendationService (in package package com.magnet.server.recommendation.service)

  1. Add Items (adding nodes in graph)

    let item = MMRItem()
    // Setup item
    MMRManager.sharedInstance.addItem(item: item, completion: { 
        // Process Success
    }, error: (error:Error) {
        // Process Error
    })
    
  2. Add Activity (adding edge between nodes in graph)

    let activity = MMRActivity()
    // Setup activity
    MMRManager.sharedInstance.addActivity(activity:activity , completion: {
       // Process Success
    }, error: (error:Error) {
       // Process Error
    })
    
  3. Get recommendation items of the same user (for User Case 1)

    MMRManager.sharedInstance.getRecomendationItemsForSameUser(
       userName: "userName",  
       actionName: "actionName",
       targetItemName: "targetItemName", 
       earliestUpdateTime: Date().timeIntervalSince1970, 
       completion: { (items:[MMRItem]) in
       // Process Success
    }, error: (error:Error) {
       // Process Error
    })
    
  4. Get recommendation items from other users (for User Case 2)

    MMRManager.sharedInstance.getRecomendationItemsForOtherUsers(
       userName: "userName", 
       actionName: "actionName", 
       targetItemName: "targetItemName", 
       relationship:"relationship", 
       earliestUpdateTime: Date().timeIntervalSince1970, 
       completion: { (items:[MMRItem]) in
       // Process Success
    }, error: (error:Error) {
       // Process Error
    })
    
  5. Get recommendation other item types from other users (for User Case 3)

    MMRManager.sharedInstance.getRecomendationOtherTypeItemsForOtherUsers(
       userName: "userName", 
       actionName: "actionName", 
       targetItemName: "targetItemName", 
       relationship:"relationship", 
       earliestUpdateTime: Date().timeIntervalSince1970, 
       completion: { (items:[MMRItem]) in
       // Process Success
    }, error: (error:Error) {
       // Process Error
    })
    
  6. Get recommendation action types from other user (for User Case 4)

    MMRManager.sharedInstance.getRecomendationActionTypes(
       userName: "userName", 
       actionName: "actionName", 
       targetItemName: "targetItemName", 
       relationship:"relationship", 
       earliestUpdateTime: Date().timeIntervalSince1970, 
       completion: { (items:[String]) in
       // Process Success
    }, error: (error:Error) {
       // Process Error
    })