Mercurial > hg > NetworkVis
comparison ismi-python-neo4jrestclient/ismi-vis.py @ 14:b33f35b57b93
added authors to details view.
| author | casties |
|---|---|
| date | Mon, 05 Oct 2015 19:30:28 +0200 |
| parents | 394bd5cfc508 |
| children | ad3eefa2cb80 |
comparison
equal
deleted
inserted
replaced
| 13:394bd5cfc508 | 14:b33f35b57b93 |
|---|---|
| 128 mimetype="application/json") | 128 mimetype="application/json") |
| 129 | 129 |
| 130 @app.route("/textandcommentaries/<text_id>") | 130 @app.route("/textandcommentaries/<text_id>") |
| 131 def get_textandcommentaries(text_id): | 131 def get_textandcommentaries(text_id): |
| 132 query = ("match (t:TEXT {ismi_id:{text_id}})" | 132 query = ("match (t:TEXT {ismi_id:{text_id}})" |
| 133 " optional match (s:TEXT)<-[sr:is_commentary_on]-(t)" | 133 " optional match (t)-[:was_created_by]->(a:PERSON)" |
| 134 " optional match (t)<-[cr:is_commentary_on]-(c:TEXT)" | 134 " optional match (s:TEXT)<-[:is_commentary_on]-(t)" |
| 135 " return t,s.label, s.ismi_id,c.label,c.ismi_id") | 135 " optional match (s)-[:was_created_by]->(sa:PERSON)" |
| 136 " optional match (t)<-[:is_commentary_on]-(c:TEXT)" | |
| 137 " optional match (c)-[:was_created_by]->(ca:PERSON)" | |
| 138 " return t,a.label,s.label,s.ismi_id,sa.label,c.label,c.ismi_id,ca.label") | |
| 136 print("query:%s"%query) | 139 print("query:%s"%query) |
| 137 results = gdb.query(query, returns=(Node,str,str,str,str), | 140 results = gdb.query(query, returns=(Node,str,str,str,str,str,str,str), |
| 138 params={"text_id": int(text_id)}) | 141 params={"text_id": int(text_id)}) |
| 139 | 142 |
| 140 print("result:%s"%results) | 143 print("result:%s"%results) |
| 141 text = None | 144 text = None |
| 145 author = None | |
| 142 scs = {} | 146 scs = {} |
| 143 cs = {} | 147 cs = {} |
| 144 for [t,s_label,s_id,c_label,c_id] in results: | 148 for [t,a_label,s_label,s_id,sa_label,c_label,c_id,ca_label] in results: |
| 145 text = t | 149 text = t |
| 150 author = a_label | |
| 146 if s_id is not None and s_id != "None": | 151 if s_id is not None and s_id != "None": |
| 147 scs[int(s_id)] = s_label | 152 scs[int(s_id)] = {"title": s_label, "author":sa_label} |
| 148 | 153 |
| 149 if c_id is not None and c_id != "None": | 154 if c_id is not None and c_id != "None": |
| 150 cs[int(c_id)] = c_label | 155 cs[int(c_id)] = {"title": c_label, "author":ca_label} |
| 151 | 156 |
| 152 print("text:%s scs:%s cs:%s"%(text, scs, cs)) | 157 print("text:%s scs:%s cs:%s"%(text, scs, cs)) |
| 153 return Response(dumps({"title": text['label'], "attrs": text.properties, | 158 return Response(dumps({"title": text['label'], "attrs": text.properties, |
| 159 "author": author, | |
| 154 "commenting": scs, "commentaries": cs}), | 160 "commenting": scs, "commentaries": cs}), |
| 155 mimetype="application/json") | 161 mimetype="application/json") |
| 156 | 162 |
| 157 | 163 |
| 158 if __name__ == '__main__': | 164 if __name__ == '__main__': |
