A Model for Open Semantic Hyperwikis

38
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

description

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.

Transcript of A Model for Open Semantic Hyperwikis

Page 1: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

A Model for Open Semantic Hyperwikis

Philip Boulain

Department of Electronics and Computer ScienceUniversity of Southampton

15th September 2009

Philip Boulain A Model for Open Semantic Hyperwikis

Page 2: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

Outline

1 IntroductionContext

2 ModelNodesFunctional

3 ConclusionsCompositionSummary

Philip Boulain A Model for Open Semantic Hyperwikis

Page 3: A Model for Open Semantic Hyperwikis

IntroductionModel

ConclusionsContext

Outline

1 IntroductionContext

2 ModelNodesFunctional

3 ConclusionsCompositionSummary

Philip Boulain A Model for Open Semantic Hyperwikis

Page 4: A Model for Open Semantic Hyperwikis

IntroductionModel

ConclusionsContext

Broader project

Looking at the potentially beneficial relationships betweenOpen Hypermedia

Interconnected documentsSemantic Web

Interconnected databasesWiki Wiki Web

Communal editing systems

Philip Boulain A Model for Open Semantic Hyperwikis

Page 5: A Model for Open Semantic Hyperwikis

IntroductionModel

ConclusionsContext

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 itemstogether” (linking).

V. Bush.As We May Think.The Atlantic Monthly, 176:101–108, Jul 1945.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 6: A Model for Open Semantic Hyperwikis

IntroductionModel

ConclusionsContext

Semantic Web

World Wide Web is a distributed set of interlinkeddocuments.The Semantic Web is distributed set of interlinked data.Discover and combine data from disparate sources as onemay discover and browse web pages.Core technology is the Resource Description Framework(RDF).RDF describes things using triples: subject has predicatevalue object.Subjects, predicates, and non-literal objects named usingURIs.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 7: A Model for Open Semantic Hyperwikis

IntroductionModel

ConclusionsContext

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 andstyling 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.

1http://c2.com/cgi/wiki?WikiGettingStartedFaq

Philip Boulain A Model for Open Semantic Hyperwikis

Page 8: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Outline

1 IntroductionContext

2 ModelNodesFunctional

3 ConclusionsCompositionSummary

Philip Boulain A Model for Open Semantic Hyperwikis

Page 9: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Nodes

Page, article, component. . . ‘node’ is domain-agnostic.The fundamental building block of a wiki.No sub-node addressing in RDF!

GoalThings we want to address need URIs, not (URI,within-specifier) pairings.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 10: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Anatomy

Node titleDOM tree text node→ native transclusion

DOM elementelement contents

attribute "value"

transcludeoo_ _ _ _ _

link//

Philip Boulain A Model for Open Semantic Hyperwikis

Page 11: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Links

ExampleI 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

Page 12: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Phil Likes Perl

PhilI would call→ Phil.anchor.1an

emelegant

language.

//____Phil.anchor.1

Perl

Perl(interesting facts)

syntax elegant

Phil.link.1type Likessource Phil.anchor.1target Perl

oo

Philip Boulain A Model for Open Semantic Hyperwikis

Page 13: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

RDF Mapping

GoalThe graph of typed links should be isomorphic to a useful RDFgraph.

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

Page 14: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Identity

Every node gets a URI, namespaced within the wiki.‘The node Perl’ and ‘Perl the programming language’ arenot the same!The node is http://wiki.example.org/node/Perl.But our statements are abouthttp://wiki.example.org/resource/Perl.

Might be owl:sameAs some external Perl.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 15: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Meta-identity

So how do we refer to the node itself within the wiki?Perl.meta.It is http://wiki.example.org/node/Perl/metaIt makes statements abouthttp://wiki.example.org/node/Perl

There is effectively a naming offset.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 16: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

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-levelhigher.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’trepresent Perl itself!

Philip Boulain A Model for Open Semantic Hyperwikis

Page 17: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Versioning

Node contents and attributes are versioned.Links are nodes, so they’re versioned too.Link embedding/separation and edit-time transclusionmean one edit may change multiple nodes.Distinct identities for things like ‘version 3 of text aboutPerl’, not ‘version 3 of Perl’.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 18: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Transclusion

Transclusion link subtype.Replaces display of source anchor content with targetcontent.No part-of relation implied: content operation.Link embedding/separation leads to edit-time transclusion.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 19: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

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 embeddedqueries.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 20: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

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

Page 21: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Parametric nodes

Generalisation of ‘templates’, which are macropre-processing.Instantiate a page with arbitrary key/value pairs.Range of our links is ‘identifiers’, so parameters are part ofthe identity of the instantiation.There is a whole multidimensional space of possibleinstances, and each one is a first-class object.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 22: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Parametric node

Template.GoodNodeThis node is featuredin topic

paramtopic

in particular becauseof its

paramvirtue

Philip Boulain A Model for Open Semantic Hyperwikis

Page 23: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Instance space

_virtue

//�

topic

��

Template.GoodNode{topic→science,virtue→citations}

Template.GoodNode{topic→science,

virtue→grammar}

Template.GoodNode{topic→art,

virtue→citations}

Template.GoodNode{topic→art,

virtue→grammar}

Philip Boulain A Model for Open Semantic Hyperwikis

Page 24: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

NodesFunctional

Adaptive hypermedia

Deliberately couple content with identityalternateNode for “different node about same thing”Annotate with information to select upon, e.g. detailLevelAlternation link subtype selects only one target.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 25: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

CompositionSummary

Outline

1 IntroductionContext

2 ModelNodesFunctional

3 ConclusionsCompositionSummary

Philip Boulain A Model for Open Semantic Hyperwikis

Page 26: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

CompositionSummary

Desired composition

HaskellA functional language with lazyevaluation

Philip Boulain A Model for Open Semantic Hyperwikis

Page 27: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

CompositionSummary

Transclusion of parametric node

Haskell(embedded link)

//___

FuncTempl {eval→lazy}A functional lan-guage with

parameval

evaluation

Philip Boulain A Model for Open Semantic Hyperwikis

Page 28: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

CompositionSummary

Composite document (multiple transclusions)

Haskell(embedded link 1)lazy(embedded link 2)

//___

&&NNNNNN

FuncTempl.PreA functional lan-guage with

FuncTempl.Postevaluation

Philip Boulain A Model for Open Semantic Hyperwikis

Page 29: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

CompositionSummary

Composite/‘fat’ link (multiple endpoints)

Haskell(embedded an-chor)

_________FuncTempl.Haskell(multiple targets)

tth h h h h h h h h h h h

xxr rr

rr

r

�����

A functional language with lazy evaluation

Philip Boulain A Model for Open Semantic Hyperwikis

Page 30: A Model for Open Semantic Hyperwikis

IntroductionModel

Conclusions

CompositionSummary

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 wikisystem.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 31: A Model for Open Semantic Hyperwikis

Thanks for listening

Questions?

Philip Boulain A Model for Open Semantic Hyperwikis

Page 32: A Model for Open Semantic Hyperwikis

Thanks for listening

Extra slides!

Philip Boulain A Model for Open Semantic Hyperwikis

Page 33: A Model for Open Semantic Hyperwikis

Version identity

Semantic consistency. Content version is not resource version.All revisions of the Perl node are still about thesame Perl.

Navigational identity. Each version has distinct identity forlinking. Version 3 of the Perl node is Perl3, notPerl.meta3.

Semantic identity. Each version has a distinct URI. (Perl3.meta,writtenBy, Phil) means “Phil wrote version 3 of thecontent for the Perl node”.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 34: A Model for Open Semantic Hyperwikis

Version identity, cont.

Node title Content URI RepresentsPerl Text about Perl Perl Perl itselfPerl3 v3 text re: Perl Perl Perl itselfPerl.meta Text re: t. re: Perl Perl/meta Text re: PerlPerl.meta4 v4 t. re: t. re: Perl Perl/meta Text re: PerlPerl3.meta T. re: v3 t. re: Perl Perl;3/meta v3 t. re: PerlPerl3.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

Page 35: A Model for Open Semantic Hyperwikis

Instance identity

Are two different parameterisations separate SemWebresources?It’s exactly the same as versioning.

Parameter substitution is a content operation, so the tailparameters don’t change semantic identity.But Perl {bar→baz}.meta represents the Perl {bar→baz}instance.

Philip Boulain A Model for Open Semantic Hyperwikis

Page 36: A Model for Open Semantic Hyperwikis

Parametric links

Template.Discussionstype discussionsource param(node).metatarget Discuss.param(node)

If parameters can fill in attribute values, we get parametricand functional links.What about a link where both source and target are freevariables?

Philip Boulain A Model for Open Semantic Hyperwikis

Page 37: A Model for Open Semantic Hyperwikis

Eager vs. lazy

When does a parametric instance exist?Parametric links can potentially affect the hyperdocumentoutside 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

Page 38: A Model for Open Semantic Hyperwikis

Eager vs. lazy, cont.

Lazy: works just like templates. You have to ‘link to’ aparametric link with some parameters to make it work.Eager: works like free-variable rules. More consistent, andmore powerful.Contrary to Semantic MediaWiki, which inheritstemplates-as-macro-processing!Template-macroing links is bad ontology modelling: useclasses.

A ‘Country’ template might have a ‘capital’ parameter.But templates don’t have capitals!

Philip Boulain A Model for Open Semantic Hyperwikis