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%20Ap…
[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-ident…
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…
[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?
Cheers
Stéphane