[rdfweb-dev] Describing FOAF using OWL: enumerating allowed property values

Danny Ayers danny666 at virgilio.it
Sun Jun 22 13:19:17 UTC 2003

Hi Dan,

I've been waiting for you to get around to this ;-) I'm wanting to OWLify
couple of vocabs myself, and the lack of examples is pretty frustrating.

Anyhow, this might be way off the mark, but what about turning the literals
into URIs using a container prior to creating the Collection? I can't
remember offhand how to properly address the container items, but something
like :


<owl:oneOf rdf:parseType="Collection">
 <xxx:someValue rdf:about="MyContainer#_1"/>
 <xxx:someValue rdf:about="MyContainer#_2"/>

drrr - just realised this won't work because rdf:_1 etc are properties -
I'll leave it in though in case it might suggest something that might


> -----Original Message-----
> From: rdfweb-dev-bounces at vapours.rdfweb.org
> [mailto:rdfweb-dev-bounces at vapours.rdfweb.org]On Behalf Of Dan Brickley
> Sent: 22 June 2003 12:42
> To: rdfweb-dev at vapours.rdfweb.org
> Subject: [rdfweb-dev] Describing FOAF using OWL: enumerating allowed
> property values
> http://www.w3.org/TR/owl-guide/#Privacy is interesting reading in
> a FOAF context.
> Basically I am trying to showcase OWL using FOAF. The vocabulary
> as defined at http://xmlns.com/foaf/0.1/ already uses OWL for a
> few handy and
> straightforward things, inverse-functionality of 'homepage', 'mbox',
> 'mbox_sha1sum' etc., as well as mutual disjointness of Document
> versus Person.
> All very easy, clear win for using OWL on top of RDFS, and a very
> practical
> step towards the data-merging and privacy issues outlined in
> http://www.w3.org/TR/owl-guide/#Privacy  -- there are FOAF
> crawling bots out
> there drawing just the kind of inferences discussed, merging scattered
> data about people on basis of inverse-functional and suchlike.
> So, this is just some notes on my current investigation:
> we have some properties, and will likely acquire more, whose
> appropriate values are drawn from a controlled list of strings.
> I've been looking through
> http://www.w3.org/TR/2003/WD-owl-guide-20030331/
> for guidance on how to do this, but I couldn't see a clear answer.
> http://www.w3.org/TR/2003/WD-owl-guide-20030331/#DefiningProperties
> suggests I should define my property as a datatype property. What
> do I do next?
> There is a pointer off to
> http://www.w3.org/TR/owl-ref/#EnumeratedDatatype which seems to
> provide the
> answer:
> <owl:DatatypeProperty rdf:ID="tennisGameScore">
>   <rdfs:range>
>     <owl:DataRange>
>       <owl:oneOf>
>         <rdf:List>
>            <rdf:first rdf:datatype="xsd:integer">0</rdf:first>
>            <rdf:rest>
>              <rdf:List>
>                <rdf:first rdf:datatype="xsd:integer">15</rdf:first>
>                <rdf:rest>
>                  <rdf:List>
>                    <rdf:first rdf:datatype="xsd:integer">30</rdf:first>
>                    <rdf:rest>
>                      <rdf:List>
>                        <rdf:first
> rdf:datatype="xsd:integer">40</rdf:first>
>                        <rdf:rest rdf:resource="&rdf;nil" />
>                      </rdf:List>
>                    </rdf:rest>
>                  </rdf:List>
>               </rdf:rest>
>             </rdf:List>
>           </rdf:rest>
>         </rdf:List>
>       </owl:oneOf>
>     </owl:DataRange>
>   </rdfs:range>
> </owl:DatatypeProperty>
> Which is ugly as **** but I think does what I want. I think it is
> ugly because
> RDF's new syntax for parseType='Collection' doesn't work with
> literals, so the
> full list needs to be spelled out.
> So I think I can use something like this:
> (dropping the datatyping)
> <owl:DatatypeProperty rdf:about="http://xmlns.com/foaf/0.1/myersBriggs">
>   <rdfs:range>
>     <owl:DataRange>
>       <owl:oneOf>
>         <rdf:List>
>           <rdf:first>INTP</rdf:first>
>            <rdf:rest>
>              <rdf:List>
> 		...etc
> This should hopefully provide a way for us to specify controlled values
> that get written as simple literal properties in user data. So the above
> explosion of markup is not something users have to see.
> End result for users should be improved checking and validation
> of their data.
> For developers, I expect the main win will be a clearer sense of what the
> FOAF vocab allows and dissallows. We could try to integrate this
> stuff into
> tools too, of course...
> Dan
> _______________________________________________
> rdfweb-dev mailing list
> rdfweb-dev at vapours.rdfweb.org
> http://rdfweb.org/mailman/listinfo/rdfweb-dev

More information about the foaf-dev mailing list