Начало:
7C18
Цель:
инструмент операций с
Sema Web-данными на десктопе. А именно – операции с данными (в частности – ПИМ (контакты/задачи/заметки) + Проекты + обычные документы + media (video, audio, pictures)).
Платформа:
ни в коем случае не Java! (Томоза и глюки просто фантастические.)
Qt 4,
Win / Lin, Desktop only. Как дополнительный вариант – SVG [+ web-browser].
Технологии:
- вся навигация – только ч-з графы. Никаких списков и/или деревьев – только графы.
- Dn D – обязательно
-
Инструменты:
- redland
- raptor
- html + svg + image map
Этапы:
* Выбрать нормальную пачку схем для контактов/задач/документов (сейчас – рабочий вариант –
SOUPA.)
* сделать test case.
* OWL Objects Viewer – просмотр объектов, расписанных по схемам owl – то, что называется instances. Скорее всего надо сделать rapper + graphvis + contexts – реакцию на конкретный объект – или svg + map, или Qt *:on*.
- stage #1 – отдать всё dot'у
- читаем всё (redland)
- отбираем нужное (redland + SPARQL)
- сливаем dot'у (?..)
- получаем координаты и тип фигур (?? или SVG)
- выбираем...
- этот – в центр
- + все исходящие
- + все входящие
- + концы
- see kgraphviewer
OWL Scheme Viewer – то же самое, но уже для самих схем, т.е. расписанных _типов_ OWL – данных.
OWL Objects Editor = viewer + editor
OWL Scheme Editor. Реализация
- Поднимаем граф (dot, rdf)
- пропускаем ч-з dot; Output (-T...):
- xdot
- plain[ext]
- svg (the best)
- парсим вывод в объекты
SVG rendering support for wxPython
- рисуем объекты:
- QGraphicsEllipseItem
- QGraphicsPathItem
- QGraphicsRectItem
- QGraphicsPolygonItem
- QGraphicsTextItem
- QGraphicsLineItem
- QGraphicsPixmapItem
- или
- повесив на каждый on*:
- onClick
- onDoubleClick
- Context Menu
=== План работы
* Python(+PyQt4):
* Teach out GFX (Ellipse, Rect, Poligon, Line, Path)
* + slots (Click, DClick, RCLick)
* + scale
* DnD (!)
* Focus
=== Notes ===
- на уровне логики программа дложна _понимать_
XSD,
RDF,
RDFS и
OWL (OWL-DL, в частности);
- Можно объединить редактор dot с RDF/OWL (всё равно ч-з dot)
- причем – и Graph-presentation, и tripple (точнее – 5-tl – lefts-edges-center-edges-rights)...
- ... с взаимной фокусировкой.