@@ -3,6 +3,9 @@ |
||
3 | 3 | class LabelSkosXL extends DataObject |
4 | 4 | { |
5 | 5 | |
6 | + /** |
|
7 | + * @param Model $model |
|
8 | + */ |
|
6 | 9 | public function __construct($model, $resource) |
7 | 10 | { |
8 | 11 | parent::__construct($model, $resource); |
@@ -124,8 +124,8 @@ |
||
124 | 124 | */ |
125 | 125 | public function getEnvLang() |
126 | 126 | { |
127 | - // get language from locale, same as used by gettext, set by Controller |
|
128 | - return substr(getenv("LC_ALL"), 0, 2); // @codeCoverageIgnore |
|
127 | + // get language from locale, same as used by gettext, set by Controller |
|
128 | + return substr(getenv("LC_ALL"), 0, 2); // @codeCoverageIgnore |
|
129 | 129 | } |
130 | 130 | |
131 | 131 | /** |
@@ -517,13 +517,13 @@ |
||
517 | 517 | |
518 | 518 | $defaultPropLabel = $this->model->getDefaultSparql()->queryLabel($longUri, ''); |
519 | 519 | |
520 | - if($envLangLabels) { |
|
521 | - $proplabel = $envLangLabels[$this->getEnvLang()]; |
|
520 | + if($envLangLabels) { |
|
521 | + $proplabel = $envLangLabels[$this->getEnvLang()]; |
|
522 | 522 | } else { |
523 | - if($defaultPropLabel) { |
|
524 | - $proplabel = $defaultPropLabel['']; |
|
525 | - } |
|
526 | - } |
|
523 | + if($defaultPropLabel) { |
|
524 | + $proplabel = $defaultPropLabel['']; |
|
525 | + } |
|
526 | + } |
|
527 | 527 | } |
528 | 528 | |
529 | 529 | // look for superproperties in the current graph |
@@ -74,6 +74,7 @@ discard block |
||
74 | 74 | * @param Vocabulary $vocab |
75 | 75 | * @param EasyRdf\Resource $resource |
76 | 76 | * @param EasyRdf\Graph $graph |
77 | + * @param string|null $clang |
|
77 | 78 | */ |
78 | 79 | public function __construct($model, $vocab, $resource, $graph, $clang) |
79 | 80 | { |
@@ -738,6 +739,7 @@ discard block |
||
738 | 739 | |
739 | 740 | /** |
740 | 741 | * Gets the groups/arrays the concept belongs to. |
742 | + * @param boolean $includeArrays |
|
741 | 743 | */ |
742 | 744 | private function getCollections($includeArrays) { |
743 | 745 | $groups = array(); |
@@ -30,14 +30,14 @@ |
||
30 | 30 | $url = $baseurl . "$vocid/"; |
31 | 31 | } else { |
32 | 32 | |
33 | - if ($localname !== $uri && $localname === urlencode($localname)) { |
|
34 | - // the URI can be shortened |
|
33 | + if ($localname !== $uri && $localname === urlencode($localname)) { |
|
34 | + // the URI can be shortened |
|
35 | 35 | $url = $baseurl . "$vocid/page/$localname"; |
36 | 36 | } else { |
37 | 37 | // must use full URI |
38 | - $query = http_build_query(array('uri'=>$uri)); |
|
38 | + $query = http_build_query(array('uri'=>$uri)); |
|
39 | 39 | $url = $baseurl . "$vocid/page/?" . $query; |
40 | - } |
|
40 | + } |
|
41 | 41 | } |
42 | 42 | $this->redirect303($url); |
43 | 43 | } |
@@ -169,6 +169,8 @@ |
||
169 | 169 | |
170 | 170 | /** |
171 | 171 | * Return the mapping as a JSKOS-compatible array. |
172 | + * @param string $lang |
|
173 | + * @param string $hrefLink |
|
172 | 174 | * @return array |
173 | 175 | */ |
174 | 176 | public function asJskos($queryExVocabs = true, $lang = null, $hrefLink = null) |
@@ -266,6 +266,7 @@ discard block |
||
266 | 266 | |
267 | 267 | /** |
268 | 268 | * Returns skosmos:marcSourcecode value set in config.ttl. |
269 | + * @param string $lang |
|
269 | 270 | * @return string marcsource name |
270 | 271 | */ |
271 | 272 | public function getMarcSourceCode($lang = null) |
@@ -275,7 +276,7 @@ discard block |
||
275 | 276 | |
276 | 277 | /** |
277 | 278 | * Returns a boolean value set in the config.ttl config. |
278 | - * @return array array of concept class URIs (can be empty) |
|
279 | + * @return string[] array of concept class URIs (can be empty) |
|
279 | 280 | */ |
280 | 281 | public function getIndexClasses() |
281 | 282 | { |
@@ -284,7 +285,7 @@ discard block |
||
284 | 285 | |
285 | 286 | /** |
286 | 287 | * Returns skosmos:externalProperty values set in the config.ttl config. |
287 | - * @return array array of external property URIs (can be empty) |
|
288 | + * @return string[] array of external property URIs (can be empty) |
|
288 | 289 | */ |
289 | 290 | public function getExtProperties() |
290 | 291 | { |
@@ -410,6 +411,7 @@ discard block |
||
410 | 411 | |
411 | 412 | /** |
412 | 413 | * Returns the vocabulary dc:type value(s) with their labels and uris, if set in the vocabulary configuration. |
414 | + * @param string $lang |
|
413 | 415 | * @return array of objects or an empty array |
414 | 416 | */ |
415 | 417 | public function getTypes($lang = null) |
@@ -23,6 +23,7 @@ discard block |
||
23 | 23 | |
24 | 24 | /** |
25 | 25 | * Initializes the Model object. |
26 | + * @param Model $model |
|
26 | 27 | */ |
27 | 28 | public function __construct($model) |
28 | 29 | { |
@@ -290,7 +291,7 @@ discard block |
||
290 | 291 | * Sends HTTP headers. Simply calls PHP built-in header function. But being |
291 | 292 | * a function here, it can easily be tested/mocked. |
292 | 293 | * |
293 | - * @param $header string header to be sent |
|
294 | + * @param string $header string header to be sent |
|
294 | 295 | */ |
295 | 296 | protected function sendHeader($header) |
296 | 297 | { |
@@ -152,7 +152,7 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
@@ -65,7 +65,7 @@ discard block |
||
65 | 65 | * |
66 | 66 | * @param string $query |
67 | 67 | * @return string |
68 | - */ |
|
68 | + */ |
|
69 | 69 | protected function generateQueryPrefixes($query) |
70 | 70 | { |
71 | 71 | // Check for undefined prefixes |
@@ -233,9 +233,9 @@ discard block |
||
233 | 233 | $gcl = $this->graphClause; |
234 | 234 | $classes = ($classes) ? $classes : array('http://www.w3.org/2004/02/skos/core#Concept'); |
235 | 235 | |
236 | - $quote_string = function($val) { return "'$val'"; }; |
|
237 | - $quoted_values = array_map($quote_string, $langs); |
|
238 | - $langFilter = "FILTER(?lang IN (" . implode(',', $quoted_values) . "))"; |
|
236 | + $quote_string = function($val) { return "'$val'"; }; |
|
237 | + $quoted_values = array_map($quote_string, $langs); |
|
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); |
@@ -962,7 +962,7 @@ discard block |
||
962 | 962 | return $query; |
963 | 963 | } |
964 | 964 | /** |
965 | - * This function can be overwritten in other SPARQL dialects for the possibility of handling the different language clauses |
|
965 | + * This function can be overwritten in other SPARQL dialects for the possibility of handling the different language clauses |
|
966 | 966 | * @param string $lang |
967 | 967 | * @return string formatted language clause |
968 | 968 | */ |
@@ -1911,7 +1911,7 @@ discard block |
||
1911 | 1911 | |
1912 | 1912 | /** |
1913 | 1913 | * Generates a sparql query for finding the hierarchy for a concept. |
1914 | - * A concept may be a top concept in multiple schemes, returned as a single whitespace-separated literal. |
|
1914 | + * A concept may be a top concept in multiple schemes, returned as a single whitespace-separated literal. |
|
1915 | 1915 | * @param string $uri concept uri. |
1916 | 1916 | * @param string $lang |
1917 | 1917 | * @param string $fallback language to use if label is not available in the preferred language |
@@ -1988,10 +1988,10 @@ discard block |
||
1988 | 1988 | $ret[$uri]['exact'] = $row->exact->getUri(); |
1989 | 1989 | } |
1990 | 1990 | if (isset($row->tops)) { |
1991 | - $topConceptsList=explode(" ", $row->tops->getValue()); |
|
1992 | - // sort to guarantee an alphabetical ordering of the URI |
|
1993 | - sort($topConceptsList); |
|
1994 | - $ret[$uri]['tops'] = $topConceptsList; |
|
1991 | + $topConceptsList=explode(" ", $row->tops->getValue()); |
|
1992 | + // sort to guarantee an alphabetical ordering of the URI |
|
1993 | + sort($topConceptsList); |
|
1994 | + $ret[$uri]['tops'] = $topConceptsList; |
|
1995 | 1995 | } |
1996 | 1996 | if (isset($row->children)) { |
1997 | 1997 | if (!isset($ret[$uri]['narrower'])) { |
@@ -575,9 +575,9 @@ discard block |
||
575 | 575 | $vocid = $request->getVocab()->getId(); |
576 | 576 | return $this->returnError('404', 'Not Found', "No download source URL known for vocabulary $vocid in language $dataLang"); |
577 | 577 | } |
578 | - } else { |
|
578 | + } else { |
|
579 | 579 | header("Location: " . $urls[$format]); |
580 | - } |
|
580 | + } |
|
581 | 581 | } |
582 | 582 | |
583 | 583 | private function returnDataResults($results, $format) { |
@@ -1100,15 +1100,15 @@ discard block |
||
1100 | 1100 | foreach($changeList as $conceptInfo) { |
1101 | 1101 | if (array_key_exists('date', $conceptInfo)) { |
1102 | 1102 | $simpleChangeList[] = array( 'uri' => $conceptInfo['uri'], |
1103 | - 'prefLabel' => $conceptInfo['prefLabel'], |
|
1104 | - 'date' => $conceptInfo['date']->format("Y-m-d\TH:i:sO") ); |
|
1103 | + 'prefLabel' => $conceptInfo['prefLabel'], |
|
1104 | + 'date' => $conceptInfo['date']->format("Y-m-d\TH:i:sO") ); |
|
1105 | 1105 | } |
1106 | 1106 | } |
1107 | 1107 | return $this->returnJson(array_merge_recursive($this->context, |
1108 | 1108 | array('@context' => array( '@language' => $request->getLang(), |
1109 | - 'prefLabel' => 'skos:prefLabel', |
|
1110 | - 'xsd' => 'http://www.w3.org/2001/XMLSchema#', |
|
1111 | - 'date' => array( '@id' => 'http://purl.org/dc/terms/date', '@type' => 'http://www.w3.org/2001/XMLSchema#dateTime') ) |
|
1109 | + 'prefLabel' => 'skos:prefLabel', |
|
1110 | + 'xsd' => 'http://www.w3.org/2001/XMLSchema#', |
|
1111 | + 'date' => array( '@id' => 'http://purl.org/dc/terms/date', '@type' => 'http://www.w3.org/2001/XMLSchema#dateTime') ) |
|
1112 | 1112 | ), |
1113 | 1113 | array('changeList' => $simpleChangeList))); |
1114 | 1114 |
@@ -97,6 +97,9 @@ discard block |
||
97 | 97 | return $this->returnJson($ret); |
98 | 98 | } |
99 | 99 | |
100 | + /** |
|
101 | + * @param Request $request |
|
102 | + */ |
|
100 | 103 | private function constructSearchParameters($request) |
101 | 104 | { |
102 | 105 | $parameters = new ConceptSearchParameters($request, $this->model->getConfig(), true); |
@@ -112,6 +115,10 @@ discard block |
||
112 | 115 | return $parameters; |
113 | 116 | } |
114 | 117 | |
118 | + /** |
|
119 | + * @param Request $request |
|
120 | + * @param ConceptSearchParameters $parameters |
|
121 | + */ |
|
115 | 122 | private function transformSearchResults($request, $results, $parameters) |
116 | 123 | { |
117 | 124 | // before serializing to JSON, get rid of the Vocabulary object that came with each resource |
@@ -420,6 +427,10 @@ discard block |
||
420 | 427 | return $this->returnJson($ret); |
421 | 428 | } |
422 | 429 | |
430 | + /** |
|
431 | + * @param string $label |
|
432 | + * @param string $lang |
|
433 | + */ |
|
423 | 434 | private function findLookupHits($results, $label, $lang) |
424 | 435 | { |
425 | 436 | $hits = array(); |
@@ -481,6 +492,9 @@ discard block |
||
481 | 492 | return $hits; |
482 | 493 | } |
483 | 494 | |
495 | + /** |
|
496 | + * @param string $lang |
|
497 | + */ |
|
484 | 498 | private function transformLookupResults($lang, $hits) |
485 | 499 | { |
486 | 500 | if (sizeof($hits) == 0) { |
@@ -555,6 +569,9 @@ discard block |
||
555 | 569 | return $this->returnJson($ret); |
556 | 570 | } |
557 | 571 | |
572 | + /** |
|
573 | + * @param Request $request |
|
574 | + */ |
|
558 | 575 | private function redirectToVocabData($request) { |
559 | 576 | $urls = $request->getVocab()->getConfig()->getDataURLs(); |
560 | 577 | if (sizeof($urls) == 0) { |
@@ -580,6 +597,10 @@ discard block |
||
580 | 597 | } |
581 | 598 | } |
582 | 599 | |
600 | + /** |
|
601 | + * @param string $results |
|
602 | + * @param string $format |
|
603 | + */ |
|
583 | 604 | private function returnDataResults($results, $format) { |
584 | 605 | if ($format == 'application/ld+json' || $format == 'application/json') { |
585 | 606 | // further compact JSON-LD document using a context |
@@ -791,6 +812,12 @@ discard block |
||
791 | 812 | return $this->returnJson($ret); |
792 | 813 | } |
793 | 814 | |
815 | + /** |
|
816 | + * @param string $uri |
|
817 | + * @param string $lang |
|
818 | + * @param string $propname |
|
819 | + * @param string $propuri |
|
820 | + */ |
|
794 | 821 | private function transformPropertyResults($uri, $lang, $objects, $propname, $propuri) |
795 | 822 | { |
796 | 823 | $results = array(); |
@@ -805,6 +832,14 @@ discard block |
||
805 | 832 | ); |
806 | 833 | } |
807 | 834 | |
835 | + /** |
|
836 | + * @param string $uri |
|
837 | + * @param string $lang |
|
838 | + * @param string $tpropname |
|
839 | + * @param string $tpropuri |
|
840 | + * @param string $dpropname |
|
841 | + * @param string $dpropuri |
|
842 | + */ |
|
808 | 843 | private function transformTransitivePropertyResults($uri, $lang, $objects, $tpropname, $tpropuri, $dpropname, $dpropuri) |
809 | 844 | { |
810 | 845 | $results = array(); |
@@ -1095,6 +1130,7 @@ discard block |
||
1095 | 1130 | * @param Request $request |
1096 | 1131 | * @param int $offset starting index offset |
1097 | 1132 | * @param int $limit maximum number of concepts to return |
1133 | + * @param string $prop |
|
1098 | 1134 | * @return object json-ld wrapped list of changed concepts |
1099 | 1135 | */ |
1100 | 1136 | private function changedConcepts($request, $prop, $offset, $limit) |