source: Dev/branches/rest-dojo-ui/Demo/rdfapi/sparql/QueryTriple.php @ 312

Last change on this file since 312 was 312, checked in by jkraaijeveld, 13 years ago
File size: 2.6 KB
Line 
1<?php
2// ---------------------------------------------
3// Class: QueryTriple
4// ---------------------------------------------
5require_once RDFAPI_INCLUDE_DIR . 'sparql/SparqlVariable.php';
6
7/**
8* Represents a query triple with subject, predicate and object.
9*
10* @author   Tobias Gauss <tobias.gauss@web.de>
11* @version      $Id$
12* @license http://www.gnu.org/licenses/lgpl.html LGPL
13*
14* @package sparql
15*/
16class QueryTriple extends Object
17{
18
19    /**
20    * The QueryTriples Subject.
21    * Can be a BlankNode or Resource, string in
22    * case of a variable
23    * @var Node/string
24    */
25    protected $subject;
26
27    /**
28    * The QueryTriples Predicate.
29    * Normally only a Resource, string in
30    * case of a variable
31    * @var Node/string
32    */
33    protected $predicate;
34
35    /**
36    * The QueryTriples Object.
37    * Can be BlankNode, Resource or Literal, string in
38    * case of a variable
39    * @var Node/string
40    */
41    protected $object;
42
43
44
45    /**
46    * Constructor
47    *
48    * @param Node $sub  Subject
49    * @param Node $pred Predicate
50    * @param Node $ob   Object
51    */
52    public function QueryTriple($sub,$pred,$ob)
53    {
54        $this->subject   = $sub;
55        $this->predicate = $pred;
56        $this->object    = $ob;
57    }
58
59    /**
60    * Returns the Triples Subject.
61    *
62    * @return Node
63    */
64    public function getSubject()
65    {
66        return $this->subject;
67    }
68
69    /**
70    * Returns the Triples Predicate.
71    *
72    * @return Node
73    */
74    public function getPredicate()
75    {
76        return $this->predicate;
77    }
78
79    /**
80    * Returns the Triples Object.
81    *
82    * @return Node
83    */
84    public function getObject()
85    {
86        return $this->object;
87    }
88
89
90
91    /**
92    *   Returns an array of all variables in this triple.
93    *
94    *   @return array   Array of variable names
95    */
96    public function getVariables()
97    {
98        $arVars = array();
99
100        foreach (array('subject', 'predicate', 'object') as $strVar) {
101            if (SparqlVariable::isVariable($this->$strVar)) {
102                $arVars[] = $this->$strVar;
103            }
104        }
105
106        return $arVars;
107    }//public function getVariables()
108
109
110
111    public function __clone()
112    {
113        foreach (array('subject', 'predicate', 'object') as $strVar) {
114            if (is_object($this->$strVar)) {
115                $this->$strVar = clone $this->$strVar;
116            }
117        }
118    }//public function __clone()
119
120}//class QueryTriple extends Object
121
122// end class: QueryTriple.php
123?>
Note: See TracBrowser for help on using the repository browser.