Re: Chainsaw?

Graham Klyne wrote:

> Tom Van Eetvelde wrote:

...><rdfs:Class ID="Ford_Escort">
> ><rdfs:subClassOf rdf:resource="Car"/>
> ><s:bodyStyle> Hatchback </s:bodyStyle>
> ><s:engine_fueltype> Petrol </s:engine_fueltype>
> ></rdfs:Class>

    I agree that this is an excellent proposal, and solves an otherwise
nasty problem.

>
> I accept the idea of using a class as a kind of prototype, but have a
> problem with this particular representation.  Specifically, how statements
> about the class be distinguished from statements about instances of the
> class;  e.g.  I might wish to say something like:
>
>     [FordEscord] --rdf:type---> [rdfs:Class]
>     [          ] --definedBy--> [FordMotorCompany]
>     [          ] --bodyStyle--> "HatchBack"
>     (etc.)
>
> Here, the intent of the properties "definedBy" and "bodyStyle" is very
> different.  One is a statement about the class itself, and the other is a
> prototype for instances of the class.
>

    For the type of work we wish to do it is essential that properties be
assigned to classes. The problem does arise in terms of statement
reification and inferencing. Using classic semantic networks, the inference
engine needs traverse --isa--> links to match assertions. The thought was
generally that this matching process would be performed in parallel for each
'class' in the --isa--> chain.

    You point out the distinction between a statement made about a class and
a statement made about the reified statements of a class. Perhaps these
statements can be modelled as a Bag and assigned an ID.

    For example do you mean to assert: "FordEscord" is definedBy
"FordMotorCompany" or
"The definition of 'FordEscord' is definedBy "FordMotorCompany" e,g,

<Bag ID="XXX">
<Statement>
    <predicate resource="rdf:type"/>
    <subject resource="#FordEscord" />
    <object resource="rdfs:Class"/>
</Statement>
    ...
</Bag>

do you mean:

<Statement>
    <predicate resource="definedBy"/>
    <subject resource="#FordEscord" />
    <object resource="#FordMotorCompany"/>
</Statement>

or

<Statement>
    <predicate resource="definedBy"/>
    <subject resource="#XXX" />
    <object resource="#FordMotorCompany"/>
</Statement>

Assuming we agree that the second statement captures the intent, is this an
acceptable solution?

Jonathan Borden
The Open Healthcare Group
http://www.openhealth.org

Received on Thursday, 2 November 2000 09:26:56 UTC