OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Meta-somethingorother (was the semantic web mega-permathre

[ Lists Home | Date Index | Thread Index ]

Dare Obasanjo wrote:

>
>A requirements document doesn't mean anything. 
>
You asserted that

    Semantic Web proponents tend to gloss over these points whenever
    describing the Semantic Web utopia.

The requirements document is evidence that these important points have 
at least been considered and that this consideration has gone into the 
design of OWL.

>Show me how the spec
>achieves this. Show me how if I have a data model where a person is
>identified by [SocialSecurityNumber, FullName] and you have a data model
>where a person is a pair of [FirstName, LastName, DateOfBirth] we can
>interoperate.
>
This is just like a relational join using foreign keys, the real 
difference between this and a relational table is that there need not be 
a fixed number of columns in each record. that's it. Oh and the other 
thing is that you might only have partial information about an ontology 
in the first place (that is a class definition can be spread out all 
over the place) -- the more information you have, the more inferences 
you can make.

How about my example using credit cards and tax reports -- assume for 
the sake of my not being inclined to type too much stuff out that a 
credit card number, a social security number and an email address  are 
all unique to an individual:

<owl:InverseFunctionalProperty rdf:ID="CCNumber" />
<owl:InverseFunctionalProperty rdf:ID="SSN" />
<owl:InverseFunctionalProperty rdf:ID="email-address" />

<owl:Class rdf:ID="FirstName"><rdfs:subClassOf rdf:resource="#Given" 
/></owl:Class>

Now lets define a person, first for the credit card company:

<cc:Person rdf:ID="X123">
    <cc:CCNumber>1234567890</cc:CCNumber>
    <ss:SSN>111223344</ss:SSN>
     <cc:billingAddress> ... </cc:billingAddress>
    <cc:spendingLimit>2000</cc:spendingLimit>
</cc:Person>

Now a few transactions:

<cc:Txn>
    <cc:CCNumber>1234567890</cc:CCNumber>
    <cc:amount>123.45</cc:amount>
    <cc:date>20040401</cc:date>
</cc:Txn>
<cc:Txn>
    <cc:CCNumber>1234567890</cc:CCNumber>
    <cc:amount>512.00</cc:amount>
    <cc:date>20040402</cc:date>
</cc:Txn>
<cc:Txn>
    <cc:CCNumber>1234567890</cc:CCNumber>
    <cc:amount>1000000</cc:amount>
    <cc:date>20040403</cc:date>
</cc:Txn>

Now a person in terms of a tax return:

<ss:Person rdf:ID="A123">
    <ss:SSN>111223344</ss:SSN>
    <ss:annualIncome>1000000</ss:annualIncome>
    <person.name rdf:parseType="Collection">
          <Given>John</Given>
          <Given>Q</Given>
          <Family>Public</Family>
    </person.name>
    <address>...</address>
</ss:Person>

Now an OWL inferencing engine will spit this out:

<#X123> owl:sameAs <#A123>

and hence when you "ask" the system:

"How much money are you aware that A123 spent in April, 2004?"

it could answer:  1000635.45

or "What is the FirstName of X123?" it could answer:
"John"

You could pose these 'questions' as RDQL queries 
[http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/] e.g.

SELECT ?amount
WHERE (<#A123> cc:CCNumber ?ccn)
               (?txn cc:CCNumber ?ccn)
               (?txn cc:amount ?amount)

SELECT ?firstname
WHERE (<#X123> ss:person.name ?name)
              (?name rdf:first ?firstname)

In this case <#A123> and <#X123> identify the _same_ object based on the 
OWL inference and consequently the 'join' is not explicit, rather 
implicit to the ontologies being defined (one can also provide explicit 
owl:sameAs, owl:equivalentClass, owl:equivalentProperty statements)

Jonathan




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS