Difference between revisions of "Protege3DevDocs"
From Protege Wiki
(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 | + | '''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 /> | </div><br /> | ||
Line 11: | Line 10: | ||
=== General (common to Protege-Frames & Protege-OWL) === | === General (common to Protege-Frames & Protege-OWL) === | ||
− | * [http:// | + | * [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égé'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_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''' | ||
− | ** [ | + | ** [[ProtegeOWL_API_Programmers_Guide|Protege-OWL API Programmer's Guide]] |
− | + | ** [http://protege.stanford.edu/protege/3.4/docs/api/owl/ Protege-OWL API Javadoc] | |
− | ** [http://protege.stanford.edu/ | ||
** [[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 == | ||
− | |||
* [[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]] | ||
− | |||
− | |||
− |
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.
Contents
Programming Tips & Tricks
General (common to Protege-Frames & Protege-OWL)
- Accessing the Protege source code from SVN - check the dev.html
- Protege Programming Development Kit (PDK) - check the dev.html
- Setting up Eclipse for plug-in development - This is what you usually want
- Using and configuring Protégé's Ant build scripts
- Advanced
- 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
- Client-Server (Multi-user mode)
- Collaboration features
- Accessing the Lucene Query plug-in programatically
- Tips for handling multiple threads writing to a Protege knowledge-base
- How to implement compression over rmi
- Design and rationale for the Protege 3 database schema
Protege-OWL Specific
- Working with the Protege-OWL API
- The Reasoning API
- OWL Database
- Configuring the User Interface using the API
Protege-Frames Specific
Plug-in Development
- Notes for developers on migrating plug-ins to Protege 3.4 build 500 (and higher)
- Learn how to create a manifest and JAR file for your plug-in
- Tips for packaging your plug-in for distribution
- Instructions for declaring dependencies between Protege plug-ins
- How to make your plug-in's documentation available to users from within Protege