Thank you Scott for the guide and explanation.
What would my ontology miss if I follow my current steps which is the same as 
yours in basics; start a new ontology, import my super classes first with 
owl:Class and rdfs:label only columns and in the second step import my 
subclasses as owl:Class, rdfs:subClassOf (which are ids of the classes in the 
previous step), and rdfs:label into the ontology I created in the previous step
I guess my basic question is what happen if I don't use rdfs:Class in my import 
process?

On a separate subject, I tried to load the whole 64,000 rows with the above 
process, I waited an hour in the second step before terminating the thread(pc). 
I'll try today again with the 64 bit version of TB on a Mac machine to see if 
it make a difference time wise. Is there any adjustment we can do in TopBraid 
for memory usage to make the process faster?

Sina

From: [email protected] [mailto:[email protected]] 
On Behalf Of Scott Henninger
Sent: Thursday, June 10, 2010 4:24 PM
To: [email protected]
Subject: Re: [topbraid-users] Re: create ontology from spreadsheet

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]> 
[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]><mailto:[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]> 
[mailto:[email protected]] On Behalf Of Irene Polikoff

Sent: Wednesday, June 09, 2010 3:03 PM

To: [email protected]<mailto:[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]>

[mailto:[email protected]] On Behalf Of Madani,Sina

Sent: Wednesday, June 09, 2010 2:27 PM

To: '[email protected]<mailto:[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]>

[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]><mailto:[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]>



[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]><mailto:[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]<mailto:[email protected]>

To unsubscribe from this group, send email to

[email protected]<mailto:[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]<mailto:[email protected]>

To unsubscribe from this group, send email to

[email protected]<mailto:[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]<mailto:[email protected]>

To unsubscribe from this group, send email to

[email protected]<mailto:[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]<mailto:[email protected]>

To unsubscribe from this group, send email to

[email protected]<mailto:[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

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

Reply via email to