Ejemplo n.º 1
0
 function visit($visitee)
 {
     if ($visitee instanceof IntentionalElement) {
         $node = array();
         $links = array();
         $ies_contexten = array();
         $uri = $visitee->getUri();
         $node['uri'] = $uri;
         $node['type'] = get_class($visitee);
         $node['name'] = Uri::SMWuriNaarLeesbareTitel($visitee->getUri());
         $node['heading'] = $visitee->getHeading();
         $node['decompositionType'] = $visitee->getDecompositionType();
         $node['instanceOf'] = $visitee->getInstanceOf();
         $node['vn'] = Uri::SMWUriNaarLeesbareTitel(SPARQLConnection::geefEersteResultaatSubject('wiki:Eigenschap-3AModel_link', $uri));
         foreach ($visitee->getPartOf() as $link) {
             $links[] = array('source' => $uri, 'type' => 'Part of', 'target' => $link->getUri());
         }
         foreach ($visitee->getContributes() as $link) {
             $links[] = array('source' => $uri, 'type' => 'Contributes', 'target' => $link->getLink()->getUri(), 'note' => $link->getLinkNote(), 'extraInfo' => ': ' . $link->getContributionValue(), 'contributionValue' => $link->getContributionValue());
         }
         foreach ($visitee->getDepends() as $link) {
             $links[] = array('source' => $uri, 'type' => 'Depends', 'target' => $link->getLink()->getUri(), 'note' => $link->getLinkNote(), 'extraInfo' => '');
         }
         foreach ($visitee->getContext() as $link) {
             $index = $link->getUri();
             $ies_contexten[$index][] = $uri;
         }
         if ($visitee instanceof Activity) {
             foreach ($visitee->getConnects() as $link) {
                 $links[] = array('source' => $uri, 'type' => 'Connects', 'target' => $link->getLink()->getUri(), 'note' => $link->getLinkNote(), 'extraInfo' => ': ' . $link->getConnectionType() . ' ' . $link->getLinkCondition(), 'connectionType' => $link->getConnectionType(), 'linkCondition' => $link->getLinkCondition());
             }
         }
         $return['node'] = $node;
         $return['links'] = $links;
         $return['ies_contexten'] = $ies_contexten;
         return $return;
     } elseif ($visitee instanceof Context) {
         $context = array();
         $uri = $visitee->getUri();
         $context['uri'] = $visitee->getUri();
         $context['description'] = $visitee->getDescription();
         $contextLinks = array();
         foreach ($visitee->getSupercontext() as $link) {
             $contextLinks[] = array('context' => $uri, 'supercontext' => $link->getUri());
         }
         $return['context'] = $context;
         $return['contextLinks'] = $contextLinks;
         return $return;
     }
 }