Re: RDF Schema questions

Lars Marius Garshol wrote:

Lars,

Answers to some of your questions:

> I assume that it is allowed to have more than one RDF statement in the
> same model where the subject and the predicate are the same? 

Yes.

> If so, is
> there any logical difference between using a bag and just using a set
> of duplicate property assignments? Are there any practical
> differences, for example in terms of convenience?

This is discussed in the RDF Model and Syntax specification, in section
3.5 "The choice of which to use in any particular circumstance is in
part made by the person who designs the schema and in part made by the
person who writes the specific RDF statements."  The example is given of
a resolution approved by a committee, (and not necessarily each
individual member of the committee). In this case it is stated that a
Bag would be a better model.

> Also, when declaring a schema, are there any benefits to declaring a
> bag instead of an ordinary property, beyond clarity of intention?
> Is there any way to constrain the cardinality the assignments to an
> RDF property, whether a container or an ordinary property?

There is no way in core RDF to constrain cardinality. DAML has
cardinality constraints though.

> Does anyone know of a good RDF Schema tutorial?
> 
> Is DAML simply a schema language that extends RDF Schema, or is it
> more than that? Or even something completely different? Does anyone
> know of a good DAML tutorial? (I've read
> http://edge.mcs.drexel.edu/GICL/howto/DAML/DAML.htm.)

There is also the walkthrough at http://www.daml.org/ if you haven't
already seen that. Modelling in DAML is somewhat different to RDF
Schema, although DAML _is_ an extension of  RDF Schema. 

> My last question is not really related to RDF Schema: are RDF
> statements also statements about the objects? That is, if I say
> (word-A, similar-to, word-B), should I then also make the opposite
> statement lest I imply that while A is similar to B, B is not similar
> to A?

I think RDF makes no assumption either way - it is up to you. RDF
doesn't allow one to specify inverse properties, so it isn't "wrong" in
RDF terms to omit the opposite statement. 

> A related question is: how easy is it to traverse RDF statements
> backwards in RDF tools? Even if the semantics of RDF do not require me
> to make the similar-to statement both ways, should I do it anyway for
> reasons of convenience?

That's up to you - I imagine for that simple example it would be just as
easy to find the statement in either direction. Typically, RDF APIs
would use a method calls such as 

model.contains(word-A, similar-to, word-B);
model.contains(word-B, similar-to, word-A);// either way round
// or
model.find(word-A, similar-to, word-B);
model.find(word-B, similar-to, word-A); 
model.find(word-A, similar-to, null);    // null is a wildcard

Regards,

David Allsopp
QinetiQ
UK
-- 
/d{def}def/u{dup}d[0 -185 u 0 300 u]concat/q 5e-3 d/m{mul}d/z{A u m B u
m}d/r{rlineto}d/X -2 q 1{d/Y -2 q 2{d/A 0 d/B 0 d 64 -1 1{/f exch d/B
A/A z sub X add d B 2 m m Y add d z add 4 gt{exit}if/f 64 d}for f 64 div
setgray X Y moveto 0 q neg u 0 0 q u 0 r r r r fill/Y}for/X}for showpage

Received on Monday, 8 October 2001 04:41:15 UTC