Difference between revisions of "Protege3DevDocs"

From Protege Wiki
Jump to: navigation, search
 
(57 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
<div class="orangeBox">
 
<div class="orangeBox">
<span class="orangeBoxTitle">Protege 3.x Developer Documentation</span><br />
+
<span class="orangeBoxTitle">Protege 3 Developer Documentation</span><br /><br />
</div>
+
'''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]].'''
 +
</div><br />
  
__FORCETOC__
+
__TOC__
  
<strong>[[Programming Tips and Tricks]]</strong> - a collection of links to resources for understanding how to interact programmatically with the Protege 3.x series, e.g., through the API.
+
== Programming Tips & Tricks ==
 +
 
 +
=== General (common to Protege-Frames & Protege-OWL) ===
 +
 
 +
* [http://protegewiki.stanford.edu/images/4/4f/Protege3_doc.zip Accessing the Protege source code from SVN] - check the dev.html
 +
* [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'''
 +
** [[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 ===
 +
 
 +
* '''Working with the Protege-OWL API'''
 +
** [[ProtegeOWL_API_Programmers_Guide|Protege-OWL API Programmer's Guide]]
 +
** [http://protege.stanford.edu/protege/3.4/docs/api/owl/ Protege-OWL API Javadoc]
 +
** [[ImportUsingProtegeOWLAPI|How to import an ontology using the Protege-OWL API]]
 +
** [[JavaCodeGenerationUsingAPI|How to invoke the Protege-OWL Java Code Generator using the API]]
 +
** [[ProtegeOWLJenaIntegration|Protege-OWL & Jena integration]]
 +
* '''The Reasoning API'''
 +
** [[ProtegeReasonerAPI|Protege-OWL reasoner API]]
 +
** [[ProtegeReasonerPlugin|Protege-OWL reasoner plug-in]]
 +
* '''OWL Database'''
 +
** [[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 ===
 +
 
 +
* [[LoadFramesOntologyFromDB|How to load a Protege-Frames ontology from a Protege database using the API]]<br /><br />
 +
 
 +
== Plug-in Development ==
 +
 
 +
* [[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]]
 +
* [[PluginDistribution|Tips for packaging your plug-in for distribution]]
 +
* [[PluginDependencies|Instructions for declaring dependencies between Protege plug-ins]]
 +
* [[ProvidePluginDocs|How to make your plug-in's documentation available to users from within Protege]]

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