Building a Semantic IntraWeb with Rhizomer and a Wiki

clangpotatoSoftware and s/w Development

Oct 28, 2013 (3 years and 7 months ago)

105 views

Building a Semantic IntraWeb

with Rhizomer and a Wiki

Roberto Garcia and Rosa Gil

GRIHO (Human Computer Interaction Research Group)

Universitat de Lleida, Spain

Building a Semantic IntraWeb with Rhizomer and a Wiki



2
/20

Table of Contents


Introduction


Proposal


Architecture


Wiki Engine


Rhizomer


Rhizomer Architecture


Guided tour


Conclusions


Future Work


Building a Semantic IntraWeb with Rhizomer and a Wiki



3
/20

Introduction


IntraWebs
: group information sharing needs


Web technologies
: interaction issues, easy
consumption / difficult production


Wiki technologies
: distributed production, difficult to
keep information organised


Semantic Web technologies
: ontology for shared
conceptualisations


Building a Semantic IntraWeb with Rhizomer and a Wiki



4
/20

Proposal


Wiki + Semantic Web Mix


Facilitate production


Keep information organisation


Focus on
simplicity

and
ease of use
:


Simple wiki engine


WYSIWYG wiki user interface


Simple semantic metadata engine


Non RDF user interaction


Common HTML interface, just the web browser

Building a Semantic IntraWeb with Rhizomer and a Wiki



5
/20

Architecture


Wiki Engine
: manage HTML documents


Rhizomer
: manage semantic metadata about them

link

link

#

anchor

link

link

URL

URL

URL

URL

RHIZOMER

WIKI ENGINE

Building a Semantic IntraWeb with Rhizomer and a Wiki



6
/20

Wiki Engine


Simplicity
:


Based on Java Servlets / JSPs / JavaScript


No database required


Store documents as HTML files


Security: public / private areas



Ease of use
:


FCKEditor, http://www.fckeditor.net


WYSIWYG interface, text processor like


Personalise user interface


E.g.: add custom special chars

Building a Semantic IntraWeb with Rhizomer and a Wiki



7
/20

Wiki Engine

Building a Semantic IntraWeb with Rhizomer and a Wiki



8
/20

Rhizomer


Simplicity
:


Abstraction layer on metadata stores

(Sesame, Jena,…).


Common SOAP interface +

RDF/ACL conversations


Implementation


Java Servlets


JSP


JavaScript

Metadata

Store

Rhizomer

SOAP

Agent

Commun.

Language

Building a Semantic IntraWeb with Rhizomer and a Wiki



9
/20

Rhizomer


Ease of use
:


Facilitate discovering unknown metadata


Query results like SPARQL DESCRIBE


Web browser interface for semantic metadata


Graph browsing mechanism


Enable “self
-
explanatory” metadata

RDF

<HTML/>

<HTML/> SemFORMS

JavaScript

Building a Semantic IntraWeb with Rhizomer and a Wiki



10
/20

Rhizomer Architecture



search.html

+JavaScript

Search Form

Submit

RDFSOAP

Sender

RDF/ACL

query
-
ref / inform

RDF/ACL

inform

results.jsp


+

XSLT

Results

Return

RDF Web Portal

Broker & Storage

SOAP(RDF/ACL)

Rhizomer

DB

MetadataStore

Peer

Building a Semantic IntraWeb with Rhizomer and a Wiki



11
/20

Guided Tour:

user input




= Property = Value

NOTE: default namespace RDF/ACL









Semantics
-
enabled HTML Forms.




<form name="search" method="post" action=“
RDFSOAPSender
"


onSubmit="
search.content.value = buildRQL(search)
">


<input name="
http://purl.org/dc/elements/1.1/title
" type="text"/>


<select name="
http://www.w3.org/1999/02/22
-
rdf
-
syntax
-
ns#type
">


<option value="
http://rhizomik.net/.../MP7Genres.rdfs#Music
">...


</select> ...


<input type="hidden" name="
performative
" value="
query
-
ref
">


<input type="hidden" name="
sender
" value="
search.html
">


<input type="hidden" name="
receiver
" value=“
rhizomer
">


<input type="hidden" name="
language
" value=“
Se
RQL
">


<input type="hidden" name="
content
" value="">


<input type="hidden" name="
reply
-
to
" value="
results.jsp
">

</form>

Search Form

Submit

RDFSOAP

Sender

Rhizomer

SOAP(RDF/ACL)

visible

hidden

search.html

+JavaScript

Building a Semantic IntraWeb with Rhizomer and a Wiki



12
/20

Rhizomer

Guided Tour:

message content

On submit JavaScript

performative=query
-
ref


search.content=buildSeRQL(search):



= Property = Value NOTE: built from visible form elements






performative=inform




search.content=RDF metadata to insert or delete.

select
graph
(S) from




{S}
http://purl.org/dc/elements/1.1/title
{Y0},



{S}
http://www.w3.org/.../22
-
rdf
-
syntax
-
ns#type
{Y1}

where




Y0

like


The Best of*


and




Y1=
http://rhizomik.net/.../MP7Genres.rdfs#Music

RDFSOAP

Sender

SOAP(RDF/ACL)

Search Form

Submit

search.html

+
JavaScript

Building a Semantic IntraWeb with Rhizomer and a Wiki



13
/20

Rhizomer

Guided Tour:

message structure

RDFSOAPSender servlet: FORM submission


SOAP(RDF/ACL):





= Property = Value




NOTE: built from hidden form elements













or “
acl:inform
” / “
acl:inform
-
not
” for
insert/delete


…then send it to “acl:receiver” URL.

search.html

+ JavaScript

Search Form

Submit

RDFSOAP

Sender

SOAP(RDF/ACL)

<SOAP
-
ENV:Envelope xmlns:… > ...

<SOAP
-
ENV:Body>


<rdf:RDF xmlns:acl=“http://daml.umbc.edu/acldaml” ...>

<acl:query
-
ref>


<
acl:sender
>
http://rhizomik.net/rhizomer/search.html
</acl:sender>


<
acl:receiver
>
http://rhizomik.net/rhizomer/broker
</acl:receiver>


<
acl:language
>
RQL
</acl:language>


<
acl:content

parseType=“Literal”>
select graph(S)...
</acl:content>


<
acl:reply
-
to
>
http://rhizomik.net/rhizomer/results.jsp
</acl:reply
-
to>

</acl:query
-
ref>

</rdf:RDF>

</SOAP
-
ENV:Body>

</SOAP
-
ENV:Envelope>

Building a Semantic IntraWeb with Rhizomer and a Wiki



14
/20

RDF/ACL

inform

DB

MetadataStore

Peer

DB

Guided Tour:

broker routing


Web Service
, SOAP interface.


Common access point.


Semantic routing

input message to appropriate
StorePeers
, considers:


acl:language, acl:sender, acl:receiver,…

RDF/ACL

query
-
ref / inform

Rhizomer

SOAP(RDF/ACL)

Building a Semantic IntraWeb with Rhizomer and a Wiki



15
/20

Rhizomer

RDF/ACL

inform

RDF/ACL

query
-
ref / inform

Guided Tour:

store peer


JXTA(RDF/ACL) messages.


Implementations for RDF stores (and QL):


Sesame StorePeer (SeRQL),…


Input processing:


performative


query/insert/delete.


acl:content


query or metadata.


Query output also RDF/ACL.


Problem
: not usual RDF stores

output RDF…

DB

Metadata

StorePeer

DB

SOAP(RDF/ACL)

Building a Semantic IntraWeb with Rhizomer and a Wiki



16
/20

Guided Tour:

build response graph


For all Resources R selected by query…


Algorithm
graph(R)
:

Build graph of depth 1 from selected resources R.

Blank node closure

Building a Semantic IntraWeb with Rhizomer and a Wiki



17
/20

RDF/ACL

query
-
ref / inform

Guided Tour:

join responses


Rhizomer:


Receives StorePeers RDF responses.


Joins responses into unique RDF model.


Return RDF/ACL message to RDFSOAPSender.


acl:content = RDF Model serialisation


SOAP(RDF/ACL)

Rhizomer

RDF/ACL

inform

DB

MetadataStore

Peer

DB

Building a Semantic IntraWeb with Rhizomer and a Wiki



18
/20

Rhizomer

Guided Tour:

response presentation


RDFSOAPSender:


Redirect to acl:reply
-
to URL for presentation.


Result page:


Visualisation:


XSLT
: RDF to HTML or RDF to HTML FORM


Inference + XSLT
: RDF to SVG


Other alternatives
: RDF Path,…


Use RDF labels for usability,
multilingual

support.

results.jsp


+

XSLT

Results

Return

RDFSOAP

Sender

SOAP(RDF/ACL)

Building a Semantic IntraWeb with Rhizomer and a Wiki



19
/20

Guided Tour:

visualisation

<swrc
:
SoftwareProject




rdf
:
about="http
:
//rhizomik
.
net/rhizomer">


<rdfs
:
label>Rhizomer</rdfs
:
label>


<swrc
:
homepage

rdf
:
resource=




"http
:
//rhizomik
.
net/content/rhizomer"/>


<rdf
:
type

rdf
:
resource=“&swrc
;
ResearchProject"/>

</swrc
:
SoftwareProject>

view, RDF2HTML

edit, RDF2HTMLForm

view
,


RDF2HTML


search

Building a Semantic IntraWeb with Rhizomer and a Wiki



20
/20

Conclusions


Usable framework (preliminary user tests)


Simple and flexible


Example: Semantic Media Portal

Building a Semantic IntraWeb with Rhizomer and a Wiki



21
/20

Future Work


AJAX to improve user interaction


Support back button


Assisted metadata creation…



In deep user testing at the



Metadata trust based on RDF signatures


Fine grained access control

Thank you for your attention


More at:

http://
rhizomik.net

Contact

roberto@rhizomik.net

rosa.gil@diei.udl.es