Re: Common RDF parser bug?

Pierre,

I sympathize with what you want to express but I still claim that the
formulation is not modeled correctly.  For one thing, it says that the uri
mailto:pa@champin.net has a phone number, which is not, I'm sure, what you
intended.  But this is really just a minor point.  A more significant point
is that you claim that the web page contains an incomplete statement.  Here
you have created an idiom that a reference to a pseudo-statement that omits
the object should be taken to mean that the missing element is really a
wildcard sort of thing.

What if the subject or predicate had been omitted?  Should they be
wildcarded too?  We would need a number of rules here.  It is possible to
avoid the need for such rules in several ways. They are slightly less
concise than your idiom, but they could be processed by current processors.

Here are three reasonable (to me, anyway) ways to express what you want to
say:

1)    "The page 'http://champin.net' contains a phone number
        (a resource of class 'phonenumber')
        that belongs to the person having the email address
        of 'mailto:pa@champin.net' "

2)    "The page 'http://champin.net' contains a statement whose
        subject is the person having the email address
        of 'mailto:pa@champin.net' , whose predicate is
        'hasPhoneNumber", and whose object is a resource of
        type "string".

3)    "The page 'http://champin.net' contains information
        (in full:a resource of "information" type) that is about the person
having the email address
        of 'mailto:pa@champin.net' , and whose type is 'phoneNumber'.

1) Has does not refer to a statement at all, and so is simple.  You do have
to invent a class for "phonenumber", but you have would have to do something
of the sort anyway.  You also need a "belongsTo" predicate.

2) Does refer to a statement, but the statement is complete.  Perhaps the
type
of the resource might be "phoneNumberString", if those datatypes ever get
worked out.  Clearly there could be a problem between literal and resource
for the object, because when you actually put the number into an actual web
page, you will tend to make it a literal, not a resource.  This issue
connects with past threads about literals vs resources, and about datatypes
for literals.

3) Is similar to your idiom but does not need to refer to any Statement, and
so avoids the problem of describing an incomplete statement.  Note again
that we have to make the information a resource and not a literal.  We also
have to come up with a resource class for "information".  Presumably
"phonenumber" would be a subclass of that.

On the other hand, I think that Brian's and David's interest in allowing
statements with multiple predicate/object pairs (I hope I have understood
them correctly) is something I could support, because it is such an obvious
shorthand for multiple statements about the same subject that it doesn't
seem to do violence to the current RDF model.

Cheers,

Tom P

[Pierre-Antoine CHAMPIN]
>
> Thomas,
>
> I agree with you on that very last point about "sneaking" universal
> quantification. Does not look very clean to me.
>
> However, I just agree with Brian on the main topic : it may be useful in
> many cases to *partially* describe a statement. To make an example
> similar to Brian's...
>
> <rdf:Description rdf:about="http://champin.net/">
>   <foo:contains>
>     <rdf:Statement>
>       <rdf:predicate rdf:resource="&foo;phoneNumber"/>
>       <rdf:subject rdf:parseType="Resource">
>         <vcard:EMAIL rdf:resource="mailto:pa@champin.net"/>
>       </rdf:subject>
>     </rdf:Statement>
>   </foo:contains>
> </rdf:Description>
>
> meaning something like
> "The page <http://champin.net/> contains the information about the phone
> number of the person with e-mail address pa@champin.net"
>
> or more concisely : "You can find my phone number on my homepage"
>
> whatever that phone number is ! It may change, the above RDF is still
> valid.
>
>   Pierre-Antoine
>

Received on Thursday, 31 January 2002 00:16:44 UTC