Changes for page Knowledge Ring Application
Last modified by slauriere on 2022/02/21 00:06
Summary
-
Objects (1 modified, 0 added, 0 removed)
Details
- ExtensionCode.ExtensionClass[0]
-
- Only Custom Installation instructions
-
... ... @@ -1,1 +1,1 @@ 1 - No1 +Yes - Description
-
... ... @@ -10,21 +10,21 @@ 10 10 11 11 The application allows to: 12 12 13 -* Create types andrelations as wiki pages14 -* Use these relations to interlink pages with one another, hence creating "rings": a ring joins a page, a relation and another page. In addition, a ring can have internal properties (work in progress).13 +* Create relations and types as wiki pages 14 +* Use these relations to interlink pages with one another, hence creating "rings": a ring joins a page, a relation and another page. In addition, a ring can have internal properties. 15 15 * Explore pages via their relations, using facets. 16 16 * Define relations constraints and properties. 17 17 18 -A ring is an ordered set consisting of:18 +A ring is an ordered tuple consisting of: 19 19 20 -* A norigin page20 +* A referent page 21 21 * A relation 22 -* A destinationpage or a scalar value (string, date, number, etc.)22 +* A target page or a scalar value (string, date, number, etc.), 23 23 * A set of properties 24 24 25 25 For example, //The Jungle Book has author Rudyard Kipling// or //The Jungle Book has publication date 1894// are rings. 26 26 27 -Relations can have specific constraints, such as a constraint about the pages they can bind to one another. For instance, the relation //has author// will typically accept as destinationpages only those of type //person// or //organization//. A page type is defined by linking it to the built-in //Type// page via relation //is a//, built-in as well. For example: //Book is a Type//.27 +Relations can have specific constraints, such as a constraint about the pages they can bind to one another. For instance, the relation //has author// will typically accept as target pages only those of type //person// or //organization//. A page type is defined by linking it to the built-in //Type// page via relation //is a//, built-in as well. For example: //Book is a Type//. 28 28 ))) 29 29 30 30 (% class="col-md-4" %) ... ... @@ -47,11 +47,11 @@ 47 47 ((( 48 48 Once installed, the application adds a block to each page header which displays the list of pages that are linked with the current one. This list can be ordered by page title or by last modification date. 49 49 50 -This additionalblock also includes crosses for removing existingconnections, and a button for adding new ones. When hitting this button, a form shows up, displaying the list of relations that the current page can use, and a search input field for selecting a destination page. For instance, on page //The Jungle Book//, once declared as a //book//, the form will typically propose the relations //has author//, //has publication date//, //has publisher//, etc. When selecting the relation //has author//, the search input field will suggest all the wiki pages of type //person// that match the entered input. The form supports only the addition ofedges linking two pages together, not yet a page and a scalar value.50 +This block also includes crosses for removing existing rings, and a button for adding new ones. When hitting this button, a form shows up, displaying the list of relations that the current page can use, and a search input field for selecting a destination page. For instance, once the types "Person" and "Book" have been defined with appropriate constraints, on page //The Jungle Book//, once declared as a //book//, the form will typically propose the relations //has author//, //has publication date//, //has publisher//, etc. When selecting the relation //has author//, the search input field will suggest all the wiki pages of type //person// that match the entered input. The form supports only the addition of rings linking two pages together, not yet a page and a scalar value. For adding scalar values, the object editor has to be used. 51 51 52 -The user interface also includes a //Filter// butonwhich makes it possible to restrict the list of related pages by their own types or relations. All relations available in the wiki are automatically added to the faceting system for easy navigation across thegraphofpages.52 +The user interface also includes a //Filter// which makes it possible to restrict the list of related pages by their own types or relations. All relations available in the wiki are automatically added to the faceting system for easy navigation across the network of rings. 53 53 54 -In order to draw a r elation between two pages, the user needs to have at least edit right on theorigin page. On a given page, a user will see all the related pages even whatever his access rights on them: in case he has no view access on a given connected page, he will get a denied access only when trying theview the content of that page.54 +In order to draw a ring between two pages, the user needs to have at least edit right on the referent page. On a given page, a user will see all the related pages even whatever his access rights on them: in case he has no view access on a given connected page, he will get a denied access only when trying to view the content of that page. 55 55 ))) 56 56 57 57 (% class="col-md-4" %) ... ... @@ -67,7 +67,7 @@ 67 67 68 68 (% class="text-center" %) 69 69 ((( 70 -//Form for connecting pages// 70 +//Form for connecting pages, hence drawing rings// 71 71 ))) 72 72 ))) 73 73 ))) ... ... @@ -81,7 +81,7 @@ 81 81 ((( 82 82 The application includes a [[Wikidata>>https://www.wikidata.org/]] data importer which creates a set of relations and types corresponding to Nobel Prizes Laureates data – in particular the relations //has award//, //has country//, and the types //person// and //organization// – and import data into the wiki. 83 83 84 -Wikidata is a project that stores data using a graph structure as well, and provides interfaces for browsing the graph visually and for entering new statements.84 +Wikidata is a project that stores data using a graph structure, and provides interfaces for browsing the graph visually and for entering new statements. 85 85 86 86 Once imported into the wiki, the Nobel Prize laureate pages can be browsed using facets. For instance, all organizations and persons who received the Nobel Peace Prize can be browsed by country. 87 87 ))) ... ... @@ -106,9 +106,9 @@ 106 106 ((( 107 107 |=Concept|=Definition 108 108 |Term|A Term simply wraps a wiki page. It can have inward and outward rings.|\\ 109 -|Ring|A a ring typically links together two vertices – anorigin and a destination – anda relation. //The Jungle Book has author Rudyard Kipling// is anringthat has referentpage //The Jungle Book//,relatedpage//Rudyard Kipling//, and relation //has author//. A ring can be avertex, so that it'salso possible to create rings involving rings, such as: //Anna says that "The Jungle Book has author Rudyard Kipling"//, where //says// is a relation used by theedgehavingorigin //Anna// anddestination//The Jungle Book has author Rudyard Kipling//.110 -|Relation|A relation has a domain and an image. Its domain is the set of terms on which it can be applied to, and its domainis the set of terms it can accept as values. For instance, //has award// is a relation.Its domain is the set of pages representing a person or an organization.Its image is the set of pages that represent an award.111 -|Ring Set|A RingSetis a set of terms, ringsandrelations.109 +|Ring|A a ring typically links together two terms – a referent and a destination (also known as relatum) – via a relation. //The Jungle Book has author Rudyard Kipling// is a ring whose referent / relation / relatum are respectively //The Jungle Book//, //has author//, //Rudyard Kipling//. A ring can itself be a term, so that in the future it will also be possible to create rings involving rings, such as: //Anna says that "The Jungle Book has author Rudyard Kipling"//, where //says// is a relation used by the ring having referent //Anna// and relatum //The Jungle Book has author Rudyard Kipling//. For now this type of statement can be represented via ring properties. 110 +|Relation|A relation has a domain and an image. Its domain is the set of terms on which it can be applied to, and its image is the set of terms it can accept as values. For instance, //has award// is a relation whose domain is the set of pages representing a person or an organization and whose image is the set of pages that represent an award. 111 +|RRing|A RRing is a set of terms, rings or relations. 112 112 ))) 113 113 114 114 (% class="col-md-4" %) ... ... @@ -132,10 +132,10 @@ 132 132 133 133 |=(% style="width: 25%" %)Relation or Type|=Description|=Example 134 134 |Is connected to|Can be used to express that two pages are related to one another.|The Jungle Book is connected to Rikki-Tikki-Tavi. 135 -|Is a|Can be used to declare that a page has a specific type.|Rudyard Kipling is a journalist.135 +|Is a|Can be used to declare that a page has a specific type.|Rudyard Kipling is a person. 136 136 |Is transitive|Can be used to specify whether a relation is transitive or not.|Relation //is a// is transitive: if Rudyard Kipling is a journalist, and journalist is a person, then Rudyard Kipling is a person. This property is not used by the application at the moment. 137 -|Has domain|Can be used to specify the set of pages a relation can take asfirst parameter. It is similar to [[the RDF schema domain property>>https://www.w3.org/TR/rdf-schema/#ch_domain]], except that rdfs:domain only accept class names, while the //has domain// relation can accept any set definition. |Relation //has head office// has domain //organization//.138 -|Has image|Can be used to specify the set of pages a relation can have as destination. It is similar to [[the RDF schema range property>>https://www.w3.org/TR/rdf-schema/#ch_range]]. The terms //domain// and //image// come from [[the mathematical definition of a relation>>https://en.wikipedia.org/wiki/Binary_relation]].|Relation //has author// has image //person//.137 +|Has domain|Can be used to specify the set of pages a relation can have as referents. It is similar to [[the RDF schema domain property>>https://www.w3.org/TR/rdf-schema/#ch_domain]], except that rdfs:domain only accept class names, while the //has domain// relation can accept any set definition. |Relation //has head office// has domain //organization//. 138 +|Has image|Can be used to specify the set of pages a relation can have as relatum. It is similar to [[the RDF schema range property>>https://www.w3.org/TR/rdf-schema/#ch_range]]. The terms //domain// and //image// come from [[the mathematical definition of a relation>>https://en.wikipedia.org/wiki/Binary_relation]].|Relation //has author// has image //person//. 139 139 |Type|Represents a type.|The page //Type// has relation //is a// with itself: a type is a type. Book is a type. 140 140 ))) 141 141 ... ... @@ -204,21 +204,12 @@ 204 204 * SolrRingIndexer: manages the index of rings 205 205 * SolrRingTraverser: runs queries across terms, rings and relations 206 206 207 -== Installation == 208 - 209 -* Requirement: XWiki 11.10, Java 11 210 -* At the moment, the application should not be installed from the XWiki Extension Manager due to an issue with the Component Module ( [[XCOMMONS-1814>>https://jira.xwiki.org/browse/XCOMMONS-1814]]), but as follows: 211 -** Download [[Ring JAR>>https://nexus.xwiki.org/nexus/content/repositories/public/org/xwiki/contrib/xwiki-ring-lib/1.0/xwiki-ring-lib-1.0.jar]], then deploy it to folder ##WEB-INF/lib## and restart the XWiki server. 212 -** Download [[Ring XAR>>https://nexus.xwiki.org/nexus/content/repositories/public/org/xwiki/contrib/xwiki-ring-pages/1.0/xwiki-ring-pages-1.0.xar]] and import it into the target wiki. 213 -* Go to the Ring section of the Adminstration and select the pages or spaces where the rings should be available. 214 - 215 215 == Next steps == 216 216 217 217 * Ability to add ring scalar values via a form. 218 -* See if the default EmbeddedSolrInstance can expose a method for accessing an indexed SolrDocument by its id. 219 219 * Support relation transitivity. 220 220 * Associate types with XWiki sheets. 221 -* Store the graphin a graph database.212 +* Store the rings in a graph database. 222 222 * Create rings using wiki syntax or macros: ##~{~{ring relation="wiki.HasAuthor" destination="wiki.Rudyard Kipling"}}The author of this book is Rudyard Kipling.~{~{/ring}}## 223 223 * Handle inverse relations. For example the inverse of relation "has author" is relation "has authored". 224 224 * Display pages in livetables with ability to filter them by their rings. ... ... @@ -270,6 +270,13 @@ 270 270 271 271 * [[Petits poucets, Keeping found things found>>https://issuu.com/nolwennmaudet/docs/nolwenn_maudet_memoire_projet]] — Nolwenn Maudet, http://petitspoucets.nolwennmaudet.com/ 272 272 264 +=== Relations === 265 + 266 +* Article [[The Subject-Object Relation>>https://www.jstor.org/stable/2178486]] 267 +* Book [[A Modern Introduction to Logic>>https://www.taylorfrancis.com/books/9781315121758]] 268 +* [[Wikipedia:Referent>>https://en.wikipedia.org/wiki/Referent]] 269 +* [[Relations entry on Stanford Encyclopedia of Philosophpy>>https://plato.stanford.edu/entries/relations/]] 270 + 273 273 === Graphs and hypergraphs === 274 274 275 275 The data structure of the application is an hypergraph. ... ... @@ -304,10 +304,4 @@ 304 304 ** [[SigmaJS>>http://sigmajs.org/]] 305 305 ** [[Neo4j Bloom>>https://neo4j.com/bloom/]] 306 306 307 -=== Relations === 308 308 309 -* Article [[The Subject-Object Relation>>https://www.jstor.org/stable/2178486]] 310 -* Book [[A Modern Introduction to Logic>>https://www.taylorfrancis.com/books/9781315121758]] 311 -* [[Wikipedia:Referent>>https://en.wikipedia.org/wiki/Referent]] 312 -* [[Relations entry on Stanford Encyclopedia of Philosophpy>>https://plato.stanford.edu/entries/relations/]] 313 - - Prerequisites & Additional Installation Instructions
-
... ... @@ -1,0 +1,7 @@ 1 + 2 +* Requirement: XWiki 11.10+ 3 +* At the moment, the application should not be installed from the XWiki Extension Manager due to an issue with the Component Module ( [[XCOMMONS-1814>>https://jira.xwiki.org/browse/XCOMMONS-1814]]), but as follows: 4 +** Download [[Ring JAR>>https://nexus.xwiki.org/nexus/content/repositories/public/org/xwiki/contrib/xwiki-ring-lib/1.0/xwiki-ring-lib-1.0.jar]], then deploy it to folder ##WEB-INF/lib## and restart the XWiki server. 5 +** Download [[Ring XAR>>https://nexus.xwiki.org/nexus/content/repositories/public/org/xwiki/contrib/xwiki-ring-pages/1.0/xwiki-ring-pages-1.0.xar]] and import it into the target wiki. 6 +* Go to the Ring section of the Adminstration and select the pages or spaces where the rings should be available. 7 +