Naming convention for deeply structured classes and subclasses




I sent an e-mail previously inquiring about naming conventions. In
retrospect, I can see my question didn’t make much sense.  I have since been
working extensively with the protégé 4 Owl Editor and have learned much in
the way of answering my own questions.  However, I am still running into an
issue with naming conventions, but I do have a better understanding now of
what exactly it is that I’m trying to get advice for.  


I am currently trying to create an ontology for software.  As you can
imagine, software is a very complex product and there is a lot to it.  After
weeks I believe I have arrived at a smart and intuitive class and subclass
structure.   The problem I’m having now is how to name my classes and
subclasses.  My structure is 5 levels deep where level 1 is the root class
and level 5 is the individual (or instance). Naming classes and instances
after level 1 is perplexing.  I was hoping somebody here could give me some
advice on how this might be done using current ontology best practices.
Below I am including a small example of the current structure below.  I have
not tried to officially name the classes yet as I’m not sure how.  So I have
used a temporary naming convention that enables me to easily understand and
organize my classes.  But I am getting to the point now where I’d like to
start officially naming them. 




Product (Root Class)

--- software

------ desktop software

------------ desktop internet software

------------------- desktop internet access software (individual)

------------------- desktop internet browser software (individual)

------------------- desktop internet messaging software (individual)

------------ desktop multimedia software

------------------- desktop multimedia 3d software (individual)

------------------- desktop multimedia audio software (individual)

------------------- desktop multimedia video software (individual)

------ internet software

------------ internet saas software

------------------- internet saas collaboration software (individual)

------------------- internet saas videosharing software (individual)

------------ internet cloud software

------ enterprise software

Person (Root Class)

Press (Root Class)




It is my understanding all names must be unique (at least that seems to be
what the protégé editor is saying). I should probably be using some
combination of suffix and prefix to ensure so. But which ones?  Also, I
understand that shorter names are preferred.  As you can see, by the time I
get down to the instance level the name gets very long if I am to keep it
unique and human understandable. Of course I could use a lot of acronym type
names which would be short and sweet for machines, but entirely
unintelligible for humans.


I would really appreciate some advice on how to intelligently name my class
structure. Obviously, I’m most concerned with Levels 3-5.  Levels 1-2 are


I hope this time I have made much more sense with my inquiry.  Thanks for
the help!








Received on Friday, 10 July 2009 06:55:26 UTC