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:subClassOf

For 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:
    
Thank you Scott,
Then I guess spreadsheet import wizard won't be useful for me because I am
      
defining everything in my ontology as classes, there are no instances.
    
Could you please send me a good reading source for SPARQLmotion?
      
    
Sina
      
    
-----Original Message-----
From: [email protected]
      
[mailto:[email protected]] On Behalf Of Scott Henninger
    
Sent: Tuesday, June 08, 2010 6:07 PM
To: TopBraid Suite Users
Subject: [topbraid-users] Re: create ontology from spreadsheet
      
    
Sina; If the first row has column names with rdfs:label, etc., the
Import wizard will recognize the qname and create the properties as
desired.  If you are doing this through a SPARQLMotion script, don't
forget to import system triples, otherwise the script will not know
about rdfs:subClassOf, etc.
      
    
For all spreadsheet importers the rule is that each worksheet defines
one class definition.  Note that using the Excel importer, you can
specify multiple sheets.  Each row defines an instance of the class.
Each column names a property for instances of that class, not the
class itself.
      
    
So a sheet named "Person" will create the class definition :Person.  A
column in that sheet named "rdfs:label" will create a label for each
instance, such as:
  ?rowX-Y rdfs:label ?cellValue
      
    
<<I guess my question is how do I assign labels to classes and
subclasses in one spreadsheet?>>
      
    
This could be done in a SPARQLMotion script where you read in the
spreadsheet and interpret the columns as you want with SPARQL
queries.  But there isn't a way to do this directly with the
importers, per the above explanation.
      
    
-- Scott
      
    
On Jun 8, 12:53 pm, Sina <[email protected]> wrote:
      
Hi,
how I can assign rdfs:label to a specific column during tab-delimited
import process?
I have a spreadsheet of 4 columns:
owl:Class, rdfs:label, rdfs:subClassOf, rdfs:label
        
    
how do I assign rdfs:label in the 4th Clim to my superclasses in the
third column? Obviously the above format doesn't work. I guess my
question is how do I assign labels to classes and subclasses in one
spreadsheet? Currently I am doing it with two separate spreadsheets in
2 steps.
        
    
Thanks
Sina
        
    
--
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
      
athttp://groups.google.com/group/topbraid-users?hl=en

--
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 athttp://groups.google.com/group/topbraid-users?hl=en

--
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 athttp://groups.google.com/group/topbraid-users?hl=en

--
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 athttp://groups.google.com/group/topbraid-users?hl=en
    
  

--
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

Reply via email to