A Model for Open Semantic Hyperwikis

977 views

Published on

Wiki systems have developed over the past years as lightweight, community-editable, web-based hypertext systems. With the emergence of semantic wikis such as Semantic MediaWiki, these collections of interlinked documents have also gained a dual role as ad-hoc RDF graphs. However, their roots lie in the limited hypertext capabilities of the World Wide Web: embedded links, without support for features like composite objects or transclusion. Collaborative editing on wikis has been hampered by redundancy; much of the effort spent on Wikipedia is used keeping content synchronised and organised. We have developed a model for a system, which we have prototyped and are evaluating, which reintroduces ideas from the field of hypertext to help alleviate this burden.

Presented at BlogTalk 2009.

Published in: Technology, Education
  • Be the first to comment

A Model for Open Semantic Hyperwikis

  1. 1. Introduction Model Conclusions A Model for Open Semantic Hyperwikis Philip Boulain Department of Electronics and Computer Science University of Southampton 15th September 2009 Philip Boulain A Model for Open Semantic Hyperwikis
  2. 2. Introduction Model Conclusions Outline 1 Introduction Context 2 Model Nodes Functional 3 Conclusions Composition Summary Philip Boulain A Model for Open Semantic Hyperwikis
  3. 3. Introduction Model Context Conclusions Outline 1 Introduction Context 2 Model Nodes Functional 3 Conclusions Composition Summary Philip Boulain A Model for Open Semantic Hyperwikis
  4. 4. Introduction Model Context Conclusions Broader project Looking at the potentially beneficial relationships between Open Hypermedia Interconnected documents Semantic Web Interconnected databases Wiki Wiki Web Communal editing systems Philip Boulain A Model for Open Semantic Hyperwikis
  5. 5. Introduction Model Context Conclusions Hypermedia Long-standing field of research. How can documents expand beyond limitations of paper? Cross-referencing (hyperlinks). Sharing and re-use (composition and transclusion). “Essential feature” is “the process of tying two items together” (linking). V. Bush. As We May Think. The Atlantic Monthly, 176:101–108, Jul 1945. Philip Boulain A Model for Open Semantic Hyperwikis
  6. 6. Introduction Model Context Conclusions Semantic Web World Wide Web is a distributed set of interlinked documents. The Semantic Web is distributed set of interlinked data. Discover and combine data from disparate sources as one may discover and browse web pages. Core technology is the Resource Description Framework (RDF). RDF describes things using triples: subject has predicate value object. Subjects, predicates, and non-literal objects named using URIs. Philip Boulain A Model for Open Semantic Hyperwikis
  7. 7. Introduction Model Context Conclusions Wiki Wiki Web “A collection of Web pages which can be edited by anyone, at any time, from anywhere.”1 Users can create pages with much of the structure and styling of HTML web pages. But usually in a bespoke ad-hoc markup. Linking is web-style, like <a href=""></a>. But some wikis offer the ability to show backlinks. They can only do this because they are not distributed. The wiki system is aware of the entire document space. 1 http://c2.com/cgi/wiki?WikiGettingStartedFaq Philip Boulain A Model for Open Semantic Hyperwikis
  8. 8. Introduction Nodes Model Functional Conclusions Outline 1 Introduction Context 2 Model Nodes Functional 3 Conclusions Composition Summary Philip Boulain A Model for Open Semantic Hyperwikis
  9. 9. Introduction Nodes Model Functional Conclusions Nodes Page, article, component. . . ‘node’ is domain-agnostic. The fundamental building block of a wiki. No sub-node addressing in RDF! Goal Things we want to address need URIs, not (URI, within-specifier) pairings. Philip Boulain A Model for Open Semantic Hyperwikis
  10. 10. Introduction Nodes Model Functional Conclusions Anatomy Node title DOM tree text node transclude o_ _ _ _ _ → native transclusion link / DOM element element contents attribute "value" Philip Boulain A Model for Open Semantic Hyperwikis
  11. 11. Introduction Nodes Model Functional Conclusions Links Example I would call [link type=Likes to=Perl Perl] an [em elegant] language. Links are nodes. Links also get embedded in nodes. Familiar to edit. Edit-time (native) transclusion of the anchor. Attributes are our primitive base case. Philip Boulain A Model for Open Semantic Hyperwikis
  12. 12. Introduction Nodes Model Functional Conclusions Phil Likes Perl Phil I would call → Phil.anchor.1 Phil.anchor.1 an _ _ _ _/ Perl em elegant language. Perl Phil.link.1 (interesting facts) o type Likes source Phil.anchor.1 syntax elegant target Perl Philip Boulain A Model for Open Semantic Hyperwikis
  13. 13. Introduction Nodes Model Functional Conclusions RDF Mapping Goal The graph of typed links should be isomorphic to a useful RDF graph. Typed links between pages are relations between them. (Phil, Likes, Perl) Attributes of a page are statements about it. (Perl, syntax, elegant) Philip Boulain A Model for Open Semantic Hyperwikis
  14. 14. Introduction Nodes Model Functional Conclusions Identity Every node gets a URI, namespaced within the wiki. ‘The node Perl’ and ‘Perl the programming language’ are not the same! The node is http://wiki.example.org/node/Perl. But our statements are about http://wiki.example.org/resource/Perl. Might be owl:sameAs some external Perl. Philip Boulain A Model for Open Semantic Hyperwikis
  15. 15. Introduction Nodes Model Functional Conclusions Meta-identity So how do we refer to the node itself within the wiki? Perl.meta. It is http://wiki.example.org/node/Perl/meta It makes statements about http://wiki.example.org/node/Perl There is effectively a naming offset. Philip Boulain A Model for Open Semantic Hyperwikis
  16. 16. Introduction Nodes Model Functional Conclusions Representations node URIs get representation predicates. (wiki:node/Perl, representation, http://wiki.example.org/content/Perl.html) ‘303 convention’ defines retrieval of . . . node/Perl. RDF requests go to data about the URI: one meta-level higher. Otherwise, normal content-negotiation to content. Can always be explicit if you want RDF-formatted content. Non-RDF resource requests are Not Found: we can’t represent Perl itself! Philip Boulain A Model for Open Semantic Hyperwikis
  17. 17. Introduction Nodes Model Functional Conclusions Versioning Node contents and attributes are versioned. Links are nodes, so they’re versioned too. Link embedding/separation and edit-time transclusion mean one edit may change multiple nodes. Distinct identities for things like ‘version 3 of text about Perl’, not ‘version 3 of Perl’. Philip Boulain A Model for Open Semantic Hyperwikis
  18. 18. Introduction Nodes Model Functional Conclusions Transclusion Transclusion link subtype. Replaces display of source anchor content with target content. No part-of relation implied: content operation. Link embedding/separation leads to edit-time transclusion. Philip Boulain A Model for Open Semantic Hyperwikis
  19. 19. Introduction Nodes Model Functional Conclusions Query endpoints source and target have a range of node identifiers. Not sufficient to represent arbitrary endpoint functions. sourceQuery and targetQuery have a range of embedded queries. Philip Boulain A Model for Open Semantic Hyperwikis
  20. 20. Introduction Nodes Model Functional Conclusions Generic links CONTAINS query, which matches on document content. Implies an anchor at the point of the match when a source. Matches only the first instance, unless transcluding. Philip Boulain A Model for Open Semantic Hyperwikis
  21. 21. Introduction Nodes Model Functional Conclusions Parametric nodes Generalisation of ‘templates’, which are macro pre-processing. Instantiate a page with arbitrary key/value pairs. Range of our links is ‘identifiers’, so parameters are part of the identity of the instantiation. There is a whole multidimensional space of possible instances, and each one is a first-class object. Philip Boulain A Model for Open Semantic Hyperwikis
  22. 22. Introduction Nodes Model Functional Conclusions Parametric node Template.GoodNode This node is featured in topic param topic in particular because of its param virtue Philip Boulain A Model for Open Semantic Hyperwikis
  23. 23. Introduction Nodes Model Functional Conclusions Instance space virtue _ / Template.GoodNode Template.GoodNode {topic→science, {topic→science, virtue→citations} virtue→grammar} topic Template.GoodNode Template.GoodNode {topic→art, {topic→art, virtue→citations} virtue→grammar} Philip Boulain A Model for Open Semantic Hyperwikis
  24. 24. Introduction Nodes Model Functional Conclusions Adaptive hypermedia Deliberately couple content with identity alternateNode for “different node about same thing” Annotate with information to select upon, e.g. detailLevel Alternation link subtype selects only one target. Philip Boulain A Model for Open Semantic Hyperwikis
  25. 25. Introduction Composition Model Summary Conclusions Outline 1 Introduction Context 2 Model Nodes Functional 3 Conclusions Composition Summary Philip Boulain A Model for Open Semantic Hyperwikis
  26. 26. Introduction Composition Model Summary Conclusions Desired composition Haskell A functional language with lazy evaluation Philip Boulain A Model for Open Semantic Hyperwikis
  27. 27. Introduction Composition Model Summary Conclusions Transclusion of parametric node FuncTempl {eval→lazy} A functional lan- Haskell guage with _ _ _/ (embedded link) param eval evaluation Philip Boulain A Model for Open Semantic Hyperwikis
  28. 28. Introduction Composition Model Summary Conclusions Composite document (multiple transclusions) Haskell FuncTempl.Pre (embedded link 1) _ _ _/ A functional lan- lazy guage with (embedded link 2) NN NN NN FuncTempl.Post evaluation Philip Boulain A Model for Open Semantic Hyperwikis
  29. 29. Introduction Composition Model Summary Conclusions Composite/‘fat’ link (multiple endpoints) Haskell FuncTempl.Haskell (embedded an- _ _ _ _ _ _ _ _ _ (multiple targets) chor) h h h h r h h r h h r h h r th h r xr A functional language with lazy evaluation Philip Boulain A Model for Open Semantic Hyperwikis
  30. 30. Introduction Composition Model Summary Conclusions Open Semantic Hyperwiki Model Defines a wiki with open hypermedia features. First-class links, with edit-time embedding. Transclusion, including while editing. Generic and functional links. Parametric nodes and links. Full versioning, including links. Defines how this operates as a semantic wiki. From hyperlinks to RDF relations. Prototyped in Weerkat: a highly flexible and modular wiki system. Philip Boulain A Model for Open Semantic Hyperwikis
  31. 31. Thanks for listening Questions? Philip Boulain A Model for Open Semantic Hyperwikis
  32. 32. Thanks for listening Extra slides! Philip Boulain A Model for Open Semantic Hyperwikis
  33. 33. Version identity Semantic consistency. Content version is not resource version. All revisions of the Perl node are still about the same Perl. Navigational identity. Each version has distinct identity for linking. Version 3 of the Perl node is Perl3 , not Perl.meta3 . Semantic identity. Each version has a distinct URI. (Perl3 .meta, writtenBy, Phil) means “Phil wrote version 3 of the content for the Perl node”. Philip Boulain A Model for Open Semantic Hyperwikis
  34. 34. Version identity, cont. Node title Content URI Represents Perl Text about Perl Perl Perl itself Perl3 v3 text re: Perl Perl Perl itself Perl.meta Text re: t. re: Perl Perl/meta Text re: Perl Perl.meta4 v4 t. re: t. re: Perl Perl/meta Text re: Perl Perl3 .meta T. re: v3 t. re: Perl Perl;3/meta v3 t. re: Perl Perl3 .meta4 v4 t. re: v3 t. re: Perl Perl;3/meta v3 t. re: Perl Allow version on all non-namespace parts. Drop the last version to make a URI. Philip Boulain A Model for Open Semantic Hyperwikis
  35. 35. Instance identity Are two different parameterisations separate SemWeb resources? It’s exactly the same as versioning. Parameter substitution is a content operation, so the tail parameters don’t change semantic identity. But Perl {bar→baz}.meta represents the Perl {bar→baz} instance. Philip Boulain A Model for Open Semantic Hyperwikis
  36. 36. Parametric links Template.Discussions type discussion source param(node).meta target Discuss.param(node) If parameters can fill in attribute values, we get parametric and functional links. What about a link where both source and target are free variables? Philip Boulain A Model for Open Semantic Hyperwikis
  37. 37. Eager vs. lazy When does a parametric instance exist? Parametric links can potentially affect the hyperdocument outside of ther immediate content and relations. Eager: all instances considered to exist. Lazy: instances exist only if referred to. Which is most consistent and useful? Philip Boulain A Model for Open Semantic Hyperwikis
  38. 38. Eager vs. lazy, cont. Lazy: works just like templates. You have to ‘link to’ a parametric link with some parameters to make it work. Eager: works like free-variable rules. More consistent, and more powerful. Contrary to Semantic MediaWiki, which inherits templates-as-macro-processing! Template-macroing links is bad ontology modelling: use classes. A ‘Country’ template might have a ‘capital’ parameter. But templates don’t have capitals! Philip Boulain A Model for Open Semantic Hyperwikis

×