Alistair,
thanks for this. It is very helpful.
I particularly wanted to endorse what you say about needing to "first
think about what *kind(s)* of thing will you be describing using this
metadata profile". This is absolutely crucial in my opinion, and is
something that the DCMI community hasn't really tended to do in the
past.
The result of this thinking is what we are tending to call an
"application model" or a "domain model" (I think there is some agreement
that the latter term is better for various reasons). A "domain model"
specifies the classes of entity that the application profile is going to
be used to describe, and the key relationships between those entities.
In the work we did on the Dublin Core application profile for scholarly
works [1] we documented the domain model (though we probably referred to
it as an application model) using an entity/relationship diagram.
However, there are clearly other suitable options (UML class diagrams,
etc.).
[1] A Dublin Core Application Profile for Scholarly Works
http://www.ariadne.ac.uk/issue50/allinson-et-al/
Andy
--
Head of Development, Eduserv Foundation
http://www.eduserv.org.uk/foundation/
http://efoundations.typepad.com/
[log in to unmask]
+44 (0)1225 474319
> -----Original Message-----
> From: DCMI Architecture Forum
> [mailto:[log in to unmask]] On Behalf Of Miles,
> AJ (Alistair)
> Sent: 28 February 2007 12:28
> To: [log in to unmask]
> Subject: Defining application profiles
>
> Liddy Neville asked me recently for advice on defining the
> a4a application profile [1] - I think the draft I looked at is [2].
>
> Below is what I suggested, maybe relevant to discussion on
> definition of application profiles.
>
> Cheers,
>
> Alistair.
>
> [1]
> http://dublincore.org/accessibilitywiki/AccessForAllApplicationProfile
> [2]
> http://dublincore.org/accessibilitywiki/AccessForAllApplicatio
> nProfile?action=AttachFile&do=get&target=Draft-AP-8-hierarchy.doc
>
>
> -----Original Message-----
> From: Miles, AJ (Alistair)
> Sent: Wed 17/01/2007 18:13
> To: Liddy Nevile
> Subject: Re: some advice please
>
> Hi Liddy,
>
> You could, first of all, publish all the new metadata
> elements and values you intend to use. To do this in RDF, you
> could do something like (using turtle syntax)...
>
> --- begin turtle ---
>
> # N.B. need to reserve a namespace, used example.org below
> @prefix a4a: <http://example.org/accessibility/a4a/>.
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
> @prefix skos: <http://www.w3.org/2004/02/skos/core#>.
>
> # first declare new properties (just using RDF) ...
>
> a4a:hasAdaptation a rdf:Property;
> rdfs:label "has adaptation"@en.
>
> a4a:isAdaptationOf a rdf:Property;
> rdfs:label "is adaptation of"@en.
>
> a4a:readingRate a rdf:Property;
> rdfs:label "reading rate"@en.
>
> a4a:readingRate a rdf:Property;
> rdfs:label "reading rate"@en.
>
> a4a:accessMode a rdf:Property;
> rdfs:label "access mode"@en.
>
> a4a:role a rdf:Property;
> rdfs:label "role"@en.
>
> a4a:flexibility a rdf:Property;
> rdfs:label "flexibility"@en.
>
> a4a:supportTool a rdf:Property;
> rdfs:label "support tool"@en.
>
> # ... then declare all the new controlled values (using a bit
> of SKOS) ...
>
> a4a:AlternativeText a skos:Concept;
> skos:prefLabel "alternative text"@en.
>
> a4a:LongDescription a skos:Concept;
> skos:prefLabel "long description"@en.
>
> a4a:Caption a skos:Concept;
> skos:prefLabel "caption"@en.
>
> # ... and so on for format values,
>
> a4a:EnhancedText a skos:Concept;
> skos:prefLabel "enhanced text"@en.
>
> a4a:VerbatimText a skos:Concept;
> skos:prefLabel "verbatim text"@en.
>
> a4a:ReducedText a skos:Concept;
> skos:prefLabel "reduced text"@en.
>
> # ... and so on for all other values.
>
> --- end turtle ---
>
> Then, you could define your application profile, informally
> at first. For example, your application profile could say
> something like ...
>
> "The property dc:format may be used, and the allowed values
> are a4a:alternativeText, a4a:longDescription, a4a:caption etc."
>
> "The property a4a:flexibility may be used, and the allowed
> values are a4a:keyboardOnlyControl, a4a:mouseOnlyControl,
> a4a:variableFontSize, a4a:variableFontFace etc."
>
> Expressing your application profile more formally (i.e. using
> RDF or OWL) is a bit tricky.
>
> If you do want to go further and define your application
> profile formally, you will need to first think about what
> *kind(s)* of thing will you be describing using this metadata
> profile. Taking a very uneducated guess, it looks like you
> will be describing more than one kind of thing. For example,
> it looks like you want to describe people, software
> artefacts, multimedia objects and possible other kinds of thing too.
>
> You would need to list the different kinds of thing you want
> to describe. Then you could begin say (formally) which of the
> "metadata elements" (a.k.a. "properties") you expect to apply
> to each of these different types of thing ... and then you
> can say what values you expect them to take. However, this
> needs a bit of OWL - get back to me if you really need to do this.
>
> Feel free to forward this email to anybody, lists etc.
>
> Hope that helps,
>
> Alistair.
>
> --
> Alistair Miles
> Research Associate
> CCLRC - Rutherford Appleton Laboratory
> Building R1 Room 1.60
> Fermi Avenue
> Chilton
> Didcot
> Oxfordshire OX11 0QX
> United Kingdom
> Web: http://purl.org/net/aliman
> Email: [log in to unmask]
> Tel: +44 (0)1235 445440
>
|