Re: Protege transmutes gold into lead. Was: Re: introduction to OA of pharmacogenomics in product labeling

Bob was exactly right about Protege making changes to my OA dataset. 
However, I actually created the annotations using a custom Python script 
[1] from a flat file loaded into SQL [2,3]. Because the pharmacists are 
making comments and changes as they review the annotations, I 
experimented with *editing* the RDF data using Protege. Looks like I 
will need either need to use another easy RDF editing tool (suggestions? 
maybe Ontowiki?), or add a  postprocessing step to correct errors that 
Protege creates.

Thanks for all of the other suggestions! I will examine and make 
corrections over the next week.
-Rich

1. 
https://code.google.com/p/swat-4-med-safety/source/browse/trunk/analyses/pharmgx-statement-annotation/scripts/pharmgx-statements-2-RDF.py

2. 
https://code.google.com/p/swat-4-med-safety/source/browse/trunk/analyses/pharmgx-statement-annotation/data/complete-annotations-03132013.csv

3. 
https://code.google.com/p/swat-4-med-safety/source/browse/trunk/analyses/pharmgx-statement-annotation/scripts/README

On 03/15/2013 11:28 AM, Bob Morris wrote:
> On Fri, Mar 15, 2013 at 10:34 AM, Paolo Ciccarese
> <paolo.ciccarese@gmail.com> wrote:
>> Dear Richard,
>> The first thing I notice right away are the OA definitions as
>> AnnotationProperty such as:
>> <AnnotationProperty rdf:about="&oa;annotatedBy"/>
>> While they are defined as ObjectProperties in OA:
>> http://www.w3.org/ns/oa#objectproperties
> There is a fair chance that Richard is a Protege victim in this case.
> (His RDF was generated by the OWL API according to its comment at the
> bottom, and that probably was Protege).  OWL2 direct semantics
> declares
>      rdfs:label rdf:type owl:AnnotationProperty .
> See http://www.w3.org/TR/owl2-rdf-based-semantics/ Table 6.5.
>
> Similarly for rdfs:comment.
>
> As soon as you put one of those on an oa object, as far as Protege is
> concerned, it seems to become an owl:Annotation property, no matter
> what else it is. (Perhaps this is configurable, and perhaps it is also
> mainly a consequence of choices the OWL API makes in serializing as
> XML).
>
> We are often nailed by this.  Protege is rather unfriendly to
> Individuals.  Alas, I've never found a good free tool that isn't.  My
> own practice for hand generation of annotations ---for us as
> examples---is to use N3, which is anyway more readable than RDF/XML.
>
> There are some benefits of examining oa:Annotation individuals in
> Protege, but I almost always have to clean up if I am tempted to edit
> and save with Protege.
>
>> [...]
>>


-- 
Richard D Boyce, PhD
Assistant Professor of Biomedical Informatics
Faculty, Geriatric Pharmaceutical Outcomes and Gero-Informatics Research and Training Program
Scholar, Comparative Effectiveness Research Program
University of Pittsburgh
rdb20@pitt.edu
Office: 412-648-9219
Twitter: @bhaapgh

Received on Friday, 15 March 2013 18:58:19 UTC