
\special{! /pdfmark where
{pop} {userdict /pdfmark /cleartomark load put} ifelse
[ /Author (Tim Berners-Lee and Lalana Kagal)
/Title (Fractal Nature of the Semantic Web)
/Keywords (AAAI, artificial intelligence, web, semantic web, ontology)
/DOCINFO pdfmark}

\documentclass[letterpaper]{article}
\usepackage{aaai}
\usepackage{times}
\usepackage{helvet}
\usepackage{courier}
\usepackage{epsfig, url,psfig}

\begin{document}

\long\def\comment#1{}

\title{The Fractal Nature of the Semantic Web}

\author{Tim Berners-Lee and Lalana Kagal\\
Massachusetts Institute of Technology\\ Computer Science and
Artificial Intelligence Laboratory \\ Cambridge, MA 02139 \\
\{timbl, lkagal\}@csail.mit.edu
}

\nocopyright

\maketitle  

\long\def\comment#1{\relax}

\thispagestyle{empty}




\comment{
http://www.w3.org/DesignIssues/Fractal.html#Berners-Le

http://www.w3.org/2006/Talks/0718-aaai-tbl/Overview.html#(5)

http://bigfractaltangle.com/archive/2003/11/23.jsp

http://www.assumption.edu/ahc/1920s/demotic%20art/6jan18Krazy.gif

}

\comment{
We can fix the grammar and clean up the language. We can add an
explanation for each figure and add an example or two about the
"fractal-ness" of the SW. I can add some info to the design
considerations section. If you think the principles are too obvious,
we can drop the engineering portion and rename the paper.  We can also
drop the cost of ontologies section, if you think its irrelevant.  }
\begin{abstract}

In the past, many knowledge representation systems failed because they
were too monolithic and didn't scale well, whereas other systems
failed to have an impact because they were small and isolated. Along
with this tradeoff in size, there is also a constant tension between
the cost involved in building a larger community that can interoperate
through common terms, and the cost of the lack of interoperability.
The Semantic Web offers a good compromise between these approaches as
it achieves wide-scale communication and interoperability using finite
effort and cost. The Semantic Web is a set of standards for knowledge
representation and exchange that is aimed at providing
interoperability across applications and organizations.  We believe
that the gathering success of this technology is not derived from the
particular choice of syntax or of logic. Its main contribution is in
\comment{it achieves interoperability with finite cost and effort by
recognizing the fractal distribution that is inherent in most human
groups and information systems.} recognizing and supporting the
fractal patterns of scalable Web systems. These systems will be
composed of many overlapping communities of all sizes, ranging from
one individual to the entire population that have internal (but not
global) consistency.  \comment{Each community will have its own
ontologies (groups of consistent and related terms) but will also
develop shared ontologies with communities it interacts with. Some
basic ontologies will be globally applicable and be used by all
communities. } The information in these systems, including documents
and messages, will contain some terms that are understood and accepted
globally, some that are understood within certain communities, and
some that are understood locally within the system. The amount of
interoperability between interacting agents (software or human) will
depend on how many communities they have in common and how many
ontologies (groups of consistent and related terms) they share.
\comment{The fractal patterns found in nature are a
good compromise between large, monolithic systems and a set of
isolated systems, and we expect a similar fractal distribution of
ontology usage on the Semantic Web.}  In this article we discuss why
fractal patterns are an appropriate model for Web systems and how
Semantic Web technologies can be used to design scalable and
interoperable systems.

\comment{rewrite the last part of the abstract}


\end{abstract}


\section{Introduction}

Many patterns in nature - including clouds, mountains, leaves, and
even language - are fractal, in that they have repeating structures at
every scale and cannot be modeled with classical
geometry \cite{fractals77mandelbrot}. \comment{These patterns are also
irregular and are self-similar i.e. they repeat at every scale.}
Fractals provide solutions to capture and think about complex and
irregular patterns. They can be used to solve a variety of problems
including predicting weather, designing antennae, and even
characterizing metals. Identifying that a pattern is fractal helps us
model and analyze it appropriately. The inherent fractal nature of
language and culture in human societies leads us to expect the
Semantic Web to demonstrate the self-similar patterns of
fractals \cite{berners-lee98fractal}. \comment{that lead to a ``big
fractal tangle''}

\begin{figure}[!h]
  \centerline{\epsfig{file=images/globalvslocal.pdf,
  height=3in}} \caption{Global versus Local Ontologies}
\label{globalvslocal}
\end{figure}

\begin{figure*}[!t]
  \centerline{\epsfig{file=images/product-label.pdf,
  width=4in}}
  \caption{Product label that contains data from different ontologies}
\label{prod-label}
\end{figure*}

\comment{}

An ontology is a description of the concepts and relationships in a
domain that is used for modeling and sharing domain
knowledge \cite{gruber95ontology}. Ontologies allow agents both within
and outside a system to have a common understanding of information
used in the system and promote interoperability between
systems. Large, monolithic ontologies such as Cyc \cite{lenat95cyc}
and Suggested Upper Merged Ontology (SUMO) \cite{sumo} were developed
using classical knowledge representation theory. These kinds of large
ontologies are usually developed by a small group of people with a lot
of time and effort and try to meet the requirements of a much larger
group of users. When adopted, they provide greater interoperability
between different groups. At the other end of the scale are small,
isolated (stove pipe) systems that are developed by larger sets of
software engineers. An example of these kinds of systems are desktop
applications. Each application usually has a specific purpose such as
scheduling appointments or analyzing bank statements and cannot re-use
information produced by other applications. For example, it is not
possible to have a calendar view of your bank statements or to put
your pictures into your scheduler. \comment{Another example is of
organization-specific applications such as} From these two extremes,
it is clear that there is a trade-off between size and effort versus
re-use and interoperability as illustrated in
Figure \ref{globalvslocal}. Neither of these approaches is alone
useful on the Web and we believe that the solution lies somewhere in
between these extremes.

It appears that human society is fractal in that human groups are
stable when they have a set of peers and when they have a
sub-structure \cite{kleinberg99small}. \comment{Groups themselves
cannot scale so neither the set of peers nor the sub-structure can
involve huge numbers.} Groups that have a very large number of peers
or that are composed of a set of a very large number of sub-groups
cannot work effectively because of the cost of communication and
interoperability. Each sub-group within a stable group develops (or
adopts) its own language but needs to share some terms with every
sub-group or set of sub-groups that it has to work with. As these
sub-groups overlap, several common shared terms emerge that are
understood by everyone in the group. \comment{It seems that there must
be a continuum of group sizes from the very largest to the very
smallest.  In a similar manner, scalable systems on the Web are
composed of overlapping communities of all sizes. In order to operate
effectively, the communities within a system use some globally
understood terms, some terms shared only between interacting
communities, and some terms local to the community.}

\comment{We believe that ontology use the Web will be similarly fractal.} 
In a similar manner, we believe that Web systems will be fractal and
be composed of overlapping communities of all sizes. Each community
will have its own ontologies but will also develop shared ontologies
with communities it interacts with. Some basic ontologies will be used
globally by all communities. \comment{Some ontologies will be global
accepted and be used by all communities. Each community will have its
own ontologies but will also use global ontologies for communication
across community boundaries.}  Communication between agents either in
the same or different community will contain terms from both global
and local ontologies. The amount of data that will be understood and
reused by interacting agents will depend on how many communities they
have in common and how many ontologies they share. Semantic Web
technologies support this kind of ontology development and use. Terms
are defined in ontologies and ontologies are defined by communities. A
person can be involved in many communities, a message can mix terms
from many ontologies, and an operation only requires consistency
between parts of ontologies that are in use for that particular
operation. This promotes greater harmonization, but does not require
the establishment of a global ontology of everything. A single huge
ontology of everything is difficult to accomplish, as the effort of
getting consensus on it becomes unimaginable. On the other hand,
stovepipe systems with only local ontologies lead to interoperability
problems and a lack of re-use of data. The fractal patterns of Web
systems allow a compromise between having large global ontologies and
small isolated ones.

\comment{In the following sections, we discuss why fractal patterns are an
appropriate model for Web systems and how we can exploit Semantic Web
technologies to develop effective and interoperable Web systems.}

In the following sections, we discuss the fractal nature of the
Semantic Web and how we can exploit Semantic Web technologies to
develop effective and interoperable Web systems.

\section{Real World Example: Fractal Topology}

As an example of a fractal topology of communities, consider a product
label as shown in Figure \ref{prod-label}. The label consists of the
bar code for identifying the product, the nutrition section that
provides information about the serving size, calorie contents, and the
ingredients, and the product logo and name. Each part of this label is
generated and used by a different community of users. The bar code is
used by the store for pricing and inventory and has to be in one of
several universally accepted formats such as Bookland EAN Bar Code or
EAN-5. The format and specifications for the nutrition information is
provided by the US Food and Drug Information. The logo and name of the
product is from the producer's domain, whereas the series of number on
the right hand side are numbers that are printer specific and will not
even be visible when the label is pasted on the container. Each
section of the label is from a different community and uses a
different set of concepts or ontology. However, the label can be used
by all communities without misunderstandings because the portions of
the label that are irrelevant to a community can be dropped without
causing an inconsistency in the relevant portion. Each portion of the
label also contains within it an implicit reference to the domain from
which the terms were drawn making it easy to ground the terms.

\begin{figure*}[!t]
  \centerline{\epsfig{file=images/ontology-usage.pdf,
  width=6in}}
  \caption{Fractal use of ontologies on the Semantic Web}
\label{swoogle-stats}
\end{figure*}

\comment{
\begin{figure*}[t]
  \centerline{\epsfig{file=images/cost-of-ontologies.pdf,
  width=6in}}
  \caption{Cost of Ontologies}
\label{cost-of-ontologies}
\end{figure*}
}

\section{Culture, Boundaries, and the Web}

When a group of people communicate among themselves, they develop, to
a certain extent, their own language. Sometimes, they pick terms
understood by one party, talk enough to develop a shared understanding
of the meaning of the term, and adopt it across the group. Sometimes,
as discussion proceeds within the group, meanings are adjusted so that
they can be used for new concepts which are created or discovered by
the group's activity. At other times a group will deliberately and quite
specifically make up a new term, which is different from any other
word or phrase used before. While this is evident in technical groups,
this process also happens in all walks of life, legal and political,
as well as social and familial.

The result of this process is a new language, a new strain of
language, or just a twist in the use of an existing word. The
motivating factor is to enable communication within the group. A
greater shared vocabulary broadens the scope of common discussion,
which can be made without misunderstanding. The second, complementary
effect of this change is to create a common bond within the group,
which at the same time, erects a barrier around the group. In most
cases, this is unintentional.  For every linguistic development that
promotes communication within the group, a corresponding step change
is made in the difficulty of communicating across the boundary of the
group.

In order to get wider interoperability, an essential solution is for
those involved to consider what those on the other side of the
boundary are thinking. \comment{This is not only difficult but also
involves, we discover, use of specific parts of the
brain \cite{saxe06thought}.} In a conversation, this is the job of
listening. In a technical setting, it can involve a careful study of
the words used in the other's seemingly senseless protestations, to
logically build up a conclusion of how those words must be related in
the other's mind. \comment{The work of taking an specification from
one group, and though review and discussion, and getting it to be the
subject of consensus in a wider group, will typically involve
re-examining the terms it uses and often changing them as the group
itself goes through the process which the individuals, or for that
matter smaller groups, within it had already gone through. The
motivation is to get wider interoperability make common decisions, and
to reduce global strife.}

There is constant tension between the need to get things done quickly
with less effort, by working within a small group, and the need to get
a wider understanding between different groups, which takes so much
more time.  In practice, life is made up of a fractal tangle of
overlapping communities, of overlapping cultures. This means that the
tension is ever-present. It also means that there is always a small
amount of common language shared by a very large number of people, a
large number of concepts local to an individual, and everything in
between. In centuries before this one, geography played an important
role in constraining group development, and so a nested
two-dimensional pattern existed.

With the Internet and the Web, we can connect things without the
constraint of these nested geographical areas. We can choose not just
to be members of communities such as town, region, state and country,
but also to be specialists in a given field, people with a particular
medical condition, or people concerned about a particular global
issue. This means that the topology of the communities, and the
connectedness by some metrics, may be different and in fact better
than before. The topology that emerges on the Web will depend on the
individual choices of many people but in accordance with previous
studies of Web usage, we believe it will be a fractal distribution,
emphasizing all scales.

\comment{
\section{Cost of Ontologies}

Large ontologies require more effort but then allow for greater
interoperability, whereas small local ontologies can be deployed
quickly but lead to stove point isolated systems. Thus, there is a
constant tension between the cost involved in building a larger
community that can interoperate through common terms, and the cost of
the lack of interoperability when this is not done. The Semantic Web
achieves wide-scale communication and interoperability using finite
effort per person.

By assuming a fractal distribution, we can think about the number of
ontologies and the time it takes to develop them, and the total cost
of using ontologies. For example, let us naively assume that
ontologies are evenly spread across orders of magnitude - committee
size is proportional to log(community), time is committee raised to 2,
and cost is shared across community. As seen in
Figure \ref{cost-of-ontologies} the total cost of 10 ontologies is 3.2
weeks and a serious project comprising of 30 ontologies the time is
approximately 10 weeks.
}


\section{Ontology Development and Usage on the Semantic Web} 
Starting from the early days of the Web, several studies have observed
that Web use follows a Zipf or fractal distribution of popularity
where a small number of websites account for most of the Web
traffic \cite{nielsen97zipf}, \cite{menasce02fractal}, \cite{dill02self}, \cite{shirky03power}.
The analysis of current ontology use has shown that it also follows a
similar fractal distribution.  Figure \ref{swoogle-stats}.a
illustrates the usage of ontologies (approximately 13,675) based on
how many of the total semantic web documents (approximately 2,379,164)
they are used in. The graph shows that only 10.4\% of the ontologies
have been used in at least 10 documents and less than 1\% (about 10
ontologies) have been used in over 100,000 documents. According to
Swoogle \cite{characterizing06ding}, the most used ontology is Dublin
Core (\url{http://purl.org/dc/elements/1.1/ }), which has been used at
least once in over 1 million documents on the Semantic Web. The next
most popular ontologies include Resource Description Framework
(\url{http://www.w3.org/1999/02/22-rdf-syntax-ns}), Friend Of A Friend
(\url{http://xmlns.com/foaf/0.1/}), RDF Schema
(\url{http://www.w3.org/2000/01/rdf-schema}), and Trackback of RSS
(\url{http://madskills.com/public/xml/rss/module/trackback/}). Please
refer to Table \ref{swoogle-stats}.b for a list of the most used
ontologies and the number of documents they have been used in.

The cost of ontology development is often miscalculated. Most system
developers are under the misconception that the ontologies required by
the system will be either all developed by a top down or a bottom up
approach. In a top down approach, all ontologies will be created by
standards bodies forcing system developers to wait for standard
ontologies to be developed that meet all their requirements. In a
bottom up approach all the information required by the system is
created by the system developers making it costly and time consuming.
However, in reality, the fractal nature of the Semantic Web leads to a
cost-effective solution, which is a combination of these
approaches. Global ontologies such as Dublin Core, Cal
(\url{http://www.w3.org/2002/12/cal/ical}), and Geo (\url{
http://www.w3.org/2003/01/geo/wgs84_pos}) are created and maintained
by standards bodies, community ontologies are created by groups of
organizations that need those ontologies so the cost is shared, and
local ontologies that are specific to the system are created by system
developers. This implies that though system developers are mainly
responsible for their local ontologies, it is beneficial for them to
participate in the development of both standard and community
ontologies.

\comment{We believe that this will enable
the Semantic Web will achieve wide-scale communication and
interoperability using finite cost and effort.}

\comment{
\begin{table*} [!t]

\begin{tabular}{|p{1.3cm}|p{7.3cm}|}

\hline

{\bf  Used in } & {\bf Namespace }\\
{\bf (docs)} \\

\hline

1840103 &  http://purl.org/dc/elements/1.1/ \\
1532468  & http://www.w3.org/1999/02/22-rdf-syntax-ns  \\
751452   & http://xmlns.com/foaf/0.1/ \\
689059   & http://www.w3.org/2000/01/rdf-schema \\
502662   & http://madskills.com/public/xml/rss/module/trackback/ \\
398870   & http://webns.net/mvcb/  \\
359540   & http://purl.org/rss/1.0/\\       
231881   & http://www.w3.org/2003/01/geo/wgs84\_pos   \\
209765   & http://purl.org/vocab/bio/0.1/  \\
179680   & http://www.w3.org/2001/vcard-rdf/3.0  \\
149091   & http://purl.org/rss/1.0/modules/content/ \\
135351   & http://purl.org/dc/terms/  \\
130680   & http://www.w3.org/2002/07/owl \\
97842    & http://web.resource.org/cc/  \\

\hline 

\end{tabular}
\caption{Most used ontologies and the number of documents they are used in}
\label{ont-table}
\end{table*}
}


\section{Design Considerations for Semantic Web Technologies}

Given the natural overlapping of human groups, it is important that
Semantic Web technologies support a similar overlapping in Web
systems.  These technologies need to enable the development of a
global community of distributed but interconnected and interoperable
information systems. These technologies should (i) provide global
unique identification so users can uniquely identify terms and
resources from different communities, (ii) allow the free mixing of
terms from different ontologies as several ontologies (local and
global) will be used for develop knowledge or messages, (iii) support
extensibility so individuals can create new terms or ontologies
without waiting for consensus from a governing body, (iv) allow
portions of ontologies/data to be dropped/ignored without affecting
the meaning of the other concepts, and (v) support mapping between
ontologies for communities that use different ontologies but need to
communicate.

Semantic Web technologies such as the Resource Description Framework
vocabulary language (RDFS) \cite{w3c02rdfs} and the Web Ontology
Language (OWL) \cite{w3c04owl} provide the required support through
the following characteristics:

\begin{itemize}

\item  
While communicating within a local group, users can use concepts from
an agreed upon, shared set of terms. However, for interoperability
across diverse communities, a single global identification system is
required \cite{jacobs04architecture}.  Uniform Resource Identifiers
(URIs) \cite{berners-lee04uri} allow Web resources and terms to be
unambiguously identified. For example, the {\it Person} concept
defined by the {\it http://xmlns.com/foaf/0.1/Person} URI is not the
same as the {\it Person} concept defined by the {\it
http://www.w3.org/2000/10/swap/pim/contact\#Person} URI. In case of
Web resources, the Hypertext Transfer Protocol (HTTP) provides a way
to associate a URI and the resource it represents (also called
dereferencing). URIs and HTTP form the foundation of Semantic Web
technologies.

\item Users can refer to and use terms from different ontologies through
groups of URIs known as namespaces. Namespaces provide a way to
qualify terms by associating them with URI references. Consider as an
example {\it foaf:knows}. If the {\it foaf} namespace refers to \url{
http://xmlns.com/foaf/0.1/} then {\it foof:knows} is a property
defined in the {\it foaf} namespace.

\item 
The Web architecture supports the easy creation of new communities by
enabling them to use the Domain Name System (DNS) \cite{dns} to
register their domains and to host their community information
including their ontologies.

\item 
Semantic Web technologies provide simple mechanisms through RDF and
RDFS that allow individuals to easily create new ontologies or add
to/modify existing ontologies. For example, in order to create a new
concept one would use {\it rdf:Class} and to create a new property one
would use {\it rdf:Property}.  New ontologies do not have to be
published on a specific website or at a certain URI in order to be
used.  Also, modifications to existing ontologies do not have to be
published at the same URI as the original ontology.  For example, it
is possible to add properties to the {\it Person} concept defined in
the {\it foaf} namespace and publish the changes on a different
URI. Users can add to or modify terms in existing ontologies, publish
the changes to their own URIs, and use them immediately. In general,
users do not need to wait for consensus from the community or any
governing body to create or modify ontologies.

\item 
Semantic Web data is organized as RDF graphs, which are made up of
triples {\em (subject predicate object)}. These triples are only
conjuncted. This means that if someone doesn't want to use or does not
understand a portion of an RDF graph, it can be easily ignored or
dropped. Assume an agent accesses a document that contains terms from
two ontologies, only one of which it understands. In this case, the
agent can ignore the terms from the other ontology and be assured that
the remaining portion of the document will be consistent. If RDF
graphs were made of both conjunction and disjunction of triples, it
would have been difficult to drop the irrelevant portions.

\item 
For mapping between terms (both concepts and properties) in different
ontologies, OWL provides properties \comment{that allow the
relationship between ontologies to be described} such as {\it SameAs},
{\it equivalentProperty}, and {\it differentFrom}. For example, it is
possible to say that {\it tel} defined in the {\it vcard} ontology is
an {\it owl:equivalentProperty} to {\it phone} defined in the {\it
foaf} ontology. As a consequence, when a document uses {\it vcard:tel}
to state someone's telephone number, it would be understood to mean
the same as {\it foaf:phone}. RDF has properties that deal with
classification such as {\it subClassOf} and {\it subPropertyOf} that
can also be used to describe the relationship between terms in
different ontologies.

\end{itemize}

\comment{communities can come up with local ontologies and work w/o
standardization. Standardization is a way to take norm/ontology from a
local group to a larger sized group. ... taking things to a global
scale ?

role of standardization
}

\comment{
\begin{figure*}[!t]
  \centerline{\epsfig{file=images/ont-table.pdf,
  width=4in}}
\caption{Most used ontologies and the number of documents they are used in}
\label{ont-table}
\end{figure*}
}

\section{Principles for Developing Ontologies and Applications}

In this section we suggest some principles for developing scalable
Semantic Web communities.

\begin{itemize}

\item{Ontology development: }   

\begin{itemize}
\item 
It is important to be aware of the community and to use terms from
ontologies that have been developed by existing communities. For
example, if you are working on a scout troop ontology then you should
consider what terms are commonly used by the troop members and whether
there are existing troop ontologies already in use.

\item 
You should only define terms that are specific to your community of
interest and try to leave terms specific to sub communities to be
defined in those communities. For example, if you are developing a
scout troop ontology you should not try to develop terms that a girl
scout troop might require.

\item 
You should publish the terms you define on a community web-page and
demonstrate the trustworthiness of your ontology by maintaining the
URIs.
\end{itemize}

\item{Client Cache: } 

In client side applications, global ontologies should be cached
locally not only because they are accessed often but also to prevent
stressing the server that is hosting the ontology, shared/community
ontologies should be stored in a persistent store, and local or
working ontologies should be read at run-time because they might
change often.

\item{User Interface: } 

In order to support fractal communities, special attention should be
paid to user interface design, prompting and helping users make the
right decisions. As an example, consider how RDF graphs are edited in
the Tabulator \cite{berners-lee06tabulator}. While changing or adding
a predicate, users are first prompted with predicates from global
ontologies such as Friend Of A Friend (FOAF). Users are then shown
community/domain-specific terms such as those that are specified in a
configuration file. After this they have a choice of near by data such
as data that has just been added to the Tabulator. Finally if none of
the available data meet their requirements, they can create their own
terms. This emphasizes the re-use of existing ontologies and helps
create interoperability.

\item{Functionality: } 

Different kinds of ontologies require different functionality. Global
ontologies should have specific code because they are used
frequently. Domain or community specific ontologies should have
adaptable code such as plug-ins that can be downloaded as and when
required. Local or specific ontologies can have basic functionality
such as being viewable in a spreadsheet. For example, within an
application, there should be specific code for handling FOAF
ontologies, code for handling the cranberry sauce ontology should be
downloadable from cranberry sauce community web-page, and information
such as printer information on the cranberry sauce label should only
be text, so it can be cut and pasted into a spreadsheet, if required.

\end{itemize}

\comment{
\begin{itemize}
 \item{global} - pre programmed, (map, calendar), common ontologies,
lots of - functionality \item{medium} - specific to domain,
(cranberry bog) - adaptable, plug in functionality, download from
somewhere and use \item{local} - (printer info) basic functionality,
maybe just human - readable or stored in spreadsheets.
}




\comment{
dbpedia with its link to the genome info

examples of web 

examples of sw
}

\section{Summary}

Human society is made up of a fractal tangle of overlapping
communities and cultures. We expect the same fractal patterns to
appear in scalable Web systems within which information will be
composed of terms from different ontologies - global,
community-specific, and local.  There will be some global shared
ontologies such as iCal and Geo but most of the ontologies will be
established by smaller communities of different sizes \comment{(a
community of an individual creates a local ontology)} such as a
cranberry sauce ontology or a girl scout troop ontology.  Semantic Web
technologies will help achieve scalable and interoperable systems with
finite cost and effort by leveraging this fractal distribution and
emphasizing global identifiers, and reuse and extensibility of
ontologies.


\bibliography{fractal-paper}
\bibliographystyle{aaai}


\end{document}


