/**
  * setElement
  * @param int $i
  * @param Erfurt_Sparql_Query2_IF_TriplesSameSubject $element
  * @return Erfurt_Sparql_Query2_ConstructTemplate $this
  */
 public function setElement($i, $element)
 {
     if (!is_int($i)) {
         throw new RuntimeException('Argument 1 passed to Erfurt_Sparql_Query2_GroupOrUnionGraphPattern::setElement must be an instance of integer, instance of ' . typeHelper($i) . ' given');
     }
     if (!$element instanceof Erfurt_Sparql_Query2_IF_TriplesSameSubject) {
         throw new RuntimeException('Argument 1 passed to Erfurt_Sparql_Query2_GroupOrUnionGraphPattern::addElement must be an instance of Erfurt_Sparql_Query2_IF_TriplesSameSubject');
     }
     $this->elements[$i] = $element;
     $element->addParent($this);
     return $this;
     //for chaining
 }
Exemple #2
0
 /**
  * order by a property (must be set as shown property before)
  *
  * @param type    $uri the property to order by
  * @param boolean $asc true if ascending, false if descending
  */
 public function setOrderProperty($uri, $asc = true)
 {
     $this->setOffset(0);
     if ($this->_sortTriple == null) {
         $orderVar = new Erfurt_Sparql_Query2_Var('order');
         $this->_sortTriple = new Erfurt_Sparql_Query2_OptionalGraphPattern(array(new Erfurt_Sparql_Query2_Triple($this->getResourceVar(), new Erfurt_Sparql_Query2_IriRef($uri), $orderVar)));
         $this->_resourceQuery->getWhere()->addElement($this->_sortTriple);
         $this->_resourceQuery->getOrder()->add($orderVar, $asc ? Erfurt_Sparql_Query2_OrderClause::ASC : Erfurt_Sparql_Query2_OrderClause::DESC);
     } else {
         $this->_sortTriple->getElement(0)->setP(new Erfurt_Sparql_Query2_IriRef($uri));
         if ($asc) {
             $this->_resourceQuery->getOrder()->setAsc(0);
         } else {
             $this->_resourceQuery->getOrder()->setDesc(0);
         }
     }
     $this->invalidate();
 }