-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrequest.php
More file actions
127 lines (111 loc) · 3.63 KB
/
request.php
File metadata and controls
127 lines (111 loc) · 3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
require_once('sparql.php');
require_once('request_steps.php');
require_once('request_requirements.php');
require_once('request_input_output.php');
require_once('request_dbpedia.php');
require_once('security.php');
// find methods of a step
function look_for_method($nodeid,$db_link,$db_dbpedia) {
if (strpos($nodeid, '---') !== false) $nodeid=explode('---',$nodeid)[1];
$children=array();
$result=sparql_request("PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX prohow: <http://w3id.org/prohow#>
SELECT ?method ?exact
WHERE {
<".$nodeid."> prohow:has_method ?method .
?method rdfs:label ?exact .
}",$db_link);
while( $row = sparql_fetch_array( $result ) )
{
$child= array(
'id' => $row['method'],
'name' => $row['exact'],
'annotation' => 'method',
'image' => '',
'dbpedia' => '',
'children' => array()
);
$children[] = $child;
}
if(sparql_num_rows($result) > 5) {
$fake_node=array();
$fake_node[] = array(
'id' => 'http_extension',
'name' => sparql_num_rows($result).' Methods',
'annotation' => 'classifier_method',
'image' => '',
'dbpedia' => '',
'children' => $children
);
return $fake_node;
}
return $children;
}
// sparql request depending on the type of node
$nodeid=$_GET['nodeid'];
if(!isset($_GET["annotation"]))
$annotation='method';
else
$annotation=$_GET['annotation'];
if(!isset($_GET["dbpedia"]))
$dbpedia='';
else
$dbpedia=$_GET['dbpedia'];
$children=array();
//$nodeid=escape_string($nodeid);
//$dbpedia=escape_string($dbpedia);
$tmp=look_for_method($nodeid,$db1,$db2);
foreach ($tmp as $value) { $children[] = $value; }
$tmp=look_for_step($nodeid,$db1,$db2);
foreach ($tmp as $value) { $children[] = $value; }
$tmp=look_for_requirements($nodeid,$db1,$db2);
foreach ($tmp as $value) { $children[] = $value; }
switch($annotation) {
case 'step':
# $tmp=look_for_step($nodeid,$db1,$db2,$solr);
# foreach ($tmp as $value) { $children[] = $value; }
break;
case 'input':
$tmp=look_for_dbpedia($nodeid,$db1,$db2);
foreach ($tmp as $value) { $children[] = $value; }
case 'output':
if(strlen($dbpedia)>0) {
$tmp=look_for_dbpedia_input($nodeid,$dbpedia,$db1,$db2);
foreach ($tmp as $value) { $children[] = $value; }
$tmp=look_for_dbpedia_output($nodeid,$dbpedia,$db1,$db2,5);
foreach ($tmp as $value) { $children[] = $value; }
# $tmp=look_for_step($nodeid,$db1,$db2,$solr);
# foreach ($tmp as $value) { $children[] = $value; }
}
break;
case 'process':
case 'supplier':
case 'step_process':
case 'supplied':
$tmp=look_for_output($nodeid,$db1,$db2);
foreach ($tmp as $value) { $children[] = $value; }
# $tmp=look_for_method($nodeid,$db1,$db2);
# foreach ($tmp as $value) { $children[] = $value; }
case 'method':
#$tmp=look_for_step($nodeid,$db1,$db2,$solr);
#foreach ($tmp as $value) { $children[] = $value; }
#$tmp=look_for_requirements($nodeid,$db1,$db2);
#foreach ($tmp as $value) { $children[] = $value; }
break;
case 'requirement':
$tmp=look_for_dbpedia($nodeid,$db1,$db2);
foreach ($tmp as $value) { $children[] = $value; }
$tmp=look_for_group_of_ingredients($nodeid,$db1,$db2);
foreach ($tmp as $value) { $children[] = $value; }
break;
}
$obj=array(
'id' => $nodeid,
'name' => $nodeid,
'children' => $children
);
$tree = json_encode($obj);
echo $tree;
?>