=Paper=
{{Paper
|id=Vol-184/paper-12
|storemode=property
|title=MetaDesk: A Semantic Web Desktop Manager
|pdfUrl=https://ceur-ws.org/Vol-184/semAnnot04-12.pdf
|volume=Vol-184
|dblpUrl=https://dblp.org/rec/conf/semweb/MacGregorMY04
}}
==MetaDesk: A Semantic Web Desktop Manager==
MetaDesk: A Semantic Web Desktop Manager
Robert MacGregor, Sameer Maggon, Baoshi Yan
Information Sciences Institute
4676 Admiralty Way, Marina del Rey, CA 90292, U.S.A.
{macgregor, maggon, baoshi}@isi.edu
Abstract information and for collaborating with other MetaDesk
MetaDesk is an RDF authoring tool that facilitates entry of users.
facts, rather than construction of ontologies. MetaDesk
places no restrictions on vocabulary—users can invent Example: MetaDesk provides two metaphors for entering
terms on-the-fly, which the system converts into underlying information—users can create “nodes” (represented
RDF structures. Knowledge entry focuses on the creation internally as RDF resources) that are arranged in a
of semantic structures that form scaffolding both for hierarchy, and they can attach attribute-value pairs to
retrieving and interpreting facts. The most common nodes.
hierarchic relationships turn out to be partonomies
(whole/part structures) and set membership (as opposed to
the traditional is-a hierarchies and class memberships).
MetaDesk is also a semantic desktop that includes
references to folders and documents within its knowledge
base. We have found that the same semantic structures are
appropriate for organizing desktop information
Introduction
A year ago we experimented with a tool for attaching RDF
metadata to Web pages that used Protégé [Eriksson 1999]
as the data entry (authoring) component. The tool required
that a class be selected for instantiation as a prerequisite to
knowledge entry. Our experiment was a failure, for two
reasons. We found that the ontology-driven paradigm
resulted in creation of artificial classes (often suffixed with
the term “Annotation”) that drew an artificial boundary
between the objects being annotated and the metadata Figure1: Recording Trip information in MetaDesk
descriptions. Worse, it was just annoying—the effort to
select a class before typing in an annotation discouraged Suppose you are planning a trip to the forthcoming ISWC
use of the tool.1 conference and you need to record information about the
In response, we invented a new tool, MetaDesk that trip in an organized fashion. Details could include flight
makes RDF data authoring as quick and painless as carrier, confirmation number, hotel preferences, prices etc.
possible. We use MetaDesk to record the kinds of In addition, you would like the information to be
metadata we generate during everyday tasks. We quickly represented in such a way that restructuring of the data is
discovered that the kinds of knowledge structures users feasible. Storing such information in the current RDF
(the authors, in this case) produced with the tool differ authoring tools is a tedious process. As opposed to directly
from the structures found in typical RDF databases. writing the information in the tool, you first have to create
Currently, we are using MetaDesk as a personal a myriad of classes and properties like Trip Class, Flight
information manager to keep track of projects, proposals, Class, and Hotel Class etc. Also, the domain and range
to-do lists, slides, etc., and as a launching pad for quickly constraints of the properties have to be specified. Further
bringing up specific folders and documents (like Windows more, the ontological information is not very obvious in
shortcuts, only better organized and optionally possessing particular cases. For example, it is difficult to name the
metadata annotations). Our intention is to add one or more relationship between Trip class and Flight class and
additional knowledge sharing capabilities to MetaDesk, between Trip class and Hotel class. As a result, a naive
and then release it as a generic tool for managing user, or one in a hurry, would prefer to create such
information in a text format than recording it in an
ontology-driven RDF authoring tool. Our tool excels in
1
simplicity, providing an efficient data entry paradigm.
These artificial classes were created to provide domains for “annotation
properties”.
107
Recording the information in this example is easy and fast consciously imitates the gestures, look and feel used to
with MetaDesk. One can simply create a Trip node and construct hierarchies using Windows Explorer.
add some child nodes to it. The child nodes could be a
Flight node, a Hotel node and a Conference node. One can If ‘P’ is a node, and ‘C’ is one of its children, the link
attach other information to individual nodes; for example, between them is represented by a triple of the form where ‘R’ is either ‘parentChild’ or one of its
resultant hierarchy is shown in Figure 1. subproperties. The ‘parentChild’ relationship is roughly
definable as the most-general, directed structural
MetaDesk is all RDF-based--although users enter the data relationship. As such it subsumes more specific relations
rather quickly without knowing anything about RDF, the such as whole/part, class/subclass, set/set member, or
created data is converted to RDF triples. Below we list the folder/subfolder. We originally assumed that it should also
underlying RDF triples (in N3 format for readability) for subsume the class/instance property (the inverse of
the information shown in Figure 1. The "parentChild" links ‘rdf:type’), but when viewing children of a class, we found
specify that under the "ISWC_2004_Trip" node are three that we wanted to see only its subclasses, not mixed in
nodes: "Flight" node, "Hiroshima_Prince_Hotel" node and with its instances. A node can have multiple parents (it
"Places_to_Visit" node. Under "Flight" node are four other occupies the object position of multiple ‘parentChild’
nodes representing individual connecting flights: triples). A special node called ‘Heap’ exists as a catch-
"JAL1604", "JAL5016", "JAL5015", and all—an RDF resource that does not have a parent node is
"JAL1601". There are also RDF triples defining the considered to be “on the heap”. This is handy for
reservation number and phone number for the hotel, etc. operations such as tabbed search that assumes that each
node it displays is located somewhere in the hierarchy.
myNS:Trips
rdfs:label “Trips” ; Each node N has zero or more attributes, represented by
sew:parentChild myNS:ISWC_2004_Trip . triples of the form where ‘R’ is not a
subproperty of ‘parentChild’ (or of its inverse). There are
myNS:ISWC_2004_Trip no restrictions on what attributes can be attached to a node
rdf:type myNS:Trip ; (i.e., violations of domain constraints may be flagged, but
rdfs:label “ISWC 2004 Trip” ; are not forbidden). Users are encouraged, but not required,
sew:parentChild myNS:Hiroshima_Prince_Hotel
to fill in the attributed named “type”, which denotes the
,myNS:Places_to_Visit
property ‘rdf:type’. A future version of MetaDesk will
,myNS:Flight .
semi-automate the filling-in of type attributes.
myNS:Hiroshima_Prince_Hotel
rdf:type myNS:Hotel ; RDF structures in their raw format are not readable, so we
rdfs:label "Hiroshima Prince Hotel" ; want to hide all details of RDF from users, including URIs
myNS:Phone_Number "81-82-256-1111" ; and namespaces. Hence, all non-literal names that a user
myNS:Reservation_Number "3345788" . sees in MetaDesk (names attached to nodes in the
hierarchy, attributes, and in attribute value position)
myNS:Places_to_Visit correspond to RDF ‘labels’. Underneath, each label ‘N’
rdf:type sew:Desktop_Folder ; maps to a URI ‘U’, and MetaDesk asserts the triple . Some labels have semantics built in, e.g.,
fileNS:fullpath "C:\\Documents and “type” maps to ‘rdf:type’ and “parent class” maps to
Settings\\maggon\\My Documents\\Places to Visit". ‘rdfs:subClassOf’. By default, a label “xxx” that does not
match an existing label is mapped to the URI ‘myns#xxx’,
myNS:Phone_Number rdfs:label "Phone Number".
where “myns” is the URI for a user’s personal namespace.
myNS:Flight
rdfs:label "Flight" ; An attribute value ‘V’ is stored as a literal (a string) if the
sew:parentChild myNS:JAL5016 , myNS:JAL1604 , relevant range information references a literal class (a
myNS:JAL5015 , myNS:JAL1601 . subclass of ‘rdfs:Literal’), or as a resource if the range
indicates a non-literal. If there is no range information,
Mapping MetaDesk to RDF then the system first looks for a label matching ‘V’,
creating a matching resource if there is. Otherwise, ‘V’
MetaDesk is represented as “triples all the way defaults to a string, but the user can convert a literal value
down”—every link in MetaDesk maps to a triple. A new it into a new resource (by gestures provided by MetaDesk)
node is created by highlighting an existing node, and any time. Values representing brand-new resources are
explicitly typing the name of a child node, or by dragging considered a part of the “heap”.
something (a Web page, PDF file, Word Document, etc. or
another node) onto the highlighted node. MetaDesk
108
Importing Data Plug-ins
Arbitrary RDF files can be dropped into a MetaDesk MetaDesk architecture can be extended by using
hierarchy, but MetaDesk will not know which new plug-ins to create alternate displays for the top and bottom
resources to treat as nodes within the hierarchy. Instead, panes to the right of the hierarchy pane. Plug-ins are
all of these nodes are assigned to the “heap”. An associated with particular data types – when a node is
exception is Class and Property resources. These are highlighted, the default display plus all relevant plug-ins
entered under the Ontology node, below either ‘owl:Thing’ that correspond to the type of that node are presented as
or ‘sew:Attribute’(‘sew’ is the nickname for the options. MetaDesk also enables users to select a default
namespace that is internally used by MetaDesk). plug-in for the data type; this way MetaDesk remembers
the user’s choice for the next time. We have developed a
Arbitrary XML files can also be dropped into a MetaDesk photo viewer plug-in (Figure 2) that enables users to view
hierarchy. These are automatically converted into RDF, the thumbnails of the images organized in MetaDesk.
with the top-most tag forming the root resource. The Whenever the user clicks on the Album Node (a node with
‘parentChild’ Property is used to represent the relationship the rdf:type – Photo_Album) in the hierarchy, the
between tags and subtags (except when the subtag photographs are shown in the bottom pane. User can view
represents a literal). For example, for the following XML as well as annotate the pictures thus embracing an
interactive session.
America West
Our translator would create resources of RDF type
‘myns:Trip’, ‘myns:Hotel’, and ‘myns:Flight’, with
‘parentChild’ links from the Trip resource to the Hotel and
Flight resources. Each of the three attributes is converted
into the obvious RDF triple. The Flight resource is linked
via a triple to the string “America West” via a property
named ‘myns:carrier’.
Interaction with Windows Applications
The primary means provided currently for interacting Figure 2: Photo-Plugin for displaying graphics resources
with desktop objects are (i) drag and drop actions to/from
the desktop and (ii) launching applications by double- MetaDesk allows a user to choose the plug-in for any data-
clicking on nodes denoting them that reside in the type (or class). For example, a user might want to associate
the photo viewer plug-in with the nodes that have the type
hierarchy. Windows folders are a special case—when a
Photo Graphs instead of Photo Album. This leverages the
Windows folder is dropped into the hierarchy, the
ease of customizing MetaDesk according to personal
corresponding MetaDesk node can materialize additional
preference. In addition to developing plug-ins for specific
child nodes (on demand) corresponding to the contents of
data types, one might consider writing a plug-in that
the folder when the node is “opened”. Annotations enforces type restrictions on its input, or one that displays
attached to folders are persistent, but the ‘parentChild’ Protege-like templates in place of the free-form attribute
links that relate folders and subfolders are not stored editor that comes standard in MetaDesk. Such plug-ins
persistently (to save space). Move and copy operations on would enable MetaDesk to mimic more traditional
folder nodes cause corresponding changes in the Semantic Web RDF editors. Thus, MetaDesk uses these
underlying Windows desktop hierarchy. plug-in points to keep track of the user's working behavior
and provide self-personalization.
A complete semantic desktop should demonstrate similar
levels of integration for other applications such as e-mail.
Ideally, one or several commercial e-mailers could be Ongoing Work
integrated with MetaDesk. Alternately, one could mimic Search: Currently, MetaDesk supports keyword search.
Haystack [Quan 2003] and implement an entire e-mail When searching for a match to the keyword “xxx”, a triple
application (as a plug-in) within MetaDesk. matches if one of S, P, or V has a label
109
containing “xxx” as a substring, or if V is a literal value defining ontology first. Instead, it is our belief that
that contains “xxx”. Results may be in the form of a tabbed ontologies can be created later in a bottom-up fashion, as
search, wherein each hit of the ‘tab’ key opens the the by-product of creating and using data, rather than a
hierarchy to the location of the next matching node, or the straightjacket that inhibits the evolution of domain
results may be placed under a newly-created search node vocabularies. Compared with other ontology-driven RDF
which can further be annotated. authoring tools (SHOE Annotator [Heflin 1999] OntoMat
[Handschuh 2002] SMORE [Kalyanpur 2003] Melita
Ontology Alignment: Philosophically, MetaDesk runs [Ciravegna 2002]), MetaDesk is more ordinary-user
completely against the grain by promoting “ontological friendly, more flexible in metadata creation, and provides
promiscuity” and advocating bottom-up development of immediate rewards to users’ effort.
ontologies. “Promiscuity” refers to MetaDesk’s MetaDesk’s metadata authoring paradigm allows quick
encouraging users to make up their own vocabulary. In data entry and organization. As a result, MetaDesk is
our scheme, we first let a thousand flowers bloom, and already viable as a personal information manager.
then specify semantic mappings (alignments) that say how MetaDesk has been extended as a usable semantic desktop
one user’s terminology relates to another’s. We call this application. It is integrated with an actual user desktop,
“grassroots alignment”, since it empowers ordinary users allowing direct annotations on file systems and direct
to build terminologies, instead of requiring ontology launching of applications from within it. MetaDesk’s
experts. The current MetaDesk is missing two things: (i) simplicity in metadata creation as well as usefulness as a
“carrots” that encourage MetaDesk users to align their semantic desktop makes it a rewarding semantic web
terminology with terms used by others and to fill in the application.
type attribute on each node, and (ii) alignment tools that
make aligning terms very simple. One example of such a References
carrot is a search facility that exploits alignments to
increase the recall of its matches. Another is a report F. Ciravegna, A. Dingli, D. Petrelli, and Y. Wilks. Timely
generator that produces denser, better organized reports and Non-Intrusive Active Document Annotation via
when alignments are taken into account. ISI’s Adaptive Information Extraction. Semantic Authoring,
WebScripter[Yan 2003] report generator incorporated both Annotation and Knowledge Markup, ECAI Workshop,
a carrot and an alignment capability into a single tool. July 2002.
Determining whether quality ontologies can be achieved
bottom-up via a sufficiently mature set of carrots and H. Eriksson, R. W. Fergerson, Y. Shahar, and M. A.
alignment tools is at this point an open question—one that Musen. Automatic Generation of Ontology Editors. 12th
we believe deserves to be tested. Banff Knowledge Acquisition Workshop, 1999.
S. Handschuh and S. Staab. Authoring and Annotation of
Future Directions Web Pages in CREAM. WWW, May 2002.
At present, we have hypothesized that end-user Heflin, J., Hendler, J., and Luke, S. SHOE: A Knowledge
alignment can compensate for the ontological promiscuity Representation Language for Internet Applications.
engendered by multiple MetaDesk users, enabling a Technical Report CS-TR-4078 (UMIACS TR-99-71),
community of MetaDesk users to profitably share Dept. of Computer Science, University of Maryland at
information. This hypothesis needs to be tested. Our near College Park. 1999.
term goal is to add sharing capability, and then to
distribute MetaDesk to a community of users. Our supply A. Kalyanpur, B. Parsia, J. Hendler, and J. Golbeck.
of “carrots”—tools that encourage end-users to align with SMORE – Semantic Markup, Ontology, and RDF Editor.
each others’ vocabulary—is still sparse. We will find out
whether we are close to having a viable sharing D. Quan, D. Huynh, and D. R. Karger. Haystack: A
infrastructure, or if more incentives are needed. Platform for Authoring End User Semantic Web
Applications. International Semantic Web Conference, Oct
MetaDesk will eventually support multiple search 2003.
regimens—more sophisticated ones will trade precision for
user convenience (more typing yields more precision). B. Yan, M. Frank, Pedro A. Szekely, R. Neches, J. Lopez:
WebScripter: Grass-roots Ontology Alignment via End-
User Report Creation. International Semantic Web
Conclusion Conference, Oct 2003.
We have introduced MetaDesk, an original RDF
authoring tool. MetaDesk’s approach to RDF authoring is
extreme: users immediately create metadata without
110