RE: Modelling rdfs:range(s) in PRISM

Hi Richard:

So you would suggest having (scuse any text wrapping)

######################################

<!-- "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>

<!-- "AuthorityReferenceConstraint" class -->
<owl:Class rdf:ID="AuthorityReferenceConstraint">
  <owl:unionOf rdf:parseType="Collection">
    <owl:Class rdf:about="#AuthorityReference" />
    <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Literal" />
  </owl:unionOf>
</owl: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="#AuthorityReferenceConstraint"/>
</rdf:Property>

######################################

instead of

######################################

<!-- "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>

######################################

Is that right now?

Thanks,

Tony


> -----Original Message-----
> From: www-rdf-interest-request@w3.org 
> [mailto:www-rdf-interest-request@w3.org] On Behalf Of Richard Newman
> Sent: 01 September 2004 13:02
> To: Hammond, Tony
> Cc: 'www-rdf-interest@w3.org'
> Subject: Re: Modelling rdfs:range(s) in PRISM
> 
> 
> 
> One way could be to make the two things you're trying to union  
> subclasses of something else, and mark that as the range.
> 
> :thingy a rdfs:Class .
> rdfs:Literal rdfs:subClassOf :thingy .
> :AuthorityReference rdfs:subClassOf :thingy .
> :category rdfs:range :thingy .
> 
> This, however, means that something marked as a category is a 
> :thingy,  
> and nothing more (because it's not defined as equivalent to a 
> union).  
> Because RDFS isn't for constraints, only for inferences, 
> there's really  
> no point in doing this. I would just leave the range blank, 
> or specify  
> it in OWL (as that would then be ignored by non-OWL engines).
> 
> -Richard
> 
> On 1 Sep 2004, at 12:19, Hammond, Tony wrote:
> 
> >
> > 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 12:53:07 UTC