[contrib] Page relations / graph application

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[contrib] Page relations / graph application

Stéphane Laurière-6
Hi everyone,

While the page relations application [1] introduced the ability to draw basic relations between pages outside the page content itself, a new branch I've been working on [2] implements "typed relations", for instance: "The Jungle Book" "has author" "Rudyard Kipling", where each of these items is represented by a page, and page "has author" itself has relation "is a" with page "Relation". It is similar to what MediaWiki extensions such as Semantic MediaWiki [3] or Wikibase [4] propose. A documentation draft covers the approach in more details in the XWiki development area [5]. Since the application data has an underlying graph structure, I was wondering whether we could use the name "application-graph" for it, considering also the current traction that graphs seem to have [6].

   [1] https://extensions.xwiki.org/xwiki/bin/view/Extension/Page%20Relations%20Application/
   [2] https://github.com/xwiki-contrib/application-page-relations/tree/graph
   [3] https://en.wikipedia.org/wiki/Semantic_MediaWiki
   [4] https://en.wikipedia.org/wiki/Wikibase
   [5] https://dev.xwiki.org/xwiki/bin/view/Drafts/Graph%20Application
   [6] https://www.gartner.com/en/newsroom/press-releases/2019-02-18-gartner-identifies-top-10-data-and-analytics-technolo

The branch code is now installable, it comes with a simple demo around Nobel Prize laureates. The typed relations are managed by dedicated Solr fields and the application implements a generic graph API that I came up with [6] because I couldn't find one with the needed features among the existing libraries such as Apache Giraph [7] or JGraphT [8].

   [6] https://github.com/xwiki-contrib/application-page-relations/tree/graph/java/src/main/java/org/xwiki/graph
   [7] http://giraph.apache.org/
   [8] https://jgrapht.org/

What do you think about this approach? Do you have anything against adopting the name "application-graph"? Would it make sense in your opinion to host the graph API it contains under the xwiki-commons namespace?