The Scuba Dive Ontology

On this page you find a RDFS ontology for scuba divers. Now it is possible to describe your dives in a portable, non-proprietary, machine-readable format . see ChangeLog for recent changes.

The RDF Schema/Namespace

See the RDFS. To use the ontology use the following line in the <rdf:RDF> tag:

xmlns:dive="http://scubadive.networld.to/dive.rdf#"

Certification Block

Currently I've written the following Certification blocks (PADI) see padi.rdf: If you have the Open Water Certification add the following line to your diver block:
  <dive:Certification rdf:resource="http://scubadive.networld.to/padi.rdf#OW" />
        
If you have a certificate from another organisation than PADI or if you grade is missing please contact me.

Air Mix Block

There are a few air mix predefined under airmix.rdf

If you dive with normal air add the following line to your dive:Diver block.

  <dive:airMix rdf:resource="http://scubadive.networld.to/airmix.rdf#Air" />
        

Equipment (Type) Block

As scuba diver maybe you have the same equipment types as others. For this reason there are predefined types under equipment.rdf. See the following example how such a resource URL look like. To add a mask to your profile you should use the following code:
  <dive:Equipment>
    ...
    <dive:EquipmentType rdf:resource="http://scubadive.networld.to/equipment.rdf#mask" />
    ...
  </dive:Equipment>
        

Dive Profile (from dive computer)

If you have a dive computer you maybe want to store a detailed dive profile with depth, temperature, time, bookmark for each sample. For this purpose I suggest that you store the profile in an external RDF file and link it from the related dive. See the example file how such a profile should look like. To link the dive profile with the related dive you should use the following line in the Dive block (or a subclass of it):
  <dive:seeDiveProfile rdf:resource="detailed_profile.rdf#diveProfile1"/>
        

Air Mix Block

There are a few air mix predefined under airmix.rdf

Diver Block vs. DiverProfile Block

Could I use this file as logbook?

Normally your dive partners have to sign the dive in the logbook. You could reach the same effect if you are lucky and dive with partners who have a gnupg key. Add for each of your partners the following block and beg your partners to sign your dive file with there key (the resulting signature file is named "diveX_buddyY.asc" and located at the same directory as the dive file.

  <wot:assurance>
    <wot:Endorsement rdf:about="diveX_buddyY.asc" />
      <dc:title>Dive Confirmation by BuddyY</dc:title>
      <wot:endorser rdf:nodeID="KeyBuddyY"/>
    </wot:Endorsement>
  </wot:assurance>
        
The code above comes in the same block as the dive data and in the partner section (in the block of the partner that owns the key) comes the information about the key.
  <wot:PubKey rdf:nodeID="KeyBuddyY">
    <wot:hex_id>1234567</wot:hex_id>
    <wot:length>1024</wot:length>
    <wot:fingerprint>1234567890123456789012345678901234567890</wot:fingerprint>
  </wot:PubKey>
        
Don't forget to add the namespace definition of wot and dc.

Extension

This ontology describes only for scuba diving relevant vocabular and for sure you would use other RDFS/OWL languages to receive a full description of your dives.

Examples

Application and Tools

TODO

The following parts are planned. If you think there are missing or not well defined tasks, please feel free to contact me.

Contact

If you have questions or suggestions please contact me.

Follow obale on
                        Twitter FOAF