- From: Bob Ferris <zazi@elbklang.net>
- Date: Tue, 20 Jul 2010 17:57:06 +0200
- To: Vasiliy Faronov <vfaronov@gmail.com>
- CC: Linked Data community <public-lod@w3.org>, music-ontology-specification-group@googlegroups.com
Hi Vasiliy, Am 20.07.2010 15:50, schrieb Vasiliy Faronov: > Bob Ferris wrote: >> How can I make sure that the value of my counter concept is of the type >> xsd:Integer? I think with the current definition: >> >> co:count >> rdf:type rdf:Property , owl:FunctionalProperty ; >> rdfs:comment "Links a counter resource to the actual count"@en ; >> rdfs:domain co:Counter ; >> rdfs:isDefinedBy co: ; >> rdfs:label "has count"@en ; >> rdfs:range xsd:integer ; >> vs:term_status "stable"@en . >> >> it works. > > Hmm. I may be mistaken here, but I think that's a wrong declaration. > > The range of co:count is not xsd:integer, it's rdfs:Literal. > rdfs:Literal is the class, xsd:integer is a datatype (a special feature > of the rdfs:Literal class). In other words, you don't write: > > "99" a xsd:integer . > > but instead: > > "99"^^xsd:integer a rdfs:Literal . > > At least, the FOAF and SIOC ontologies specify rdfs:Literal as the range > of datatype properties. If you have a look at the owl:DatatypeProperty example from the OWL guide[1]: <owl:DatatypeProperty rdf:ID="yearValue"> <rdfs:domain rdf:resource="#VintageYear" /> <rdfs:range rdf:resource="&xsd;positiveInteger"/> </owl:DatatypeProperty> I think, I can add owl:DatatypeProperty as rdf:type to co:count to make this definition stronger, or? > > Also note that you can't really "make sure" that the value is of the > right type, unless people use some kind of RDFS-driven validator, which > I guess isn't common. > Therefore, I include such range definition, to enable a user of my ontology the opportunity to provide an automated check for that. Cheers, Bob [1] http://www.w3.org/TR/2004/REC-owl-guide-20040210/#Datatypes1
Received on Tuesday, 20 July 2010 15:57:37 UTC