RE: Help-me , Semantic Web

"Minsu Jang" <minsu@etri.re.kr> wrote:

>Here's my 2 cents.
>
>I would like to differentiate OO and SW by picking out features
>which are naively supported in OWL but not in OO.
>
>If you restrict OO to some well-known languages like Java, C++,
>and C#, the following holds true, to my knowledge.
>

JAVA, C++, and C# are programming languages; whereas, OWL is an
ontology definition language and not any sort of programming language.  
Object modeling languages like UML are more aappropriate for comparison 
with OWL.  There have been a few papers that have discussed problems
and approaches for using UML for ontology development and these often
compare UML with OWL and RDF.  You might do a web search to find some
of these.  

Evaluating your comments with respect to UML leads to the following:

>In OO, you cannot:
>- effectively express that some two classes are disjoint.

UML can express disjointness constraints.  These are typically
specified for siblings in a generalization relation.

>- represent intersection and complement of a class.

Multiple inheritence could be used to express intersection, but
complement is unsupported in UML.

>- naively set minimum or maximum cardinality.

I think you mean natively.  If so, then this is supported through
multiplicity in UML.

>- explicitly assert that some property is symmetric, transitive,
>  , functional, or inverse-functional.

functional and inverse-functional can be expressed through multiplicities
on associations in UML.  I believe that it's fair to say that 
transitive and symmetric can't be explicitly asserted.

>- create two distinct classes which are actually equivalent.
>

Like other information modeling languages, UML can capture constraints but
is not intended to support inference.  It's constraints are necessary but
not sufficent to infer membership or identity.

>I think semantic web extends expressiveness of OO model. The
>(bad) side effect of this is that it's more difficult for professionals
>and almost impossible for novices to author well-defined data
>model for the semantic web.

I agree that OWL is a step up from object modeling, mostly because of 
its explicit support for inference and consequently more formal semantics.  
In many ways, OWL would be a natural progression for someone who has been 
using UML for conceptual modeling or even system modeling.  I say, "it 
would be" if it were not for all the new syntax and terminology that a 
current user needs to understand to be proficient with it, or even to know 
how to ask the proper questions.  That said, the documentation and tooling
are already considerably better than when I first took the Semantic Web
plunge.  Hopefully, the next year or two will see the development of 
best practices, repositories of useful reusable ontologies and data, and
even better tools for modelers that will help make the Semantic Web 
accessible to more than a few hearty pioneers.

-Evan

Received on Monday, 8 March 2004 17:21:34 UTC