- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Thu, 06 Jun 2002 15:10:48 +0300
- To: Uldis Bojars <uldis.bojars@gmx.net>, RDF Interest <www-rdf-interest@w3.org>
- Message-ID: <B9252BFA.16375%patrick.stickler@nokia.com>
On 2002-06-06 5:05, "ext Uldis Bojars" <uldis.bojars@gmx.net> wrote: > > > The Resume schema I am making has now most of properties defined. > Constructive criticism is welcome. > > PS There are no properties for Person class because I could not get > Protege to import vCard properties so I can use them. > > In the process of creating it some new questions emerged: > > _1_ How do I define an ontology for the possible property values? > > I.e. jobType: > <rdf:Property rdf:about="http://nightman.lv/~captsolo/cv.rdfs#jobType" > a:allowedValues="Intern" a:maxCardinality="1" a:range="symbol" > rdfs:comment="Type of the job: employee / contractor / intern" > rdfs:label="jobType"> > <rdfs:domain rdf:resource="http://nightman.lv/~captsolo/cv.rdfs#WorkHistory" > /> > <rdfs:range > rdf:resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#Literal" /> > <a:allowedValues>Contractor</a:allowedValues> > <a:allowedValues>Employee</a:allowedValues> > </rdf:Property> > > Protege 2000 has defined allowed values by it's own means, but this > information will not mean anything outside Protege ontology. > > Do I have to create a class "allowedJobTypes" with subclasses for > possible values and then define rdfs:range as pointing to > allowedJobTypes? > > Or [developing what Patrick suggested for, i.e., sex] do I just define > something like: > voc://nightman.lv/job/type/employee > voc://nightman.lv/job/type/contractor > voc://nightman.lv/job/type/intern > and then point rdfs:range to voc://nightman.lv/job/type/ ? > The way we do controlled value sets at Nokia is as follows (note, this is just plain old simple RDF/RDFS, not Protoge or DAML): 1. Define the range of the property to be a particular class. E.g. <rdf:Property rdf:about="&ns;job_type"> <rdfs:range "&ns;JobType"/> </rdf:Property> 2. Define a set of typed resources of that class. <ns:JobType rdf:about="&ns;JobType/Contractor"/> <ns:JobType rdf:about="&ns;JobType/Employee"/> <ns:JobType rdf:about="&ns;JobType/Intern"/> Now, an RDFS validator can test whether or not the range constraint is satisfied. Also, you can define additional statements about the particular job types, such as labels, etc. Attached is one of our RDF schemas, within which you can find lots of similar examples. > _2_ Similar to previous - how to define boolean properties? > <rdf:Property > rdf:about="http://nightman.lv/~captsolo/cv.rdfs#conditionWillRelocate" > a:maxCardinality="1" a:range="boolean" rdfs:comment="Is candidate willing to > relocate?" rdfs:label="conditionWillRelocate"> > <rdfs:domain rdf:resource="http://nightman.lv/~captsolo/cv.rdfs#Target" /> > <rdfs:range > rdf:resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#Literal" /> > </rdf:Property> > > Or do I define ontology with 2 values for this property: willRel / > willNotRel? Or define TRUE / FALSE and use it? Just a personal preference. I used to define URIs for true and false, but have found that defining a lexical datatype with lexical forms '1' and '0' is alot easier to work with when moving values in/out of real systems, and users don't seem to have any trouble with seeing the numerical rather than textual representation. But using either tokens or URIs is also fine. URIs, as above, allow you to take advantage of generic RDFS validation, if you have such a tool. Literal values will require your application to do custom validation. > _3_ Salary / currency of salary: > I currently have 2 properties for target salary: > <rdf:Property rdf:about="http://nightman.lv/~captsolo/cv.rdfs#targetSalary" > a:maxCardinality="1" a:range="integer" rdfs:comment="Target salary" > rdfs:label="targetSalary"> > <rdfs:domain rdf:resource="http://nightman.lv/~captsolo/cv.rdfs#Target" /> > <rdfs:range > rdf:resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#Literal" /> > </rdf:Property> > <rdf:Property > rdf:about="http://nightman.lv/~captsolo/cv.rdfs#targetSalaryCurrency" > a:maxCardinality="1" rdfs:label="targetSalaryCurrency"> > <rdfs:comment>Currency for target salary. @@ Locate ontology for > currencies.</rdfs:comment> > <rdfs:domain rdf:resource="http://nightman.lv/~captsolo/cv.rdfs#Target" /> > <rdfs:range > rdf:resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#Literal" /> > </rdf:Property> > > Is this way OK for describing salary and it's currency or is it better > to do like vCard does for TEL, E-MAIL types where it defines instances > of EMAILTYPES and then write: > <rdf:Description ID="EMAIL"> > <rdf:type > rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> > <rdfs:label>Email Address</rdfs:label> > <rdfs:range rdf:resource="#EMAILTYPES"/> > </rdf:Description> [The following advice is based on the current RDF Datatyping WD, which is still a work in progress, so caveat emptor, but it should remain valid advice] How I would do this is to define a set of lexical (simple) datatypes where the currency semantics was bound to the datatype Thus: <rdfd:Datatype rdf:about="&ns;USD"/> <rdfd:Datatype rdf:about="&ns;EUR"/> ... Then, your literal property values would be qualfied for currency datatype <cv:targetSalary ns:USD="123456.0"/> You can then define exchange rates as property relations between the datatype classes, etc. > _4_ Is there an ontology for currency names? Not insofar as URIs are concerned, as far as I'm aware of. > Are there existing ontologies for industries, education level, > languages, other types of resources in CV? There exist alot of standards that define controlled value sets for such things, but few of them provide URIs. This is a problem The XML Topic Map community has been busy working on what are called Published Subject Identifiers, which are sets of URIs denoting such commonly used values. There may be some useful stuff to be found there. Regards, Patrick > Thanks in advance. > > [1] Resume RDF schema: http://nightman.lv/~captsolo/cv.rdfs > > [2] Draft model of data structure for Resume schema: > http://blackeye.vsaa.lv/~davidson/scheme.gif -- Patrick Stickler Phone: +358 50 483 9453 Senior Research Scientist Fax: +358 7180 35409 Nokia Research Center Email: patrick.stickler@nokia.com
Attachments
- application/octet-stream attachment: MARS.rdf
Received on Thursday, 6 June 2002 08:06:54 UTC