- From: Dave Reynolds <dave.e.reynolds@gmail.com>
- Date: Sat, 06 Apr 2013 15:11:37 +0100
- To: semantic-web@w3.org
Hi Jeremy, The question of controlled terms is more to do with operational and policy issues than modelling issues. You can use SKOS to convey a vocabulary that is carefully managed by an authority, where there is a defined process for change, where you can at any time check the definitive status and history of terms. Or you can use it to convey something that someone once wrote on the back of an envelope (using strings that look a bit like URIs) and that they have since rewritten without telling you. One conventional approach to controlled vocabularies is the notion of a registry, which in turn contains a set of controlled lists often called registers. A registry should do two things for you: Control and governance: technical and policy infrastructure to control how changes are made (who can make, who can approve them and when). Validation and discovery: technical infrastructure to enable you to discover the status of any set of terms, whether they are in a given controlled set (register) or not, whether they are stable or experimental, who approved them and when, whether they were in the controlled set at a specific point in time, notify you of changes of state or status. Note that this status is an attribute of the register (the disposition of its authority towards the term) not of the term itself. There's been quite a bit of work in the UK Gov linked data world on what registries mean in a linked data context and how they should work [1]. In that design (and indeed implementation) when you dereference a Register it returns a collection of terms as linked data. You can configure a register so that the collection looks like a skos:Collection, a skos:ConceptScheme, an owl:Ontology, a ldp:Container, a ref:URIset etc. However, underneath that simplified view you can also request the metadata which gives you access to status, maintainer, and history information. The design then provides the modelling and APIs to enable controlled management of sets of terms. Dave [1] https://github.com/der/ukl-registry-poc/wiki On 05/04/13 21:19, Jeremy J Carroll wrote: > > It is an explicit goal of SKOS to help with controlled vocabularies. > > > These have a strange behavior with respect to open world assumption. > > If I define "Jeremy's Ice Cream Vocabulary" and decide that it only has one item "Raspberry" and Amanda decides to use it in her application and Claudia is an end user of the App. > > We may expect that: > - in the short term, Claudia, Amanda and Jeremy all have to put up with a very limited choice of gelato. > > When Claudia gets fed up with this, she may make a request to add Chocolate to the list, to Amanda, who may do so, but this doesn't change Jeremy's list; in fact, I may notice that Amanda has done this, and then decide to make the change myself; which in practice can lead to a failure mode in which Claudia is given a choice between Raspberry, Chocolate and Chocolate. > > So …. to abstract: > Controlled vocabularies, by definition, have an authority who decide what's in and what's not in > The user (typically the application designer) may well have local modifications, but rather than the open-world 'say anything about anything' they make a rather more restricted statement about their own world (we will use this additional term in this vocabulary) > > And vocabularies then have a change control problem …. > > > Any thoughts? How are we meant to use SKOS to address these sorts of issues? > > > Jeremy J Carroll > Principal Architect > Syapse, Inc. > > > >
Received on Saturday, 6 April 2013 14:12:08 UTC