public function testAddDescription() { $ns = Localizer::getInstance()->getNamespaceTextById(NS_CATEGORY); $instance = new ClassDescription(new DIWikiPage('Foo', NS_CATEGORY)); $instance->addDescription(new ClassDescription(new DIWikiPage('Bar', NS_CATEGORY))); $this->assertEquals("[[{$ns}:Foo||Bar]]", $instance->getQueryString()); $this->assertEquals(" <q>[[{$ns}:Foo||Bar]]</q> ", $instance->getQueryString(true)); }
private function searchForResultsThatCompareEqualToClassOf($categoryName) { $propertyValue = new PropertyValue('__pro'); $propertyValue->setDataItem(new DIProperty('_INST')); $description = new ClassDescription(new DIWikiPage($categoryName, NS_CATEGORY, '')); $description->addPrintRequest(new PrintRequest(PrintRequest::PRINT_PROP, null, $propertyValue)); $query = new Query($description, false, false); $query->querymode = Query::MODE_INSTANCES; return $this->getStore()->getQueryResult($query); }
public function prune(&$maxsize, &$maxdepth, &$log) { if ($maxsize >= $this->getSize()) { $maxsize = $maxsize - $this->getSize(); return $this; } elseif ($maxsize <= 0) { $log[] = $this->getQueryString(); $result = new ThingDescription(); } else { $result = new ClassDescription(array_slice($this->m_diWikiPages, 0, $maxsize)); $rest = new ClassDescription(array_slice($this->m_diWikiPages, $maxsize)); $log[] = $rest->getQueryString(); $maxsize = 0; } $result->setPrintRequests($this->getPrintRequests()); return $result; }
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; }