Ejemplo n.º 1
0
 public function testCommonMethods()
 {
     $ns = Localizer::getInstance()->getNamespaceTextById(NS_CATEGORY);
     $class = new DIWikiPage('Foo', NS_CATEGORY);
     $instance = new ClassDescription($class);
     $this->assertEquals(array($class), $instance->getCategories());
     $this->assertEquals("[[{$ns}:Foo]]", $instance->getQueryString());
     $this->assertEquals(" <q>[[{$ns}:Foo]]</q> ", $instance->getQueryString(true));
     $this->assertEquals(false, $instance->isSingleton());
     $this->assertEquals(array(), $instance->getPrintRequests());
     $this->assertEquals(1, $instance->getSize());
     $this->assertEquals(0, $instance->getDepth());
     $this->assertEquals(2, $instance->getQueryFeatures());
 }
 /**
  * @param ClassDescription $description
  */
 public function addDescription(ClassDescription $description)
 {
     $this->m_diWikiPages = array_merge($this->m_diWikiPages, $description->getCategories());
 }
 private function doMapClassDescription(ClassDescription $description, &$exact)
 {
     if (count($description->getCategories()) == 1) {
         // single category
         $categories = $description->getCategories();
         $result = new ExpData($this->exporter->getResourceElementForWikiPage(end($categories)));
     } else {
         // disjunction of categories
         $result = new ExpData(new ExpResource(''));
         $elements = array();
         foreach ($description->getCategories() as $cat) {
             $elements[] = new ExpData($this->exporter->getResourceElementForWikiPage($cat));
         }
         $result->addPropertyObjectValue($this->exporter->getSpecialNsResource('owl', 'unionOf'), ExpData::makeCollection($elements));
     }
     $result->addPropertyObjectValue($this->exporter->getSpecialNsResource('rdf', 'type'), new ExpData($this->exporter->getSpecialNsResource('owl', 'Class')));
     return $result;
 }