Difference between revisions of "Protege3DevDocs"

From Protege Wiki
Jump to: navigation, search
(adding link to new page)
 
(36 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
* [[Working with the graph widget]]
+
* [http://protegewiki.stanford.edu/images/4/4f/Protege3_doc.zip Protege Programming Development Kit (PDK)] - check the dev.html
* [[AddingRemovingTabs|Adding and removing tabs programmatically]]
+
* [[SetUpEclipseForPlugin|'''<u>Setting up Eclipse for plug-in development</u>''']] - '''This is what you usually want'''
* [[Changing forms programtically]]
+
* [[ConfiguringAntBuildFiles|Using and configuring Prot&eacute;g&eacute;'s Ant build scripts]]
* [[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]]
+
* ''' Advanced '''
* [[ProgramaticLuceneQueryAccess|Accessing the Lucene Query Plugin programatically]]
+
** [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'''
 +
** [[AddingRemovingTabs|Adding and removing tabs programmatically]]
 +
** [[UseTabInApplication|Using a Protege tab plug-in in your own application]]
 +
** [[UseProtegeFormsInApplications|Using Protege forms in other applications]]
 +
** [[Changing forms programtically]]
 +
** [[ReadOnlyForms|Making slot-widgets read-only programmatically]]
 +
** [[Working with the graph widget]]
 +
* '''Client-Server (Multi-user 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]]
 +
** [[Protege_Client_Server_Tutorial_Advanced#Accessing_the_Server_Programatically| Accessing a remote protege server programatically]]
 +
* '''Collaboration features'''
 +
** [[ChAO API|Accessing the collaboration features programmatically (Changes and Annotation API)]]
 +
* [[ProgramaticLuceneQueryAccess|Accessing the Lucene Query plug-in programatically]]
 +
* [[MultiThreadingConsiderationsInProtege3|Tips for handling multiple threads writing to a Protege knowledge-base]]
 +
* [[CompressionAndRMI| How to implement compression over rmi]]
 +
* [[Protege3JDBCSchema| Design and rationale for the Protege 3 database schema]]
  
 
=== Protege-OWL Specific ===
 
=== Protege-OWL Specific ===
  
* [http://protege.stanford.edu/plugins/owl/api/index.html Protege-OWL API] (high level overview)
+
* '''Working with the Protege-OWL API'''
* [http://protege.stanford.edu/plugins/owl/api/guide.html Protege-OWL API Programmer's Guide]
+
** [[ProtegeOWL_API_Programmers_Guide|Protege-OWL API Programmer's Guide]]
* [[ProtegeReasonerAPI|Protege-OWL reasoner API]]
+
** [http://protege.stanford.edu/protege/3.4/docs/api/owl/ Protege-OWL API Javadoc]
* [[ProtegeReasonerPlugin|Protege-OWL reasoner plug-in]]
+
** [[ImportUsingProtegeOWLAPI|How to import an ontology using the Protege-OWL API]]
* [http://protege.stanford.edu/download/release-javadoc-owl/ Protege-OWL API Javadoc]
+
** [[JavaCodeGenerationUsingAPI|How to invoke the Protege-OWL Java Code Generator using the API]]
* [[ConvertingToDatabaseProject | Converting an OWL Model to a database project]]
+
** [[ProtegeOWLJenaIntegration|Protege-OWL & Jena integration]]
* [[LoadOWLOntologyFromDB|How to load a Protege-OWL ontology from a Protege database using the API]]
+
* '''The Reasoning API'''
* [[UseOWLClassesPanel|How to use the OWL Classes panel in your own application]]
+
** [[ProtegeReasonerAPI|Protege-OWL reasoner API]]
* [[SetBrowserSlotPattern|How to set the browser slot pattern to rdfs:label (or other property) using the API]]
+
** [[ProtegeReasonerPlugin|Protege-OWL reasoner plug-in]]
* [[JavaCodeGenerationUsingAPI|How to invoke the Protege-OWL Java Code Generator using the API]]
+
* '''OWL Database'''
* [[ImportUsingProtegeOWLAPI|How to import an ontology using the Protege-OWL API]]
+
** [[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]]
 +
** [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'''
 +
** [[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]]
  
 
=== Protege-Frames Specific ===
 
=== Protege-Frames Specific ===
Line 39: 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)''']]
 
* [[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]]
 
* [[PluginDistribution|Tips for packaging your plug-in for distribution]]
 
* [[PluginDistribution|Tips for packaging your plug-in for distribution]]
 
* [[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