Completed
Push — master ( c6c130...999f50 )
by Osma
02:17
created
model/sparql/GenericSparql.php 3 patches
Doc Comments   +9 added lines, -5 removed lines patch added patch discarded remove patch
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
 
153 153
     /**
154 154
      * Returns the graph instance
155
-     * @return object EasyRDF graph instance.
155
+     * @return string|null EasyRDF graph instance.
156 156
      */
157 157
     public function getGraph() {
158 158
         return $this->graph;
@@ -287,6 +287,7 @@  discard block
 block discarded – undo
287 287
     /**
288 288
      * Counts the number of concepts in a easyRDF graph with a specific language.
289 289
      * @param array $langs Languages to query for
290
+     * @param string[] $classes
290 291
      * @return Array containing count of concepts for each language and property.
291 292
      */
292 293
     public function countLangConcepts($langs, $classes = null) {
@@ -471,7 +472,7 @@  discard block
 block discarded – undo
471 472
      * Returns information (as a graph) for one or more concept URIs
472 473
      * @param mixed $uris concept URI (string) or array of URIs
473 474
      * @param string|null $arrayClass the URI for thesaurus array class, or null if not used
474
-     * @param \Vocabulary[]|null $vocabs vocabularies to target
475
+     * @param Vocabulary[] $vocabs vocabularies to target
475 476
      * @return \EasyRdf\Graph
476 477
      */
477 478
     public function queryConceptInfoGraph($uris, $arrayClass = null, $vocabs = array()) {
@@ -487,7 +488,7 @@  discard block
 block discarded – undo
487 488
 
488 489
     /**
489 490
      * Returns information (as an array of Concept objects) for one or more concept URIs
490
-     * @param mixed $uris concept URI (string) or array of URIs
491
+     * @param string $uris concept URI (string) or array of URIs
491 492
      * @param string|null $arrayClass the URI for thesaurus array class, or null if not used
492 493
      * @param \Vocabulary[] $vocabs vocabularies to target
493 494
      * @param string|null $clang content language
@@ -705,7 +706,7 @@  discard block
 block discarded – undo
705 706
 
706 707
     /**
707 708
      * Generate a VALUES clause for limiting the targeted graphs.
708
-     * @param Vocabulary[]|null $vocabs array of Vocabulary objects to target
709
+     * @param Vocabulary[] $vocabs array of Vocabulary objects to target
709 710
      * @return string VALUES clause, or "" if not necessary to limit
710 711
      */
711 712
     protected function formatValuesGraph($vocabs) {
@@ -887,6 +888,7 @@  discard block
 block discarded – undo
887 888
      * @param string $searchLang language code used for matching labels (null means any language)
888 889
      * @param string[] $props properties to target e.g. array('skos:prefLabel','skos:altLabel')
889 890
      * @param boolean $unique restrict results to unique concepts (default: false)
891
+     * @param string $filterGraph
890 892
      * @return string sparql query
891 893
      */
892 894
     protected function generateConceptSearchQueryInner($term, $lang, $searchLang, $props, $unique, $filterGraph)
@@ -1161,6 +1163,7 @@  discard block
 block discarded – undo
1161 1163
     /**
1162 1164
      * Generates sparql query clauses used for creating the alphabetical index.
1163 1165
      * @param string $letter the letter (or special class) to search for
1166
+     * @param string $lang
1164 1167
      * @return array of sparql query clause strings
1165 1168
      */
1166 1169
     private function formatFilterConditions($letter, $lang) {
@@ -1328,6 +1331,7 @@  discard block
 block discarded – undo
1328 1331
     /**
1329 1332
      * Query for the first characters (letter or otherwise) of the labels in the particular language.
1330 1333
      * @param string $lang language
1334
+     * @param string[] $classes
1331 1335
      * @return array array of characters
1332 1336
      */
1333 1337
     public function queryFirstCharacters($lang, $classes = null) {
@@ -1650,7 +1654,7 @@  discard block
 block discarded – undo
1650 1654
     /**
1651 1655
      * Query a single transitive property of a concept.
1652 1656
      * @param string $uri
1653
-     * @param array $props the property/properties.
1657
+     * @param string[] $props the property/properties.
1654 1658
      * @param string $lang
1655 1659
      * @param string $fallbacklang language to use if label is not available in the preferred language
1656 1660
      * @param integer $limit
Please login to merge, or discard this patch.
Spacing   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -88,11 +88,11 @@  discard block
 block discarded – undo
88 88
     protected function query($query) {
89 89
         $queryId = sprintf("%05d", rand(0, 99999));
90 90
         $logger = $this->model->getLogger();
91
-        $logger->info("[qid $queryId] SPARQL query:\n" . $this->generateQueryPrefixes($query) . "\n$query\n");
91
+        $logger->info("[qid $queryId] SPARQL query:\n".$this->generateQueryPrefixes($query)."\n$query\n");
92 92
         $starttime = microtime(true);
93 93
         $result = $this->client->query($query);
94 94
         $elapsed = intval(round((microtime(true) - $starttime) * 1000));
95
-        if(method_exists($result, 'numRows')) {
95
+        if (method_exists($result, 'numRows')) {
96 96
             $numRows = $result->numRows();
97 97
             $logger->info("[qid $queryId] result: $numRows rows returned in $elapsed ms");
98 98
         } else { // graph result
@@ -108,7 +108,7 @@  discard block
 block discarded – undo
108 108
      * @param Vocabulary[]|null $vocabs
109 109
      * @return string
110 110
      */
111
-    protected function generateFromClause($vocabs=null) {
111
+    protected function generateFromClause($vocabs = null) {
112 112
         $clause = '';
113 113
         if (!$vocabs) {
114 114
             return $this->graph !== '?graph' && $this->graph !== NULL ? "FROM <$this->graph>" : '';
@@ -235,7 +235,7 @@  discard block
 block discarded – undo
235 235
 
236 236
 	$quote_string = function($val) { return "'$val'"; };
237 237
 	$quoted_values = array_map($quote_string, $langs);
238
-	$langFilter = "FILTER(?lang IN (" . implode(',', $quoted_values) . "))";
238
+	$langFilter = "FILTER(?lang IN (".implode(',', $quoted_values)."))";
239 239
 
240 240
         $values = $this->formatValues('?type', $classes, 'uri');
241 241
         $valuesProp = $this->formatValues('?prop', $props, null);
@@ -661,9 +661,9 @@  discard block
 block discarded – undo
661 661
                 $conceptscheme['title'] = $row->title->getValue();
662 662
             }
663 663
             // add dct:subject and their labels in the result
664
-            if(isset($row->domain) && isset($row->domainLabel)){
665
-                $conceptscheme['subject']['uri']=$row->domain->getURI();
666
-                $conceptscheme['subject']['prefLabel']=$row->domainLabel->getValue();
664
+            if (isset($row->domain) && isset($row->domainLabel)) {
665
+                $conceptscheme['subject']['uri'] = $row->domain->getURI();
666
+                $conceptscheme['subject']['prefLabel'] = $row->domainLabel->getValue();
667 667
             }
668 668
 
669 669
             $ret[$row->cs->getURI()] = $conceptscheme;
@@ -730,7 +730,7 @@  discard block
 block discarded – undo
730 730
           $values[] = "<$graph>";
731 731
         }
732 732
         if (count($values)) {
733
-          return "FILTER (?graph IN (" . implode(',', $values) . "))";
733
+          return "FILTER (?graph IN (".implode(',', $values)."))";
734 734
         }
735 735
     }
736 736
 
@@ -741,16 +741,16 @@  discard block
 block discarded – undo
741 741
      * @return string sparql query clauses
742 742
      */
743 743
     protected function formatLimitAndOffset($limit, $offset) {
744
-        $limit = ($limit) ? 'LIMIT ' . $limit : '';
745
-        $offset = ($offset) ? 'OFFSET ' . $offset : '';
744
+        $limit = ($limit) ? 'LIMIT '.$limit : '';
745
+        $offset = ($offset) ? 'OFFSET '.$offset : '';
746 746
         // eliminating whitespace and line changes when the conditions aren't needed.
747 747
         $limitandoffset = '';
748 748
         if ($limit && $offset) {
749
-            $limitandoffset = "\n" . $limit . "\n" . $offset;
749
+            $limitandoffset = "\n".$limit."\n".$offset;
750 750
         } elseif ($limit) {
751
-            $limitandoffset = "\n" . $limit;
751
+            $limitandoffset = "\n".$limit;
752 752
         } elseif ($offset) {
753
-            $limitandoffset = "\n" . $offset;
753
+            $limitandoffset = "\n".$offset;
754 754
         }
755 755
 
756 756
         return $limitandoffset;
@@ -902,14 +902,14 @@  discard block
 block discarded – undo
902 902
         // if search language and UI/display language differ, must also consider case where there is no prefLabel in
903 903
         // the display language; in that case, should use the label with the same language as the matched label
904 904
         $labelcondFallback = ($searchLang != $lang) ?
905
-          "OPTIONAL { # in case previous OPTIONAL block gives no labels\n" .
905
+          "OPTIONAL { # in case previous OPTIONAL block gives no labels\n".
906 906
           "?s skos:prefLabel ?label . FILTER (LANGMATCHES(LANG(?label), LANG(?match))) }" : "";
907 907
           
908 908
         //  Including the labels if there is no query term given.
909 909
         if ($rawterm === '') {
910 910
           $labelClause = "?s skos:prefLabel ?label .";
911
-          $labelClause = ($lang) ? $labelClause . " FILTER (LANGMATCHES(LANG(?label), '$lang'))" : $labelClause . "";
912
-          return $labelClause . " BIND(?label AS ?match)";
911
+          $labelClause = ($lang) ? $labelClause." FILTER (LANGMATCHES(LANG(?label), '$lang'))" : $labelClause."";
912
+          return $labelClause." BIND(?label AS ?match)";
913 913
         }
914 914
 
915 915
         /*
@@ -973,20 +973,20 @@  discard block
 block discarded – undo
973 973
         $schemecond = '';
974 974
         if (!empty($schemes)) {
975 975
             $conditions = array();
976
-            foreach($schemes as $scheme) {
976
+            foreach ($schemes as $scheme) {
977 977
                 $conditions[] = "{?s skos:inScheme <$scheme>}";
978 978
             }
979
-            $schemecond = '{'.implode(" UNION ",$conditions).'}';
979
+            $schemecond = '{'.implode(" UNION ", $conditions).'}';
980 980
         }
981
-        $filterDeprecated="";
981
+        $filterDeprecated = "";
982 982
         //show or hide deprecated concepts
983
-        if(!$showDeprecated){
984
-            $filterDeprecated="FILTER NOT EXISTS { ?s owl:deprecated true }";
983
+        if (!$showDeprecated) {
984
+            $filterDeprecated = "FILTER NOT EXISTS { ?s owl:deprecated true }";
985 985
         }
986 986
         // extra conditions for parent and group, if specified
987
-        $parentcond = ($params->getParentLimit()) ? "?s skos:broader+ <" . $params->getParentLimit() . "> ." : "";
988
-        $groupcond = ($params->getGroupLimit()) ? "<" . $params->getGroupLimit() . "> skos:member ?s ." : "";
989
-        $pgcond = $parentcond . $groupcond;
987
+        $parentcond = ($params->getParentLimit()) ? "?s skos:broader+ <".$params->getParentLimit()."> ." : "";
988
+        $groupcond = ($params->getGroupLimit()) ? "<".$params->getGroupLimit()."> skos:member ?s ." : "";
989
+        $pgcond = $parentcond.$groupcond;
990 990
 
991 991
         $orderextra = $this->isDefaultEndpoint() ? $this->graph : '';
992 992
 
@@ -1059,9 +1059,9 @@  discard block
 block discarded – undo
1059 1059
             $hit['type'][] = $this->shortenUri($typeuri);
1060 1060
         }
1061 1061
 
1062
-        if(!empty($fields)) {
1062
+        if (!empty($fields)) {
1063 1063
             foreach ($fields as $prop) {
1064
-                $propname = $prop . 's';
1064
+                $propname = $prop.'s';
1065 1065
                 if (isset($row->$propname)) {
1066 1066
                     foreach (explode("\n", $row->$propname->getValue()) as $line) {
1067 1067
                         $rdata = str_getcsv($line, ',', '"', '"');
@@ -1076,7 +1076,7 @@  discard block
 block discarded – undo
1076 1076
                             $propvals = $rdata[2];
1077 1077
                         }
1078 1078
 
1079
-                        $hit['skos:' . $prop][] = $propvals;
1079
+                        $hit['skos:'.$prop][] = $propvals;
1080 1080
                     }
1081 1081
                 }
1082 1082
             }
@@ -1152,7 +1152,7 @@  discard block
 block discarded – undo
1152 1152
      * @return array query result object
1153 1153
      */
1154 1154
     public function queryConcepts($vocabs, $fields = null, $unique = false, $params, $showDeprecated = false) {
1155
-        $query = $this->generateConceptSearchQuery($fields, $unique, $params,$showDeprecated);
1155
+        $query = $this->generateConceptSearchQuery($fields, $unique, $params, $showDeprecated);
1156 1156
         $results = $this->query($query);
1157 1157
         return $this->transformConceptSearchResults($results, $vocabs, $fields);
1158 1158
     }
@@ -1206,9 +1206,9 @@  discard block
 block discarded – undo
1206 1206
         $conditions = $this->formatFilterConditions($letter, $lang);
1207 1207
         $filtercondLabel = $conditions['filterpref'];
1208 1208
         $filtercondALabel = $conditions['filteralt'];
1209
-        $filterDeprecated="";
1210
-        if(!$showDeprecated){
1211
-            $filterDeprecated="FILTER NOT EXISTS { ?s owl:deprecated true }";
1209
+        $filterDeprecated = "";
1210
+        if (!$showDeprecated) {
1211
+            $filterDeprecated = "FILTER NOT EXISTS { ?s owl:deprecated true }";
1212 1212
         }
1213 1213
         $query = <<<EOQ
1214 1214
 SELECT DISTINCT ?s ?label ?alabel $fcl
@@ -1284,8 +1284,8 @@  discard block
 block discarded – undo
1284 1284
      * @param array $classes
1285 1285
      * @param boolean $showDeprecated whether to include deprecated concepts in the result (default: false)
1286 1286
      */
1287
-    public function queryConceptsAlphabetical($letter, $lang, $limit = null, $offset = null, $classes = null,$showDeprecated = false) {
1288
-        $query = $this->generateAlphabeticalListQuery($letter, $lang, $limit, $offset, $classes,$showDeprecated);
1287
+    public function queryConceptsAlphabetical($letter, $lang, $limit = null, $offset = null, $classes = null, $showDeprecated = false) {
1288
+        $query = $this->generateAlphabeticalListQuery($letter, $lang, $limit, $offset, $classes, $showDeprecated);
1289 1289
         $results = $this->query($query);
1290 1290
         return $this->transformAlphabeticalListResults($results);
1291 1291
     }
@@ -1619,7 +1619,7 @@  discard block
 block discarded – undo
1619 1619
                 if (!isset($row->label) || $row->label->getLang() === $lang) {
1620 1620
                     $ret[$row->object->getUri()] = $val;
1621 1621
                 } elseif ($row->label->getLang() === $fallbacklang) {
1622
-                    $val['label'] .= ' (' . $row->label->getLang() . ')';
1622
+                    $val['label'] .= ' ('.$row->label->getLang().')';
1623 1623
                     $ret[$row->object->getUri()] = $val;
1624 1624
                 }
1625 1625
             }
@@ -1715,10 +1715,10 @@  discard block
 block discarded – undo
1715 1715
 
1716 1716
             $label = null;
1717 1717
             if (isset($row->label)) {
1718
-                if ($row->label->getLang() == $lang || strpos($row->label->getLang(), $lang . "-") == 0) {
1718
+                if ($row->label->getLang() == $lang || strpos($row->label->getLang(), $lang."-") == 0) {
1719 1719
                     $label = $row->label->getValue();
1720 1720
                 } else {
1721
-                    $label = $row->label->getValue() . " (" . $row->label->getLang() . ")";
1721
+                    $label = $row->label->getValue()." (".$row->label->getLang().")";
1722 1722
                 }
1723 1723
 
1724 1724
             }
@@ -1794,8 +1794,8 @@  discard block
 block discarded – undo
1794 1794
         foreach ($result as $row) {
1795 1795
             if (isset($row->top) && isset($row->label)) {
1796 1796
                 $label = $row->label->getValue();
1797
-                if ($row->label->getLang() && $row->label->getLang() !== $lang && strpos($row->label->getLang(), $lang . "-") !== 0) {
1798
-                    $label .= ' (' . $row->label->getLang() . ')';
1797
+                if ($row->label->getLang() && $row->label->getLang() !== $lang && strpos($row->label->getLang(), $lang."-") !== 0) {
1798
+                    $label .= ' ('.$row->label->getLang().')';
1799 1799
                 }
1800 1800
                 $top = array('uri' => $row->top->getUri(), 'topConceptOf' => $row->topuri->getUri(), 'label' => $label, 'hasChildren' => filter_var($row->children->getValue(), FILTER_VALIDATE_BOOLEAN));
1801 1801
                 if (isset($row->notation)) {
@@ -1888,7 +1888,7 @@  discard block
 block discarded – undo
1888 1888
                 $ret[$uri]['exact'] = $row->exact->getUri();
1889 1889
             }
1890 1890
             if (isset($row->tops)) {
1891
-               $topConceptsList=explode(" ", $row->tops->getValue());
1891
+               $topConceptsList = explode(" ", $row->tops->getValue());
1892 1892
                // sort to garantee an alphabetical ordering of the URI
1893 1893
                sort($topConceptsList);
1894 1894
                $ret[$uri]['tops'] = $topConceptsList;
@@ -1901,8 +1901,8 @@  discard block
 block discarded – undo
1901 1901
                 $label = null;
1902 1902
                 if (isset($row->childlabel)) {
1903 1903
                     $label = $row->childlabel->getValue();
1904
-                    if ($row->childlabel->getLang() !== $lang && strpos($row->childlabel->getLang(), $lang . "-") !== 0) {
1905
-                        $label .= " (" . $row->childlabel->getLang() . ")";
1904
+                    if ($row->childlabel->getLang() !== $lang && strpos($row->childlabel->getLang(), $lang."-") !== 0) {
1905
+                        $label .= " (".$row->childlabel->getLang().")";
1906 1906
                     }
1907 1907
 
1908 1908
                 }
@@ -1923,8 +1923,8 @@  discard block
 block discarded – undo
1923 1923
             }
1924 1924
             if (isset($row->label)) {
1925 1925
                 $preflabel = $row->label->getValue();
1926
-                if ($row->label->getLang() && $row->label->getLang() !== $lang && strpos($row->label->getLang(), $lang . "-") !== 0) {
1927
-                    $preflabel .= ' (' . $row->label->getLang() . ')';
1926
+                if ($row->label->getLang() && $row->label->getLang() !== $lang && strpos($row->label->getLang(), $lang."-") !== 0) {
1927
+                    $preflabel .= ' ('.$row->label->getLang().')';
1928 1928
                 }
1929 1929
 
1930 1930
                 $ret[$uri]['prefLabel'] = $preflabel;
@@ -2045,9 +2045,9 @@  discard block
 block discarded – undo
2045 2045
      */
2046 2046
     private function generateConceptGroupContentsQuery($groupClass, $group, $lang, $showDeprecated = false) {
2047 2047
         $fcl = $this->generateFromClause();
2048
-        $filterDeprecated="";
2049
-        if(!$showDeprecated){
2050
-            $filterDeprecated="  FILTER NOT EXISTS { ?conc owl:deprecated true }";
2048
+        $filterDeprecated = "";
2049
+        if (!$showDeprecated) {
2050
+            $filterDeprecated = "  FILTER NOT EXISTS { ?conc owl:deprecated true }";
2051 2051
         }
2052 2052
         $query = <<<EOQ
2053 2053
 SELECT ?conc ?super ?label ?members ?type ?notation $fcl
@@ -2086,10 +2086,10 @@  discard block
 block discarded – undo
2086 2086
                     'type' => array($row->type->shorten()),
2087 2087
                 );
2088 2088
                 if (isset($row->label)) {
2089
-                    if ($row->label->getLang() == $lang || strpos($row->label->getLang(), $lang . "-") == 0) {
2089
+                    if ($row->label->getLang() == $lang || strpos($row->label->getLang(), $lang."-") == 0) {
2090 2090
                         $values[$row->conc->getURI()]['prefLabel'] = $row->label->getValue();
2091 2091
                     } else {
2092
-                        $values[$row->conc->getURI()]['prefLabel'] = $row->label->getValue() . " (" . $row->label->getLang() . ")";
2092
+                        $values[$row->conc->getURI()]['prefLabel'] = $row->label->getValue()." (".$row->label->getLang().")";
2093 2093
                     }
2094 2094
 
2095 2095
                 }
@@ -2117,8 +2117,8 @@  discard block
 block discarded – undo
2117 2117
      * @param boolean $showDeprecated whether to include deprecated concepts in search results
2118 2118
      * @return array Result array with concept URI as key and concept label as value
2119 2119
      */
2120
-    public function listConceptGroupContents($groupClass, $group, $lang,$showDeprecated = false) {
2121
-        $query = $this->generateConceptGroupContentsQuery($groupClass, $group, $lang,$showDeprecated);
2120
+    public function listConceptGroupContents($groupClass, $group, $lang, $showDeprecated = false) {
2121
+        $query = $this->generateConceptGroupContentsQuery($groupClass, $group, $lang, $showDeprecated);
2122 2122
         $result = $this->query($query);
2123 2123
         return $this->transformConceptGroupContentsResults($result, $lang);
2124 2124
     }
@@ -2131,7 +2131,7 @@  discard block
 block discarded – undo
2131 2131
      */
2132 2132
     private function generateChangeListQuery($lang, $offset, $prop) {
2133 2133
         $fcl = $this->generateFromClause();
2134
-        $offset = ($offset) ? 'OFFSET ' . $offset : '';
2134
+        $offset = ($offset) ? 'OFFSET '.$offset : '';
2135 2135
 
2136 2136
         $query = <<<EOQ
2137 2137
 SELECT DISTINCT ?concept ?date ?label $fcl
Please login to merge, or discard this patch.
Braces   +7 added lines, -4 removed lines patch added patch discarded remove patch
@@ -47,12 +47,16 @@  discard block
 block discarded – undo
47 47
         $this->client = new EasyRdf\Sparql\Client($endpoint);
48 48
 
49 49
         // set graphClause so that it can be used by all queries
50
-        if ($this->isDefaultEndpoint()) // default endpoint; query any graph (and catch it in a variable)
50
+        if ($this->isDefaultEndpoint()) {
51
+          // default endpoint; query any graph (and catch it in a variable)
51 52
         {
52 53
             $this->graphClause = "GRAPH $graph";
53
-        } elseif ($graph !== null) // query a specific graph
54
+        }
55
+        } elseif ($graph !== null) {
56
+          // query a specific graph
54 57
         {
55 58
             $this->graphClause = "GRAPH <$graph>";
59
+        }
56 60
         } else // query the default graph
57 61
         {
58 62
             $this->graphClause = "";
@@ -1942,8 +1946,7 @@  discard block
 block discarded – undo
1942 1946
         if (sizeof($ret) > 0) {
1943 1947
             // existing concept, with children
1944 1948
             return $ret;
1945
-        }
1946
-        else {
1949
+        } else {
1947 1950
             // nonexistent concept
1948 1951
             return null;
1949 1952
         }
Please login to merge, or discard this patch.