A Model for Open Semantic Hyperwikis
-
Upload
lionsphil -
Category
Technology
-
view
1.127 -
download
1
description
Transcript of 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
IntroductionModel
Conclusions
Outline
1 IntroductionContext
2 ModelNodesFunctional
3 ConclusionsCompositionSummary
Philip Boulain A Model for Open Semantic Hyperwikis
IntroductionModel
ConclusionsContext
Outline
1 IntroductionContext
2 ModelNodesFunctional
3 ConclusionsCompositionSummary
Philip Boulain 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
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
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
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
IntroductionModel
Conclusions
NodesFunctional
Outline
1 IntroductionContext
2 ModelNodesFunctional
3 ConclusionsCompositionSummary
Philip Boulain 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
IntroductionModel
Conclusions
CompositionSummary
Outline
1 IntroductionContext
2 ModelNodesFunctional
3 ConclusionsCompositionSummary
Philip Boulain A Model for Open Semantic Hyperwikis
IntroductionModel
Conclusions
CompositionSummary
Desired composition
HaskellA functional language with lazyevaluation
Philip Boulain 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
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
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
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
Thanks for listening
Questions?
Philip Boulain A Model for Open Semantic Hyperwikis
Thanks for listening
Extra slides!
Philip Boulain 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
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
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
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
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
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