|
Sina; I'm
attaching a slight variant of the text file you sent. In the variant,
the subClassOf statement and their labels are broken out into
individual rows. If the format you gave can't be changed to this, then
you will need to import and use some SPARQL queries to define how the
columns should be interpreted. The trick (thank you Gokhan) is to import into an existing model. This way the importer knows about namespaces and prefixes for standard RDF/RDFS/OWL definitions, such as owl:Class and rdfs:label. So first create a new model. While that file is open, import the file using the Import Tab-Delimited Spreadsheet importer. On the first page of the wizard, specify the text file to import and choose "Import to the current ontology". On the last page of the wizard, specify "owl:Class" for the Class Name. You'll probably also want to define owl:Class as the Property data type for rdfs:subClassOf". This will import the class and subclass definitions. There are a couple of adjustments you may want to make after that (both of these are optional, depending on your needs): 1. Because rdfs:Class is in the range definition of rdfs:subClassOf, the class at the root will be members of both rdfs:Class and owl:Class. You can either adjust my procedure above and the spreadsheet to use rdfs:Class instead of owl:Class or remove rdfs:Class 2. Composer will infer that any instance of owl:Class that does not have a rdfs:subClassOf statement is a subclass of owl:Thing. This makes it possible to display all class definitions in a tree hierarchy starting at owl:Thing. You may want to assert these. See how that works and let us know if further guidance is needed for making adjustments. -- Scott On 6/10/10 8:45 AM, Madani,Sina wrote: --Scott, I attached a sample tab delimited file with the first 9 rows of my master spreadsheet. The desired import in one step is to have a way to assign 2 rdfs:label columns, one label for owl:Class and one label for rdfs:subClassOfFor workaround, I first import only column C as owl:Class and column D as rdfs:label (label for supper classes) into my ontology. Then I import the original spreadsheet with column A as owl:Class, Column B as rdfs:label (for sub classes this time), column C as rdfs:subClassOf, and ignore column D, and the rest as annotation data type properties. As I mentioned before, I am a beginner in semantic web and TopBriad, so there maybe something very simple that I am missing. Thanks for the help Sina -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Scott Henninger Sent: Wednesday, June 09, 2010 7:39 PM To: TopBraid Suite Users Subject: [topbraid-users] Re: create ontology from spreadsheet Sinha; If you import the table as instances of owl:Class, it will create instances of owl>Class, which are class definition. But I'm not sure about the format provided. Would you be able to send a few rows as an example? -- Scott On Jun 9, 3:38 pm, "Madani,Sina" <[email protected]> wrote:Thank you Irene, I do have a class in every row but the super class is in the same row as well. That's how I got stuck where I wanted to have a separate rdfs:label for concep1tparentlabel in column 4 Owl:Class, rdfs:lable, rdfs:subClassOf, Concept1, Concept1label, Concept1Parent, Concept1ParentLabel, Concept1Attribute1, Concept1Attribute2, ..... Hopefully SPARQLmotion will solve my issue. Sina -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Irene Polikoff Sent: Wednesday, June 09, 2010 3:03 PM To: [email protected] Subject: RE: [topbraid-users] Re: create ontology from spreadsheet Sina, Classes are instances of owl:Class, so you can use the importer to get them in. Importer will create a resource for every row. Your rows have two resources - a class and its superclasss Assuming that you have a row for each class irrespective of whether it has children or not, you are fine as is and do not need to worry about the fourth column. Let me explain it by example. Let's say you have: my:Person Person my:Woman Woman my:Person Person my:Man Man my:Person Person The first row will create a class Person, the second row will create a class Woman and make it a subclass of the Person, the third row will create a class Man and make it a subclass of a Person. Thus, you do not need a forth column because there was a row with Person in a first column and its label in the second column. If, on the other hand, you do not have a row for each class, you will then need to write some queries to get these resources created. Regards, Irene -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Madani,Sina Sent: Wednesday, June 09, 2010 2:27 PM To: '[email protected]' Subject: RE: [topbraid-users] Re: create ontology from spreadsheet I am a beginner with TopBraid Composer ME and not familiar with that tool. I need to create an ontology from a spreadsheet with 64000 rows and columns related to classes, subclasses, label, and some annotation datatype properties. I am considering only is-a (rdf:type) relationships between concepts at this moment (based on the mapping from SNOMED) but will eventually need to handle more relationships. I appreciate your help/hint/advices. Thanks Sina -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Scott Henninger Sent: Wednesday, June 09, 2010 1:09 PM To: TopBraid Suite Users Subject: [topbraid-users] Re: create ontology from spreadsheet Sina; I am curious about this: <<because I am defining everything in my ontology as classes>> Why not use Composer's ontology editing tools? -- Scott On Jun 9, 12:43 pm, "Madani,Sina" <[email protected]> wrote: You received this message because you are subscribed to the Google Group "TopBraid Suite Users", the topics of which include TopBraid Composer, TopBraid Live, TopBraid Ensemble, SPARQLMotion and SPIN. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/topbraid-users?hl=en |
owl:Class rdfs:label rdfs:subClassOf ICDCODE SNOMEDCODE MAPPINGSTRENGTH Class_3 ACUTE DERMATITIS Class_29 692.9 26435006 "direct, exact" Class_4 ACUTE VESICULAR DERMATITIS Class_305 709.8 74207008 "no direct, exact map" Class_5 ACUTE BULLOUS DERMATITIS Class_42605 709.8 7231009 "no direct, exact map" Class_6 SUBACUTE DERMATITIS Class_27048 692.9 53107009 "direct, exact" Class_7 ACUTE AND CHRONIC DERMATITIS Class_27048 692.9 53107009 "direct, exact" Class_8 CHRONIC DERMATITIS Class_29 692.9 34936007 "direct, exact" Class_9 DERMATITIS OF THE NEWBORN Class_29 691.8 7392002 "direct, exact" Class_10 NEONATAL DERMATITIS Class_29 691.8 7392002 "direct, exact" Class_11 INDURATION OF SKIN Class_42605 782.8 34319007 "direct, exact" Class_29 NODULAR AND DIFFUSE DERMATITIS Class_305 ACUTE ECZEMA Class_42605 ECZEMATOUS SKIN LESIONS Class_27048 SUBACUTE DISEASE Class_27048 SUBACUTE DISEASE Class_29 NODULAR AND DIFFUSE DERMATITIS Class_29 NODULAR AND DIFFUSE DERMATITIS Class_29 NODULAR AND DIFFUSE DERMATITIS Class_42605 ECZEMATOUS SKIN LESIONS
