Re: [sword-app-tech] communicating a controlled vocabulary to SWORD client
Hi Phil, The sword clients themselves are pretty raw, and designed only to take the data you want to send and serialise it to the wire and then parse the response and give you a decent programmatic way of interacting with it. You could certainly write a wrapper around a client which gave you a bit more control over what documents you could construct and send, but I would certainly keep those separate from the client itself. Going in a similar direction, although certainly not the same, I have been working with the University of Oxford to build a git-like client environment for sword, which allows you to select local files or specify metadata (in dc, or other formats), and to identify repositories to which you would like to deposit, and then give you a push from your local object to some remote repository. This doesn't do anything clever with metadata, but it does have a whole aspect to do with packaging, and perhaps the concept could be extended to cover the kind of validation that you describe below. Essentially, when you deposit you ask it to either deposit all the content in some package format, or you ask it to deposit a specific metadata format. In the package deposit case it loads a plugin which knows how to do that format, and it builds the zip for you before sending it - at this stage you could validate the content of the object to check that it can be packaged, and give the user feedback if this validation fails. In the metadata deposit case, it just sends the XML of the metadata that it has on record, but you could theoretically make the process more plugin-oriented, so that you could specify a validation route prior to deposit. At the moment the code is in a not-quite-finished state, but you are welcome to take a look. The core library is here: https://github.com/CottageLabs/dip and there is the beginnings of a command line environment here: https://github.com/CottageLabs/dip-ui Also, generally interested in your thoughts on this - is it useful, are we going in an interesting direction? Cheers, Richard On 20 May 2014 16:13, Philip Durbin philip_dur...@harvard.edu wrote: I was just looking at Typically, the subject will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary. from http://dublincore.org/documents/2012/06/14/dcmi-terms/?v=terms#subject Let's pretend I take this advice and only want to support a controlled vocabulary for dcterms:subject. Something like this: dcterms:subjectArts and Humanities dcterms:subjectAstronomy and Astrophysics dcterms:subjectBusiness and Management etc. etc. But can I communicate my list of controlled vocabulary for dcterms:subject (and possibly other fields such as dcterms:language) to the SWORD client in the Service Document? Of would I let the SWORD client *try* to create an Atom resource and when it fails (because it can't possibly guess what my controlled vocabulary is) that's when I state in the error message what the controlled vocabulary is? Sorry, you must use one of the following values: Arts and Humanities, ... Seems messy to parse. I expect the answer to all this will be... don't even try this... the S in SWORD is for simple. :) But I'm curious what people think. Phil -- Philip Durbin Software Developer for http://thedata.org http://www.iq.harvard.edu/people/philip-durbin -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ sword-app-tech mailing list sword-app-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sword-app-tech -- Richard Jones, Founder, Cottage Labs t: @richard_d_jones, @cottagelabs w: http://cottagelabs.com -- Time is money. Stop wasting it! Get your web API in 5 minutes. www.restlet.com/download http://p.sf.net/sfu/restlet___ sword-app-tech mailing list sword-app-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sword-app-tech
Re: [sword-app-tech] communicating a controlled vocabulary to SWORD client
Hi Philip, Lets assume for the sake of discussion that you are right and that the answer is... don't even try this :) , then what about considering another web service alongside SWORD? It might be useful for a repository, or similar, to provide a profile(s) of supported metadata for the use of a SWORD client, or any other ingest mechanism for that matter. Cheers, Robin. Robin Taylor Main Library University of Edinburgh From: Philip Durbin philip_dur...@harvard.edu Sent: 20 May 2014 16:13 To: sword-app-tech@lists.sourceforge.net Subject: [sword-app-tech] communicating a controlled vocabulary to SWORD client I was just looking at Typically, the subject will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary. from http://dublincore.org/documents/2012/06/14/dcmi-terms/?v=terms#subject Let's pretend I take this advice and only want to support a controlled vocabulary for dcterms:subject. Something like this: dcterms:subjectArts and Humanities dcterms:subjectAstronomy and Astrophysics dcterms:subjectBusiness and Management etc. etc. But can I communicate my list of controlled vocabulary for dcterms:subject (and possibly other fields such as dcterms:language) to the SWORD client in the Service Document? Of would I let the SWORD client *try* to create an Atom resource and when it fails (because it can't possibly guess what my controlled vocabulary is) that's when I state in the error message what the controlled vocabulary is? Sorry, you must use one of the following values: Arts and Humanities, ... Seems messy to parse. I expect the answer to all this will be... don't even try this... the S in SWORD is for simple. :) But I'm curious what people think. Phil -- Philip Durbin Software Developer for http://thedata.org http://www.iq.harvard.edu/people/philip-durbin -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ sword-app-tech mailing list sword-app-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sword-app-tech -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ sword-app-tech mailing list sword-app-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sword-app-tech
Re: [sword-app-tech] communicating a controlled vocabulary to SWORD client
Hi Philip, Please ignore my first hasty answer. I'm still thinking in SWORD v1 terms. SWORD v1 does what you ask in a manner, the Service Document can specify profiles of sorts. I'm forgetting my SWORD terminology but I know you can say, for example, that the server supports a Mets Profile of a particular type. In an ideal world that profile would be described elsewhere in sufficient detail, and made available programatically, to allow you build a compliant SWORD submission. Sadly the whole area surrounding Mets profiles and package description is a bit underdeveloped so in practice I doubt this would be a practical approach, and as for SWORD v2 I'm afraid I have no idea. Sorry, Robin. Robin Taylor Main Library University of Edinburgh From: TAYLOR Robin robin.tay...@ed.ac.uk Sent: 21 May 2014 09:21 To: Philip Durbin; sword-app-tech@lists.sourceforge.net Subject: Re: [sword-app-tech] communicating a controlled vocabulary to SWORD client Hi Philip, Lets assume for the sake of discussion that you are right and that the answer is... don't even try this :) , then what about considering another web service alongside SWORD? It might be useful for a repository, or similar, to provide a profile(s) of supported metadata for the use of a SWORD client, or any other ingest mechanism for that matter. Cheers, Robin. Robin Taylor Main Library University of Edinburgh From: Philip Durbin philip_dur...@harvard.edu Sent: 20 May 2014 16:13 To: sword-app-tech@lists.sourceforge.net Subject: [sword-app-tech] communicating a controlled vocabulary to SWORD client I was just looking at Typically, the subject will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary. from http://dublincore.org/documents/2012/06/14/dcmi-terms/?v=terms#subject Let's pretend I take this advice and only want to support a controlled vocabulary for dcterms:subject. Something like this: dcterms:subjectArts and Humanities dcterms:subjectAstronomy and Astrophysics dcterms:subjectBusiness and Management etc. etc. But can I communicate my list of controlled vocabulary for dcterms:subject (and possibly other fields such as dcterms:language) to the SWORD client in the Service Document? Of would I let the SWORD client *try* to create an Atom resource and when it fails (because it can't possibly guess what my controlled vocabulary is) that's when I state in the error message what the controlled vocabulary is? Sorry, you must use one of the following values: Arts and Humanities, ... Seems messy to parse. I expect the answer to all this will be... don't even try this... the S in SWORD is for simple. :) But I'm curious what people think. Phil -- Philip Durbin Software Developer for http://thedata.org http://www.iq.harvard.edu/people/philip-durbin -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ sword-app-tech mailing list sword-app-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sword-app-tech -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ sword-app-tech mailing list sword-app-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sword-app-tech -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ sword-app-tech mailing list sword-app-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sword-app-tech