Difference between revisions of "Protege3DevDocs"

From Protege Wiki
Jump to: navigation, search
 
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
<div class="orangeBox">
 
<div class="orangeBox">
 
<span class="orangeBoxTitle">Protege 3 Developer Documentation</span><br /><br />
 
<span class="orangeBoxTitle">Protege 3 Developer Documentation</span><br /><br />
Please note that we are slowly trying to move developer documentation off of the main Protege Web site and onto this Wiki.  We feel that this will better serve the community as users will (hopefully) make contributions and corrections to our body of documentation.<br /><br />
+
'''Please note that this documentation refers *only* to the Protege 3.x series. For Protege 4, 5 and higher, please visit the links available [[Main_Page#Developer_Documentation|here]].'''
Because the migration of documentation to the Wiki is ongoing, you should also check the main Protege Web site for Protege 3 developer documentation: http://protege.stanford.edu/doc/dev.html.
 
 
</div><br />
 
</div><br />
  
Line 11: Line 10:
 
=== General (common to Protege-Frames & Protege-OWL) ===
 
=== General (common to Protege-Frames & Protege-OWL) ===
  
* [http://protege.stanford.edu/doc/dev.html Protege Programming Development Kit (PDK)]  
+
* [http://protegewiki.stanford.edu/images/4/4f/Protege3_doc.zip Accessing the Protege source code from SVN] - check the dev.html
* [http://protege.cim3.net/cgi-bin/wiki.pl?CompileProtegeSourcesInIDE Compiling and Running Protege-Frames and OWL in a Java Development Environment (e.g., Eclipse)]
+
* [http://protegewiki.stanford.edu/images/4/4f/Protege3_doc.zip Protege Programming Development Kit (PDK)] - check the dev.html
 +
* [[SetUpEclipseForPlugin|'''<u>Setting up Eclipse for plug-in development</u>''']] - '''This is what you usually want'''
 +
* [[ConfiguringAntBuildFiles|Using and configuring Prot&eacute;g&eacute;'s Ant build scripts]]
 +
 
 +
* ''' Advanced '''
 +
** [http://protege.cim3.net/cgi-bin/wiki.pl?CompileProtegeSourcesInIDE Compiling and Running Protege-Frames and OWL in a Java Development Environment (e.g., Eclipse)] - ''Advanced: look here only if you want to compile yourself the Protege source code. Most developers do not need this.''
 +
 
 
* '''Working with forms'''
 
* '''Working with forms'''
 
** [[AddingRemovingTabs|Adding and removing tabs programmatically]]
 
** [[AddingRemovingTabs|Adding and removing tabs programmatically]]
Line 23: Line 28:
 
** [[Considerations on porting Tab Plugins to Client-Server mode|Considerations when porting tab widget plug-ins to client-server mode]]
 
** [[Considerations on porting Tab Plugins to Client-Server mode|Considerations when porting tab widget plug-ins to client-server mode]]
 
** [[Creating users|Adding and removing users programmatically in client-server mode]]
 
** [[Creating users|Adding and removing users programmatically in client-server mode]]
** [[Protege Client-Server Tutorial#Accessing_the_Server_Programatically| Accessing a remote protege server programatically]]  
+
** [[Protege_Client_Server_Tutorial_Advanced#Accessing_the_Server_Programatically| Accessing a remote protege server programatically]]  
 
* '''Collaboration features'''
 
* '''Collaboration features'''
 
** [[ChAO API|Accessing the collaboration features programmatically (Changes and Annotation API)]]
 
** [[ChAO API|Accessing the collaboration features programmatically (Changes and Annotation API)]]
Line 29: Line 34:
 
* [[MultiThreadingConsiderationsInProtege3|Tips for handling multiple threads writing to a Protege knowledge-base]]
 
* [[MultiThreadingConsiderationsInProtege3|Tips for handling multiple threads writing to a Protege knowledge-base]]
 
* [[CompressionAndRMI| How to implement compression over rmi]]
 
* [[CompressionAndRMI| How to implement compression over rmi]]
 
+
* [[Protege3JDBCSchema| Design and rationale for the Protege 3 database schema]]
  
 
=== Protege-OWL Specific ===
 
=== Protege-OWL Specific ===
  
 
* '''Working with the Protege-OWL API'''
 
* '''Working with the Protege-OWL API'''
** [http://protege.stanford.edu/plugins/owl/api/index.html Protege-OWL API] (high level overview)
+
** [[ProtegeOWL_API_Programmers_Guide|Protege-OWL API Programmer's Guide]]
** [http://protege.stanford.edu/plugins/owl/api/guide.html Protege-OWL API Programmer's Guide]
+
** [http://protege.stanford.edu/protege/3.4/docs/api/owl/ Protege-OWL API Javadoc]
** [http://protege.stanford.edu/download/release-javadoc-owl/ Protege-OWL API Javadoc]
 
 
** [[ImportUsingProtegeOWLAPI|How to import an ontology using the Protege-OWL API]]
 
** [[ImportUsingProtegeOWLAPI|How to import an ontology using the Protege-OWL API]]
 
** [[JavaCodeGenerationUsingAPI|How to invoke the Protege-OWL Java Code Generator using the API]]
 
** [[JavaCodeGenerationUsingAPI|How to invoke the Protege-OWL Java Code Generator using the API]]
Line 44: Line 48:
 
** [[ProtegeReasonerPlugin|Protege-OWL reasoner plug-in]]
 
** [[ProtegeReasonerPlugin|Protege-OWL reasoner plug-in]]
 
* '''OWL Database'''
 
* '''OWL Database'''
** [[ConvertingToDatabaseProject | Converting an OWL Model to a database project]]
+
** [[ConvertToDBScript|Converting an OWL file to the database backend using a script]]
 +
** [[ConvertingToDatabaseProject | Converting an OWL Model to a database project (code snippet)]]
 
** [[LoadOWLOntologyFromDB|How to load a Protege-OWL ontology from a Protege database using the API]]
 
** [[LoadOWLOntologyFromDB|How to load a Protege-OWL ontology from a Protege database using the API]]
 +
** [https://gist.github.com/1212562 How to convert an ontology stored in the databased to an OWL file using the API]
 
* '''Configuring the User Interface using the API'''
 
* '''Configuring the User Interface using the API'''
 
** [[UseOWLClassesPanel|How to use the OWL Classes panel in your own application]]
 
** [[UseOWLClassesPanel|How to use the OWL Classes panel in your own application]]
 
** [[SetBrowserSlotPattern|How to set the browser slot pattern to rdfs:label (or other property) using the API]]
 
** [[SetBrowserSlotPattern|How to set the browser slot pattern to rdfs:label (or other property) using the API]]
 
  
 
=== Protege-Frames Specific ===
 
=== Protege-Frames Specific ===
Line 57: Line 62:
 
== Plug-in Development ==
 
== Plug-in Development ==
  
=== General (common to Protege-Frames & Protege-OWL) ===
 
 
* [[Database_Inclusion_Plugin_Devlopers_Notes|'''Notes for developers on migrating plug-ins to Protege 3.4 build 500 (and higher)''']]
 
* [[Database_Inclusion_Plugin_Devlopers_Notes|'''Notes for developers on migrating plug-ins to Protege 3.4 build 500 (and higher)''']]
 
* [[PluginManifestsAndJars|Learn how to create a manifest and JAR file for your plug-in]]
 
* [[PluginManifestsAndJars|Learn how to create a manifest and JAR file for your plug-in]]
Line 63: Line 67:
 
* [[PluginDependencies|Instructions for declaring dependencies between Protege plug-ins]]
 
* [[PluginDependencies|Instructions for declaring dependencies between Protege plug-ins]]
 
* [[ProvidePluginDocs|How to make your plug-in's documentation available to users from within Protege]]
 
* [[ProvidePluginDocs|How to make your plug-in's documentation available to users from within Protege]]
 
=== Protege-OWL Specific ===
 
=== Protege-Frames Specific ===
 

Latest revision as of 22:07, May 23, 2016

Protege 3 Developer Documentation

Please note that this documentation refers *only* to the Protege 3.x series. For Protege 4, 5 and higher, please visit the links available here.


Programming Tips & Tricks

General (common to Protege-Frames & Protege-OWL)

Protege-OWL Specific

Protege-Frames Specific

Plug-in Development