title: TypeError: $scope.apply is not a function
body: <p>I am trying to render the contacts list after retrieving it thru <code>rdflib.js</code>. It is loading properly and saving it in the list inside the scope.</p>
  
  <p>But I am not able to render sine the $scope doesn't update, it seems like I am calling <code>$scope.apply()</code> in the wrong place. The error occurs because I call it outside angular, but I am deliberately calling it inside the function that is outside angular context (<code>nowOrWhenFetched</code>), so not making sense for me. any help?</p>
  
  <pre><code>$scope.load = function () {
      //$scope.getContactsList();
      var g = $rdf.graph();
      var f = $rdf.fetcher(g);
  
      f.nowOrWhenFetched($scope.path + '*',undefined,function(){
  
      var DC = $rdf.Namespace('http://purl.org/dc/elements/1.1/');
      var RDF = $rdf.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#');
      var LDP = $rdf.Namespace('http://www.w3.org/ns/ldp#');
      //var myOntology = $rdf.Namespace('http://user.pds.org/ontology/'); 
      var VCARD = $rdf.Namespace('http://www.w3.org/2006/vcard/ns#');
  
      var evs = g.statementsMatching(undefined, RDF('type'), VCARD('Individual'));
      if (evs != undefined) {
          for (var e in evs) {
              var id = evs[e]['subject']['value'];
              var fullname = g.anyStatementMatching(evs[e]['subject'], VCARD('fn'))['object']['value'];
              var email = g.anyStatementMatching(evs[e]['subject'], VCARD('hasEmail'))['object']['value'];
              var phone = g.anyStatementMatching(evs[e]['subject'], VCARD('hasTelephone'))['object']['value'];
  
              var contact = {
                  id: id.slice(id.length-1),
                  Name: fullname,
                  Email: email,
                  Phone: phone 
              };
  
              $scope.contacts.push(contact);
          }
  
      }
  
      $scope.apply();
  
      });
  
  };
  </code></pre>