Difference between revisions of "Protege3DevDocs"
From Protege Wiki
(38 intermediate revisions by 4 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 |
− | * [[Working with | + | * [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égé'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 | + | ** [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/ | + | * '''Working with the Protege-OWL API''' |
− | * [ | + | ** [[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]] |
− | * [ | + | ** [[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]] |
+ | * '''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 === | === Protege-Frames Specific === | ||
Line 37: | 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)''']] | |
* [[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]] | ||
− | |||
− | |||
− |
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