IsaViz

O pakiecie Graphviz pisałem już kiedyś jako o narzędziu rysowania do diagramów wszelakich jak również wspominałem w kontekście wizualizacji grafu RDF. I właśnie to ostatnie zastosowanie wydaje się dosyć popularne, co jest zresztą całkiem zrozumiałe uwzględniając fakt, że RDF to graf właśnie, a Graphviz jako silnik wizualizacji grafów wszelakich sprawdza się doskonale.

Nie dziwne zatem, że właśnie ten pakiet do spółki z ZVTM (do obsługi zoomowalnego interfejsu) i Jena (do obsługi modeli RDF) stanowi podstawę narzędzia IsaViz. Jest to program produkcji W3C (co samo w sobie jest pozytywne o tyle, że licencja W3C jest ideowo zgodna z GPL) służący do edycji i wizualizacji grafów RDF. Zarówno „edycja” jak i „wizualizacja” są tu jednak potraktowane dosyć specyficznie.

rysowanki

Możliwość edycji RDF-a przez rysowanie grafu (wstaw węzeł, wstaw literał, wstaw krawędź od-do) może być atrakcyjna już sama w sobie. Jeżeli spojrzymy na tworzenie grafu RDF jak na projektowanie struktury danych lub rozrysowywanie zależności zasobów, to faktycznie przypomina to bardziej zadanie rysunkowo-projektowe (podobnie jak projektowanie w UML) niż kodowo-programistyczne. Tym bardziej, że w przypadku IsaViz mechanizm ten działa dosyć sprawnie, szczególnie w połączeniu z poleceniem „Suggest Layout” przepuszczającym nasze wypociny przez Graphviz (konkretnie program dot z tego pakietu). Trzeba się tylko przyzwyczaić do specyficznej bezwładności interfejsu ZVTM i lekkiego spowolnienia całości przy dużych grafach.

We wnętrzu IsaViz siedzi Jena, a tym samym mamy zapewnioną obustronną obsługę formatów RDF/XML, N3 i N-Triples. Dzięki temu współpraca z dowolnymi innymi narzędziami SW nie sprawia najmniejszych problemów.

Słowem — tak, można uznać, że to całkiem dobry edytor RDF-a, być może nawet taki, jakiego bezskutecznie poszukiwałem kiedyś. Ciekawsze jednak od samej edycji wydają mi się specyficzne możliwości wizualizacji grafów jakie oferuje IsaViz...

przebieranki

Unikalną cechą programu IsaViz jest obsługa GSS, czyli stylów graficznych nakładanych na prezentowany graf. Efekt zastosowania GSS można porównać do efektu stosowania CSS z elementami SVG, z tym że GSS jest specjalizowany konkretnie do reprezentacji grafów RDF i sam również jest wyrażony za pomocą RDF-a. IsaViz posiada co prawda GSS Editor, umożliwiający edycję stylów w tabeli, jednak to tylko drobne usprawnienie dla nieprzyzwyczajonych — GSS można stworzyć dowolnym edytorem RDF-a, tekstowym lub graficznym, choćby i samym IsaViz. Wywołuje to ciekawy efekt np. w podręczniku GSS, gdzie zasady wpływania na wygląd grafu RDF są opisane ... grafem RDF :-)

Sam GSS jest dosyć łatwy i udostępnia niezbyt szeroki, choć całkiem wystarczający zestaw możliwości. Do ciekawszych należy zapewne możliwość przedstawienia właściwości jakiegoś zasobu w postaci tabeli zamiast szeregu połączeń do kolejnych węzłów. Co prawda od tego momentu przedstawiany obraz nie jest już grafem w sensie matematycznym, ale czytelność dla człowieka zdecydowanie się zwiększa.

Czytelność i przejrzystość diagramu poprawia również możliwość ukrywania wybranych elementów (co nie znaczy, że są one faktycznie usuwane). Szczególnie przydatne wydaje mi się to w przypadku typów poszczególnych zasobów — typ niejednokrotnie wynika z kontekstu w sposób dla człowieka oczywisty, więc często nie ma sensu zaciemniać rysunku dodatkową strzałką rdf:type i elipsą z jego nazwą.

Inną ciekawą cechą jest możliwość stosowania dowolnych bitmap na rysowanym diagramie, a w szczególności bitmap pobieranych zdalnie, spod adresu URL danego węzła. Dzięki temu dla zasobów stanowiących obrazki (czyli takich rzeczy jak foaf:Image dla obiektów opisywanych w plikach FOAF czy rss:image dla kanału RSS itd. itp.) można pokazać od razu na diagramie jak dany obrazek wygląda. Niestety obrazek ten jest tracony po wyeksportowaniu diagramu do SVG...

Rys.1. Oryginalny graf RDF [powiększ]

Rys.2. Po zastosowaniu GSS [powiększ]

Rys.3. IsaViz w akcji - stylizacja RSS [powiększ]

W ramach szybkich testów zrobiłem prosty styl GSS (RDF/XML, N3) dla kanału RSS (oczywiście RSS 1.0, RDF Site Summary, bo tylko z nim można bezproblemowo robić różne cuda). Efekt działania na pliku RSS mojego bloga widać częściowo na obrazkach powyżej, a bardziej szczegółowo w pliku SVG wyeksportowanym z IsaViz.

W kolejnych wersjach IsaViz planuje się obsługę Fresnela, który już jest de facto standardem opisu wizualizacji grafów RDF wprowadzanym powoli w różnych narzędziach. Fresnel ma co prawda inne założenia niż GSS — bardziej chodzi w nim o prezentację informacji w formie łatwo przyswajalnej dla człowieka niż o „upiększanie” grafu jako takiego, niemniej jednak ... to dopiero będą cuda :-)

Komentarze

Brak komentarzy do tego wpisu.

 

Uwaga: Ze względu na bardzo intensywną działalność spambotów komentowanie zostało wyłączone po 60 dniach od opublikowania wpisu. Jeżeli faktycznie chcesz jeszcze skomentować skorzystaj ze strony kontaktowej.