RDF Schema Support in Protégé-2000
For version 1.5 of Protégé-2000, we have re-implemented our
RDF
(Schema) support in order to make it more stable and to make it easier
to implement other RDFS-based backends such as OIL
and DAML. Furthermore, several features
were added, such as
-
in addition to a round-trip version, you can export as simple RDF(S) (i.e.,
Protégé specific facets are not encoded in additional triples);
-
support for namespace abbreviations (frame names are never prefixed with
complete URIs, only with abbreviations);
-
when exporting a project that has included projects, you can put the included
projects into different namespaces (see the section "Renaming the (default)
namespaces of included projects" below).
Here
you will find a comparison of the RDF(S) and Protégé-2000
models.
Importing, creating, and saving RDF(S) files
-
To import your existing RDF(S) files into Protégé-2000
select the Project | Import menu item and select RDF Schema
from the storage format dialog. Enter the name of the file containing
your RDF schema and the name of the file containing your RDF instance data
in the appropriate fields.
-
To create a new RDF project, which will include the schema and the instance
data, select the Project | New menu item and select RDF Schema
from the storage format dialog.
-
An existing Protégé-2000 project can be saved as an RDF(S)
project by selecting the Project | Save In Format menu item and
selecting RDF Schema from the storage format dialog. If you
check plain RDFS, no Protégé specific facets are exported.
-
You can use Project | Save in Format... to export a project using
the old backend into a project using the new one (don't use Project
| Import for this since the new backend uses different encodings for
Protégé
specific facets).
Renaming the (default) namespaces of included projects
This feature can be used to transform an existing (Standard Text File/CLIPS)
project into an RDF(S) one where frames from included projects reside in
different
namespaces (you can also achieve the reverse effect, i.e. forcing all (or
some) projects to share a namespace or have the same namespace as the main
project). Here is how it works:
-
Transform the project into an RDF(S) one where all projects (main
and included ones) have the same default namespace. You need to
do this "bottom up", i.e., for the included projects first, and finally
for the main one. Make sure you save all files with new file names (or
in a new directory), or the main file does not load any more (since it
will already try to load the new included projects)!
-
Load the new main project and click Project | Save as .... If you
have included projects that were loaded with the RDF(S) backend, you will
see an Advanced ... button. Change some or all of the namespaces
and save (the console window will show a remark if namespaces of included
projects are renamed). Close the project.
-
For each of the included projects for which you have renamed the default
namespace, load and change the namespace (via Project | Save as ...).
-
You can now load the main project.
Example
A simple example is in the Protege-2000/examples/rdf directory.
Known bugs and problems
-
only the RDF Schema namespace http://www.w3.org/TR/1999/PR-rdf-schema-19990303#
is supported when saving (on import, the new namespace is also recognized)
-
rdfs:seeAlso, rdfs:isDefinedBy, rdfs:label, container, and reified statements
are not supported
-
multiple types for a single resource are not supported
-
you cannot make changes to the standard meta classes (i.e., rdf:Resource,
rdf:Property, rdfs:Class, etc.)
-
XML Schema data types are not recognized as rdfs:Literal (but it is unclear
if they should)