Modelling rdfs:range(s) in PRISM

Hi:

I seem to have a problem with modelling rdfs:ranges in the PRISM RDF schema
- see http://www.prismstandard.org/resources/prism.rdfs (and thanks to
Victor at SchemaWeb for pointing this out).

The PRISM spec
(http://www.prismstandard.org/specifications/Prism1[1].2RFC.pdf) defines a
small number of parameter entities for use in content models, e.g.

	%AuthorityReference;

which is a URI in a controlled vocab.

Now for a given element, prism:category, say it defines a content model of
either

	rdf:resource=%AuthorityReference;  i.e. rdf:resource=URI

if an %AuthorityReference; URI is available or if no %AuthorityReference;
URI is available then the prism:category element content is #PCDATA.  

I attempted to model this as

<!-- "AuthorityReference" class -->
<rdfs:Class rdf:ID="AuthorityReference">
<rdfs:label xml:lang="en-US">AuthorityReference</rdfs:label>
<rdfs:comment xml:lang="en-US">Resource used for PRISM content models with a
parameter entity %AuthorityReference; whose value is a URI referring to a
term in a controlled vocabulary.</rdfs:comment>
<rdfs:subClassOf rdf:resource="#ResourceReference"/>
</rdfs:Class>

<!-- prism:category -->
<rdf:Property rdf:about="category">
<rdfs:label xml:lang="en-US">category</rdfs:label>
<rdfs:comment xml:lang="en-US">The nature or genre of a resources
intellectual content.</rdfs:comment>
<rdfs:isDefinedBy rdf:resource=""/>
<rdfs:range rdf:resource="#AuthorityReference"/>
<rdfs:range
rdf:resource="http://www.w3.org/TR/2000/CR-rdf-schema-20000327#Literal"/>
</rdf:Property>

That is, I supplied two range elements - one for an %AuthorityReference; URI
and the other for #PCDATA. As Victor points out from the RDFS spec:

	"Where P has more than one rdfs:range property, then the resources
denoted by the objects of triples with predicate P are instances of all the
classes stated by the rdfs:range properties.

http://www.w3.org/TR/rdf-schema/#ch_range"

So looks like a property can have multiple ranges but they are AND'ed
instead of OR'ed. (Oh he also pointed out that I'm using the old schema
namespace - I'll upgrade that.) Question is, how do I model this optional
range constraint in RDFS without necessarily jumping up to OWL?

Thanks,

Tony



Tony Hammond

New Technology, Nature Publishing Group
4 Crinan Street, London N1 9XW, UK 

tel:+44-20-7843-4659
mailto:t.hammond@nature.com




********************************************************************************
DISCLAIMER: This e-mail is confidential and should not be used by anyone who is not the original intended recipient. If you have received this e-mail in error please inform the sender and delete it from your mailbox or any other storage mechanism. Neither Macmillan Publishers Limited nor any of its agents accept liability for any statements made which are clearly the sender's own and not expressly made on behalf of Macmillan Publishers Limited or one of its agents. Please note that neither Macmillan Publishers Limited nor any of its agents accept any responsibility for viruses that may be contained in this e-mail or its attachments and it is your responsibility to scan the e-mail and attachments (if any). No contracts may be concluded on behalf of Macmillan Publishers Limited or its agents by means of e-mail communication. Macmillan Publishers Limited Registered in England and Wales with registered number 785998 Registered Office Brunel Road, Houndmills, Basingstoke RG21 6XS
********************************************************************************

Received on Wednesday, 1 September 2004 11:19:35 UTC