Home
Towards an Ontology and Metadata Structure for a
Contents
1. Print Dublin Core Metadata to file EEE EE print DBCOREFILE filetextblocki 68 foreach name Dbcore if contents name print DBCOREFILE top display level3 document forms 0 elements name value contents name n print DBCOREFILE filetextblock2 foreach name Dbcore if contents name print DBCOREFILE top form document forms 0 elements name value contents name n print DBCOREFILE filetextblock3 print DBCOREFILE lt CENTER gt lt B gt Title Dublin Core Metadata Standard lt B gt lt CENTER gt lt HR gt lt FORM gt Print elements of the standard to HTML file Truncated u 69 it Print FGDC Identification Metadata to file EEE print IDFILE filetextblocki foreach name ldentification if contents name print IDFILE top display level3 document forms 0 elements name value contents name n print IDFILE filetextblock2 foreach name Identification if contents name print IDFILE top form document forms 0 elements name value contents name n
2. 74 Print FGDC Entity Metadata to file print ENFILE filetextblocki foreach Znane Entity if contents name print ENFILE top display level3 document forms 0 elements name value contents name n print ENFILE filetextblock2 foreach name Entity if contents name print ENFILE top form document forms 0 elements N nameV value contents name n print ENFILE filetextblock3 print ENFILE lt CENTER gt lt B gt Title Entity Information lt B gt lt CENTER gt lt HR gt FORM 75 Print elements of the standard to HTML file Truncated He FEE AEH AEE TA SES HH H RE 0 AA Print FGDC Distribution Metadata to file print DBFILE filetextblocki foreach name Distribution if contents name print DBFILE top display level3 document forms 0 elements name value contents name n print DBFILE filetextblock2 foreach name Distribution if contents name L print DBFILE top form document forms 0 elements
3. print Time sec min hour mday mon year wday ydat isdst lt BR gt Getway interface ENV GATEWAY_INTERFACE lt BR gt Server name ENV SERVER_NAME lt BR gt Server software ENV SERVER_SOFTWARE lt BR gt Server protocol ENV SERVER_PROTOCOL lt BR gt Server port ENV SERVER_PORT lt BR gt Request method method lt BR gt Path info ENV PATH INFU lt BR gt Path translated ENV PATH TRANSLATED lt BR gt Script name ENV SCRIPT_NAME lt BR gt Document root ENV DOCUMENT_ROOT lt BR gt Remote host ENV REMOTE HOST lt BR gt Remote addr ENV REMOTE_ADDR lt BR gt Auth type ENV AUTH_TYPE lt BR gt Remote user ENV REMOTE USER lt BR gt Remote ident ENV REMOTE IDENT lt BR gt Content type ENV CONTENT_TYPE lt BR gt Content length n lt BR gt HTTP from ENV HTTP FROM lt BR gt HTTP accept ENV HTTP_ACCEPT lt BR gt HTTP user agent ENV HTTP_USER_AGENT lt BR gt 64 HTTP referer ENV HTTP_REFERER lt P gt lt P gt 3 3ETETETETETERE RETE AA HR Open metadata html and write new file as a link EEE EE open METADATAFILE gt gt MDATA metadata html
4. 3 4 Ontology Storage ss uos mm as R tan Aa G Lal 35 Ontology Creator 2 suda Saar nee Re Er ne 3 6 Ontology Creator Architecture 4 Conclusions and Recommendations Appendix A Metadata Creator 1 Metadata Creator User Manual AGE Installation s adh e eg X drain Reed Ub dE A 1 2 Metadata Creation 4 44 4 44 de ame A 1 3 Known Limitations A 2 Metadata Creator User Interface Code AL Index File index html sos ORC RR Br Ari A 2 2 Display Control File display html ls 4 2 3 Metadata Form metadataform html A 2 4 Available Metadata Files metadata html A 2 5 Metadata Transfer Panel metadata997269361 html A 2 6 Dublin Core Metadata File dbcore997269361 html A 3 Metadata Creator Common Gateway Interface CGI Code B Ontology Creator B 1 Ontology Creator User Manual B L Installabon aria XO A ED ee que done o dent ANG B L2 Ontology Creation lt as Fer NR RR afe pr G Y GN ede B 1 3 Known Limitations B 2 Ontology Creator User Interface Code B 2 1 Browser Interface OntologyApplet html B 2 2 Applet Generator OntologyApplet java B 2 3 Socket Interface Tool OntologyAppletSocket java B 24
5. gt lt script gt lt HEAD gt lt BODY onLoad display BGCOLOR White gt lt CENTER gt lt B gt Poseidon Metadata Creator Dublin Core Metadata Standard lt B gt lt CENTER gt lt HR gt lt FORM gt lt B gt 1 Title lt B gt lt INPUT type text size 40 maxlength 256 name dctitle gt lt BR gt lt B gt 2 Author or Creator lt B gt lt INPUT type text size 40 maxlength 256 name dccreator gt lt BR gt lt B gt 3 Subject and Keywords lt B gt lt INPUT type text size 40 maxlength 256 name dcsubject BR lt B gt 4 Description lt B gt lt INPUT type text size 40 maxlength 256 name dcdescription gt lt BR gt lt B gt 5 Publisher lt B gt lt INPUT type text size 40 maxlength 256 name dcpublisher gt lt BR gt 56 lt B gt 6 Other Contributor lt B gt lt INPUT type text size 40 maxlength 256 name dccontibutor gt lt BR gt B 7 Date lt B gt XINPUT type text size 40 maxlength 256 name dcdate gt lt BR gt lt B gt 8 Resource Type lt B gt XINPUT type text size 40 maxlength 256 name dctype gt lt BR gt lt B gt 9 Format lt B gt lt INPUT type text size 40 maxlength 256 name dcformat gt lt BR gt lt B gt 10 Resource Identifier lt B gt lt INPUT type text size 40 maxlength 256 name dcidentifier gt lt BR gt lt B gt 11 Source lt B gt lt INPUT type text size 40 maxlength 256 name dcsource gt lt BR gt lt B gt 12
6. 5 n 1 t ht Ontology Data from Server Request Add Request Remote Delete Remote Wait for Reply ud AP s Figure 3 5 Poseidon Ontology Creator program flowchart 33 Chapter 4 Conclusions and Recommendations We have implemented a web based software tool to facilitate the creation of an ontology for the marine sciences and coastal zone management by appropriate domain specialists The ontology has a pre defined but expandable multi level hierarchical structure It has been implemented for three levels and partially populated using the creation tool We have also developed a conceptual framework for the metadata used by the Poseidon distributed coastal zone management system This includes provision for two distinct metadata stan dards combined using the Warwick Framework their implementation using object oriented concepts and a scalable distributed architecture for metadata creation storage and search ing We have developed a metadata creation tool that allows distributed users to produce a metadata set conforming to the Poseidon Metadata Structure using a web front end We plan to improve the tool in the future by adding user specified hierarchical browsing and a search mechanism to allow users to find metadata directly on the basis of keyword or value matching without the necessity of manual browsing We have not presented the structure of the Poseidon
7. return creator public boolean action Event event Object arg I if event target instanceof Button if String arg equals 0K creator ID getText trim toLowerCase passwd Passwd getText trim toLowerCase if creator equals creator amp amp passwd equals ontology verified true hide onApplet setCreator Creator else if creator equals knut amp k passwd equals ontologyi I verified true hide onApplet setCreator Dr Knut Streitlien else if creator equals pierre amp amp passwd equals ontology2 verified true hide onApplet setCreator Dr Pierre Elisseeff else if creator equals steve amp amp passwd equals ontology3 verified true hide onApplet setCreator Stephen Abrams 124 else if creator equals pubudu amp amp passwd equals ontology4 verified true hide onApplet setCreator Pubudu Wariyapola else if creator equals nmp amp amp passwd equals ontology5 verified true hide onApplet setCreator Dr N Patrikalakis else resetLoginPanel else dispose T T return true private void resetLoginPanel mbox new MessageBox Invalid Creator ID Password Please Try Again loginPanel removeAll createloginPanel validate public boolean handleEvent Event event if event id Event WINDOW_DESTROY di
8. are required use as a delimiter lt P gt lt B gt lt I gt For Additional help check out lt A HREF http purl oclc org dc target new gt The Dublin Core Metadata Initiative lt A gt homepage or contact us via e mail at lt A HREF mailto poseidon mit edu gt poseidon mit edu lt A gt lt I gt lt B gt lt P gt lt B gt Dublin Core Metadata Standard lt B gt lt BR gt lt P gt 42 BLOCKQUOTE lt FONT SIZE 1 gt Title lt BR gt Author or Creator lt BR gt Subject and Keywords lt BR gt Description lt BR gt Publisher lt BR gt Other Contributor lt BR gt Date lt BR gt Resource Type lt BR gt Format lt BR gt Resource Identifier lt BR gt Source lt BR gt Language lt BR gt Relation lt BR gt Coverage lt BR gt Rights Management lt FONT gt lt BLOCKQUOTE gt lt B gt 1 Title lt B gt lt INPUT type text size 40 maxlength 256 name dctitle gt BLOCKQUOTE FONT SIZE 1 gt The name given to the resource by the creator or publisher lt FONT gt lt BLOCKQUOTE gt lt B gt 2 Author or Creator lt B gt 43 lt INPUT type text size 40 maxlength 256 name dccreator gt lt BLOCKQUOTE gt lt FONT SIZE 1 gt The person or organization primarily responsible for creating the intellectual content of the resource For example authors in the case of written documents artists photographers or illustrators in the case of
9. ArraySort asort OntologyFileIO O ontology new Vector asort new ArraySort public Vector createDntology I String inputFileName PoseidonOntology readOntology inputFileName return ontology public void readOntology String inputFileName String newInputFileName String id null String def null String ref null String pa null Vector child new Vector String childNames int nc 0 int lev 0 142 int nh 0 String creator null Date date null String defHistory null String refHistory null String tempInputFileName StringBuffer newInputFileNameBuf char ch try i File inputFile new File inputFileName txt BufferedReader dbf new BufferedReader new FileReader inputFile id dbf readLine def dbf readLine ref dbf readLine pa dbf readLine lev new Integer dbf readLine intValue nc new Integer dbf readLine intValue childNames new String ncl for int i 0 i lt nc i childNames i dbf readLine child addElement childNames i childNames asort sortArray childNames nh new Integer dbf readLine intValue 143 creator new String nh date new Date nh defHistory new String nh refHistory new String nh for int i 0 i lt nh i creator i dbf readLine date i new Date dbf readLine defHistory i dbf readLin
10. name value contents name n print DBFILE filetextblock3 print DBFILE 76 lt CENTER gt lt B gt Title Distribution Information lt B gt lt CENTER gt lt HR gt lt FORM gt Print elements of the standard to HTML file Truncated mn U ASEA BE Print FGDC Metadata Reference Metadata to file HE EEE HERE HEER EEE EEE HE EEE EEE H HH H HERREN EIER I M print MRFILE filetextblocki foreach name MetadataReference if contents name print MRFILE top display level3 document forms 0 elements name value contents name n print MRFILE filetextblock2 foreach name QMetadataReference if contents name print MRFILE top form document forms 0 elements TT name value contents name n print MRFILE filetextblock3 print MRFILE lt CENTER gt lt B gt Title Metadata Reference Information lt B gt lt CENTER gt lt HR gt lt FORM gt Print elements of the standard to HTML file Truncated n U THH H AE LE Close files close DBCOREFILE close IDFILE close DQFILE close SOFILE close SRFILE close ENFILE 78 close DBFILE close MRFILE exit 0 79 Appendix B Ontology Creator B 1 Ontology Creator User Manual
11. Date Array Table 3 1 Ontology element properties The name and definition fields identify and describe the element while the reference field is used to provide the source of this information scientist creating the definition book or internet resource from which the definition was extracted etc Since terms may have different meanings in different domains the concatenation of an elements lineage the sequence of parents starting at the top level see Section 3 4 and its name allows the element to be uniquely identified The last four properties creator definition reference and date histories are used to maintain a history of the element s creation and modification This is achieved by storing the new definition and reference values along with the name of the user and the date of change Since the tool allows multiple users to access and change the elements of the ontology storing the history is necessary to prevent problems due to loss of data and to 26 resolve conflicts between users it allows us to save any information that may be lost when a user changes an element definition or accidentally deletes part of an element This feature also provides a mechanism with which the domain scientists can see the evolution of the element s definition and collaborate in expanding it while referring back to older versions for consistency and accountability Ultimately if two or more scientists disagree on a definition the differences
12. EAS metadata997p89361 htm1l M metadata YMD Unix Process prefix e o a Identification an t number rte h Metadata File Identifier Figure 2 5 Metadata file identifier structure JavaScript function to the frame used by the metadata form The JavaScript function reloads the page all the frames which by that point has been updated by the Perl script to include the latest information submitted to the server The design of the metadata creator allows the user to browse existing metadata sets and copy any appropriate information to create new metadata The top right frame list shows the list of available metadata sets These metadata sets can be browsed and displayed in the middle right transfer panel and bottom right display frames The transfer panel shows the structure of the metadata set as shown in Figure 2 4 The display frame contains the name value pairs that are the metadata elements of the specific sub set of the standard selected using the transfer panel The transfer panel also allows the user to automatically copy entire sections of metadata from existing files to the metadata form Since metadata for a series of data sets produced by a single user or during a single experiment differ only slightly this feature allows significant time savings for creating metadata Currently existing metadata objects are displayed as a scrollable list As the system continues to grow in size we propose to change this to a
13. TextArea Definition TextArea Reference TextField Level TextField Parent TextField NumChild 84 List Child Vector childrenVector OntologyAppletSocket onsocket InetAddress address DatagramSocket socket null String creator Default Login login boolean verified false public OntologyApplet setLayout new BorderLayout 5 5 ontology new Vector onvect new OntologyVector login new Login this public void init resize 510 800 public void setCreator String newCreator L creator newCreator verified true element onvect findElement ontologyName modifyBottomChildElementPanel Ontology onvect findChildren element elementAt 0 85 modifyTopActionPanel true modifyElementPanel false false createActionPanel Submit Clear false validate public void start try address InetAddress getByName getCodeBase getHost catch UnknownHostException e onsocket new OntologyAppletSocket address onsocket initSocket onsocket createDntology ontology onsocket getOntology onvect storeUntology ontology createGUI private void createGUI element onvect findElement ontologyName hideO removeAll ontologyPanel new Panel ontologyPanel resize 510 400 ontologyPanel setLayout new BorderLayout 5 5 ontologyHoldingPanel new Panel 86 ontologyHoldingPan
14. actionPanel resize 500 50 actionPanel setLayout new GridLayout 2 1 5 5 setLayout new BorderLayout 5 5 resize 500 500 add North new Label labeli Label CENTER int nc element getNumChildren String childNames element getChildren idPanel add new Label Element Name ID new TextField element getID 30 idPanel add ID ID setEditable false elementPanel add North idPanel defPanel add new Label Element Definition Definition new TextArea element getDef 5 60 det Panel add Definition Definition setEditable false defPanel add new Label Reference Source for Definition Reference new TextArea element getRef 5 60 defPanel add Reference Reference setEditable false dataPanel add defPanel addDataPanel add new Label Element Level 128 Level new TextField Integer toString element getLevel 5 addDataPanel add Level Level setEditable false addDataPanel add new Label Parent Parent new TextField element getParent 30 addDataPanel add Parent Parent setEditable false addDataPanel add new Label Number of Children NumChild new TextField Integer toString nc 5 addDataPanel add NumChild NumChild setEditable false dataPanel add addDataPanel elementPanel add Center dataPanel childPanel add new Label Children Label LEFT Child new List 5 false Child enable false if nc 0
15. lt TR gt lt TD COLSPAN 2 gt lt A HREF V DbCore dbcore MetaDataFileld html TARGET level3 gt amp nbsp Dublin Core lt A gt lt TD gt lt TD gt lt input type button name buttondc value Copy onClick copydc gt lt TD gt lt TR gt lt TR gt lt TD COLSPAN 3 gt amp nbsp FGDC lt TD gt lt TR gt foreach MetadataObject MetadataUbjects print METADATAINCIDENCE lt TR gt lt TD gt lt TD gt lt TD gt lt A HREF FGDC MetadataNames MetadataDbject MetadataDbject MetaDataFileld htmlV TARGET level3 gt amp nbsp MetadataNames MetadataDbject lt A gt lt TD gt lt TD gt lt input type button name V button MetadataObject VM value Copy onClick copy MetadataNames Metadata0bject 2 MetadataObject gt lt TD gt lt TR gt 67 print METADATAINCIDENCE lt TABLE gt lt FORM gt lt BODY gt lt HTML gt n 3 close METADATAINCIDENCE Lis SE SE EE IS HH Create new files for Metadata 1 open DBCOREFILE gt gt DBCORE dbcore MetaDataFileId html foreach MetadataDbject Metadata0bjects open MetadataFilesi Metadata biect gt gt FGDC MetadataNames MetadataDbject MetadataObject MetaDataFileId html 1
16. print METADATAFILE lt A HREF V MetaDataFiles metadata MetaDataFileld html TARGET level2 gt Title lt A gt lt BR gt n close METADATAFILE AE Create new file for metadata 1 open METADATAINCIDENCE gt MDATA MetaDataFiles metadata MetaDataFileld html print METADATAINCIDENCE HTML lt HEAD gt 65 script language JavaScript gt lt hide from old browsers function copydc document forms 0 CopyFlag value true top display level3 location href DbCore dbcore document forms 0 MetaDataID value N htmiN function copy directory object document forms 0 CopyFlag value true top display level3 location href FGDC directory object document forms 0 MetaDataID value html function loadID top display level3 location href FGDC Identification id document forms 0 MetaDatalD value X htmlX ff gt lt script gt lt HEAD gt BODY onLoad loadID BGCOLOR White gt lt CENTER gt lt B gt Title lt B gt lt CENTER gt lt HR gt lt FORM gt lt INPUT type hidden name MetaDataID value MetaDataFileld 66 gt lt INPUT type hidden name CopyFlag value false gt lt TABLE BORDER 2 gt
17. top display level3 document forms 0 elements dcformat value Software top display level3 document forms 0 elements dcidentifier 54 value http czms mit edu poseidon software MetadataCreator top display level3 document forms 0 elements dclanguage value English if top display level2 document forms 0 CopyFlag value true 4 copyO top display level2 document forms 0 CopyFlag value false function copy top form document forms 0 elements dctitle value Poseidon Metadata Creator top form document forms 0 elements dccreator value Pubudu Wariyapola top form document forms 0 elements dcsubject value Poseidon Metadata top form document forms 0 elements dcdescription value HTML document with CGI and Java Script enhancements for creating metadata for use in the Poseidon System top form document forms 0 elements dcpublisher value Design Laboratory Dept of Ocean Engineering Massachusetts Institute of Technology top form document forms 0 elements dcdate value 8 26 99 top form document forms 0 elements dctype value HTML document top form document forms 0 elements dcformat value Software top form document forms 0 elements dcidentifier value 55 http czms mit edu poseidon software MetadataCreator top form document forms 0 elements dclanguage value English
18. while true try L receive request buf new byte 8192 packet new DatagramPacket buf 8192 socket receive packet 134 address packet getAddress port packet getPort 1 dart a t ring null dataString new String packet getData catch IOException e if dataString substring 0 11 equals Add Element parseInputString dataString addLocalElement if dataString substring 0 11 equals Del Element parseInputString dataString deleteLocalElement J if dataString substring 0 11 equals Get Element sendOntology public void parseInputString String inputString 1 int startIndex 0 int endIndex 0 String id null String def null String ref null String pa null String childNames 135 int nc 0 int lev 0 int nh 0 String creator Date date String defHistory String refHistory startIndex 12 endIndex inputString index0f startIndex id inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex def inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex ref inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex pa inputString substring startIndex endIndex
19. A Sidiropoulos of the University of Crete Department of Computer Science and ICS FORTH Crete Greece concerning Poseidon and the related Thetis project at their Institute Funding for this work was obtained in part from the U S Department of Commerce NOAA Sea Grant under grant NA86RG0074 the U S National Ocean Partnership Pro gram via ONR grant N00014 97 1 1018 and the MIT Department of Ocean Engineering NATO provided travel funds for exchanges between the Poseidon and Thetis groups under grant number CRG971523 Contents Abstract 2 Acknowledgements 3 Table of Contents 4 List of Figures T List of Tables 8 1 Introduction 9 1 1 Background and Project Overview 1 2 Overview of Related Activities 10 1 3 Problem Statement and Thesis Outline 13 2 Metadata 15 adama 15 2 2 Metadata Standards 16 2 3 Metadata Architecture 16 2 4 Implementation s oc nose ema ee BP a arar TG Ge rer 18 2 5 Metadata Server Architecture 19 2 6 Metadata Creation saa dune Go ae de San GE SR dd GA 20 2 7 Metadata Creation Tools e na lala au taa AD 20 2 8 Poseidon Metadata Creator 21 3 Ontology 25 3 1 Motivation do E ds asset RAN E RENE Ra IST EHE ed 25 3 2 Marine Ontology 3 3 Poseidon Ontology Structure
20. B 1 1 Installation The Poseidon Ontology Creator has been written completely in Java as an applet and application daemon It has a graphical user interface that can run on a standard Java enabled web browser an application back end running on the Poseidon server and a socket connection to communicate between the two Tn order to install the ontology creator the server address port number and the name of the ontology have to be included in the code and the code needs to be recompiled to run on the selected platform The port number must be entered as the listenport in DataServerThread java and the port in ontologyAppletSocke java The server address has to be entered in DataServerThread constructor in DataServer Thread java The ontology name must be listed in OntologyFilelO java as inputFileName and in Ontology Applet java as ontologyName In order to provide edit access to the ontology create username password pairs by editing Login java as necessary Once the above files have been edited and all the source code files of the Ontology Creator Ontology Applet Ontology AppletSocket Login MessageBox DataServer DataServerThread OntologyFileIO Ontology Ontology Vector and ArraySort have been compiled create a di rectory called Ontology GUT and copy the Ontology Applet Ontology AppletSocket Login MessageBox Ontology OntologyVector and ArraySort classes to this directory Also
21. String tempDefHistory new String 1 tempDefHistory 0 tempDef String tempRefHistory new String 1 tempRefHistory 0 tempRef element new Dntology tempID tempDef tempRef tempParent tempChild O tempLevel 1 tempCreator tempDate tempDefHistory tempRefHistory onsocket processRemoteAddChild element false onvect addVectorElement element onvect deleteVectorElement parentElement parentElement addChild tempID onvect addVectorElement parentElement 106 if element getLevel 21 element parentElement modifyBottomChildElementPanel element modifyTopActionPanel true else modifyOntologyPanel ontologyName modifyElementPanel false false createActionPanel Submit Clear false validate private void clearAddChild modifyElementPanel true true validate private void editElement modifyTopActionPanel false modifyElementPanel true false ID setEditable false createActionPanel Accept Changes Reset Values Cancel true validate private void processEditElement String tempID element getID 107 String tempDef Definition getText trim replace n String tempRef Reference getText trim replace n char ch Character Ch Frame messageBox if lelement getDef 0 equals tempDef element getRef equals tempRef if lelement getDef equals tem
22. actionPanel show public boolean handleEvent Event event if event target instanceof List List list List event target if event id Event LIST SELECT int listIndex Integer event arg intValue boolean editable true if list getItem listIndex equals None element onvect findElement ontologyName childrenVector onvect findChildren element for int i 0 i lt childrenVector size i 4 if bottomChildLabel getText equals Ontology childrenVector elementAt i getID 4 element Ontology childrenVector elementAt i childrenVector onvect findChildren element element Ontology childrenVector elementAt listIndex 100 T else L element new Ontology editable false modifyTopActionPanel editable modifyElementPanel false false if event id Event WINDOW DESTROY 1 System exit 0 return super handleEvent event public boolean action Event event Object arg if event target instanceof Button if String arg equals Login login new Login this return true if String arg equals Add Child if verified addChildO return true if String arg equals Submit if verified processAddChild 101 return true T if String arg equals Clear if verified clearAddChild return true if String arg equals Edit Element if verified editElement return
23. is not suited to handle the biological aspects of many ocean processes and is too cumbersome for documents The FGDC Biological Data Profile is only an extension of the CSDGM and is only relevant in that context Even though we did not find any one standard that was sufficient for our needs we still decided to adopt existing standards to avoid duplicating the extensive amount of work that has already gone into their development We also wanted a format that will be widely accepted and implemented so that we can use data sets that are available on line such as MEL without requiring any additional work from the producers of the data to create new sets of metadata We have therefore selected the FGDC standard for geospatial metadata along with its biological profile as part of the overall Poseidon metadata standard Since this metadata set is quite extensive we felt that it are not quite appropriate for describing text documents which require only a small subset of the descriptive information compared with scientific data Since the Dublin Core metadata standard was developed expressly for the purpose of describing text documents we have decided to include it in our overall metadata set 2 3 Metadata Architecture We have implemented these two distinct standards Dublin Core and FGDC CSDGM with its Biological Profile extensions using the expandable container structure developed in the 16 Warwick framework 28 The Warwick Frame
24. more efficient creation of new metadata sets Metadata metadata html MetadataFiles metadata9810310911 html metadata9810310934 html DublinCore dc9810310911 html dc9810310934 html Identification id9810310911 html id9810310934 html FGDC fgdc9810310911 html fgdc9810310934 html DataQuality dq9810310911 html dq9810310934 html Spatial Organization so9810310911 html so9810310934 html Figure 2 3 Directory based metadata storage structure 2 5 Metadata Server Architecture When the system is fully implemented the metadata will be stored and accessed using a regional client server architecture All metadata will be duplicated at each regional server allowing for scalability 50 fault tolerance 15 47 48 and load balancing 18 33 19 within the system Individual metadata objects are indexed at the time they are created the full metadata collection is indexed daily using an automatic indexer This allows the system to access all data as metadata is created and to stay current by eliminating obsolete information All searching will be performed on the indices Once a match has been found the entire metadata record and its associated data file can be accessed While the full range of capabilities of the search tool have not yet been defined we expect that all the metadata fields will be searchable using exact text matching and numerical range matching We are also
25. print IDFILE filetextblock3 print IDFILE lt CENTER gt lt B gt Title Identification Information lt B gt lt CENTER gt lt HR gt lt FORM gt 70 Print elements of the standard to HTML file Truncated n U EEA Print FGDC Data Quality Metadata to file AA AETAT ATI AI TH print DQFILE filetextblocki foreach name DataQuality if contents name print DQFILE top display level3 document forms elements name value contents name n print DQFILE filetextblock2 foreach name DataQuality if contents name print DQFILE top form document forms 0 elements name value contents name n print DQFILE filetextblock3 7i print DQFILE lt CENTER gt lt B gt Title Data Quality Information lt B gt lt CENTER gt lt HR gt lt FORM gt Print elements of the standard to HTML file Truncated te U 8 Print FGDC Spatial Data Organization Metadata to file 1 print SOFILE filetextblocki foreach name SpatialOrganization if contents name print SOFILE top display level3 document forms 0 elemen
26. 8 simulation i o i analysis software scientific O encapsulated results object resources ORB documents text image audio video legacy resources native P a O distributed data search retrieval and software 3 execution www browser Poseidon user interface Poseidon services 0 t ju atdin C model mgmt system metadata creation standard visualization statistical analysis etc data raw M Am TIN TEE TT TEE acquisition marine modalities data search retrieval data translation CORBA authentication accounting Figure 1 1 Poseidon architecture 11 To provide a uniform standard for describing geospatially referenced data the U S gov ernment established the Federal Geographic Data Committee FGDC under the aegis of the National Spatial Data Infrastructure NSDI initiative 11 resulting in the Content Standard for Digital Geospatial Metadata CSDGM 19 CSDGM defines over 250 in dividual properties organized into seven categories 1 Identification 2 Data Quality 3 Spatial Data Organization 4 Spatial Reference 5 Entity and Attribute 6 Dis tribution and 7 Metadata Reference The CSDGM is used as the basis for interactive web based search and retrieval for the Defense Modeling and Simulation Office s Master Environmental MEL service 35 36 The U S Geological Survey s Biological Resources Division BRD has created a Biological
27. Distributed Information System for Coastal Zone Man agement MIT Joint Ocean Engineer and M S in Ocean Systems Management thesis May 1999 lt http czms mit edu poseidon publication gt H Phillips Metadata tools for geospatial data October 24 1998 lt http badger state wi us agencies wlib sco metatool mtools htm gt Poseidon A Distributed Information System for Ocean Processes lt http czms mit edu poseidon gt D K Pradhan and N H Vaidya Roll Forward and Rollback Recovery Performance Reliability Trade Off In Proceedings of 24th International Symposium on Fault Toler ant Computing Austin TX June 1994 B Randell System Structure for Software Fault tolerance IEEE Transactions on Software Engineering Volume 1 Number 2 pp 221 232 June 1975 M Roszkowski and C Lukas A distributed architecture for resource discovery using metadata D Lib Magazine June 1998 lt http www dlib org dlib june98 scout 06roszkowski html gt M Satyanarayanan Scalable Secure and Highly Available Distributed File Access IEEE Computer Volume 23 Number 5 pp 9 21 May 1990 165 51 P Schweitzer Format metadata info and tools United States Geological Survey November 6 1998 lt http geology usgs gov tools metadata gt 52 THETIS A data management and data visualization system for supporting coastal zone management for the Mediterranean Sea Institute of Computer Science Founda tion fo
28. Event event Object arg if event target instanceof Button if String arg equals OK hide return true public boolean handleEvent Event event if event id Event WINDOW_DESTROY dispose 131 T return super handleEvent event 132 B 3 Ontology Creator Server Daemon Code B 3 1 Server Startup Code DataServer java import java io import java net import java util class DataServer public static void main String args 1 new DataServerThread start B 3 2 Server Thread Generator DataServerThread java import import import import import import java java java java java java io awt util applet net lang class DataServerThread extends Thread 1 private DatagramSocket socket null DatagramPacket packet InetAddress address int listenport 8020 int port byte buf String dataString 133 OntologyVector onvect OntologyFileIO onfile Ontology element Ontology parent Element DataServerThread super DataServer t y L address InetAddress getByName deslab mit edu catch UnknownHostException e try L Socket new DatagramSocket listenport address catch java io IO0Exception e onvect new OntologyVector onfile new OntologyFilel0 onvect store ntology onfile createOntology O public void run if socket null return
29. Language lt B gt lt INPUT type text size 40 maxlength 256 name dclanguage gt lt BR gt lt B gt 13 Relation lt B gt lt INPUT type text size 40 maxlength 256 name dcrelation gt lt BR gt lt B gt 14 Coverage lt B gt lt INPUT type text size 40 maxlength 256 name dccoverage gt lt BR gt lt B gt 15 Rights Management lt B gt lt INPUT type text size 40 maxlength 256 name dcrights gt lt FORM gt lt BODY gt 57 lt HTML gt 58 A 3 Metadata Creator Common Gateway Interface CGI Code The Poseidon Metadata Creator User Interface submits data to a Perl script running on the Poseidon Server This script parse pl parses and stores the incoming data as HTML documents with Javascript enhancements in the Poseidon Server and reloads the User Interface page using a Javascript function Much of this code consists of the HTML sections that are needed to format the User Interface and have been truncated for readablity usr bin perl FREER HHH EEE HH HH HEHEHE HEHEHE AE HE HE HE HE HE HE AE HE HE EEE HEHEHE HH HH HEHE HE HEH HH HEHE HE HE HE HE HE HH Initialize Variables Form http czms mit edu poseidon software MetadataCreator MDATA var www htdocs poseidon software MetadataCreator MetaData FGDC var www htdocs poseid
30. Login Tool Logingava az Gu l 34 36 36 36 36 37 38 40 40 40 41 50 50 54 59 B 3 B 4 B 5 B 2 5 Messaging Window Tool MessageBox java 126 Ontology Creator Server Daemon Code 133 B 3 1 Server Startup Code DataServer java 133 B 3 2 Server Thread Generator DataServerThread java 133 B 3 3 File Interface Tool OntologyFilelO java 141 Ontology Creator Utility Code 149 B 4 1 Ontology Element Object Ontology java 149 B 4 2 Ontology Vector Object OntologyVector java 155 B 4 3 String Array Sorting Utility ArraySort java 158 Ontology Element File Acoustical txt 158 List of Figures 1 1 Poseidon architecture a ho UE en B rd KE Se EC 11 2 1 Metadata standard architecture 17 2 2 Conceptual object oriented metadata framework 18 2 3 Directory based metadata storage structure 19 2 4 Poseidon Metadata Creator design architecture 21 2 5 Metadata file identifier structure 22 2 6 Poseidon Metadata Creator user interface 24 3 1 Poseidon Ontology structure 27 3 2 Storage format of an ontology element 28 3 3 Po
31. Metadata Server in much detail here While we anticipate it to be implemented within a regional client server architecture much work needs to be done before we can complete the system design There are many issues that need to be resolved in this context Will the metadata be replicated at each site How will we guarantee the accuracy of the metadata during transfer and storage How will the metadata be indexed How will it be searched These are only a small subset of the work that needs to be done before the metadata server can be implemented While we have attempted to build tools that will be able to perform the expected 34 functions we have not attempted to guarantee their robustness in high traffic situations We have identified some possible failure conditions and have presented them in the appendices see Appendices A 1 3 and B 1 3 In order for the tools developed as a part of this thesis to be used in commercial or high traffic applications these possible problems have to be rectified Further work will be needed to this end The metadata tool is most relevant to the creation of metadata for small sets of ex perimental data or for legacy data sets It may not be appropriate for metadata for data sets produced by real time automated sensors Rather than use an interactive system the metadata for such data should be produced in as automated a fashion as is possible by the data acquisition system itself To date we have focused our e
32. been installed at the Department of Ocean En gineering at MIT and is accessible via the Poseidon web page at lt http czms mit edu poseidon gt to authorized users A 1 2 Metadata Creation The new metadata can be manually entered using the metadata form The form contains all fifteen element of the Dublin Core standard as well as all the non recursive elements of the FGDC content standard for digital geospatial metadata We suggest using the Dublin Core standard to describe mostly document like resources while the FGDC standard is more appropriate for scientific data generated from geospatially distributed experiments the FGDC standard can be used to create metadata for documents but is not optimally suited to this purpose The user may provide metadata for either or both standards but is responsible for the consistency of the information so furnished All elements of the Dublin Core standard are optional The elements of the FGDC standard are listed and color coded as either mandatory red mandatory if applicable green or optional brown The form is equipped with internal hyper links to allow the user to easily navigate around the fields bypassing inapplicable sections Sections where not all fields are required for completeness or where only a certain subset of the fields should be used for compatibility with the requirements of the standard are clearly described in the metadata form In order to improve the efficiency in creating
33. edit and delete elements If the user does not log in or log in fails the system allows browsing of the existing ontology but does not permit its modification The user can browse the ontology by graphically selecting the sections and elements of interest If the user wants to add an element the system creates a new element template and allows the user to input the name definition and reference source for the element the rest of the properties are automatically created based on the parent category of the element being created The user must select the category to which the element must belong before requesting to add an element Once the user has entered the necessary information 30 the system checks its validity checks for control characters and ensures that the name and definition fields are filled creates an element and links it to the existing ontology by modifying the child information contained within its parent The user interface then submits a request through the socket to the server requesting the information be updated at the server Similarly the user can edit an element by selecting it and requesting the desired function if authorized The interface then allows the user to change the definition and reference fields but not the name and again verifies the validity of the information before processing the request The edit function is performed by copying the data in the current element to temporary locations deletin
34. element getID topChildElement i setBackground Color gray else topChildElement i setBackground Color lightGray else L topElement setBackground Color lightGray for int i 0 i lt topChildElement length i topChildElement i setBackground Color lightGray int nc element getNumChildren String childNames element getChildren 94 elementPanel removeAll idPanel removeAll idPanel add new Label Element Name ID new TextField element getID 30 idPanel add ID ID setEditable edit elementPanel add North idPanel dataPanel removeAll defPanel removeAll defPanel add new Label Element Definition Definition new TextArea element getDef 5 60 defPanel add Definition Definition setEditable edit defPanel add new Label Reference Source for Definition Reference new TextArea element getRef 5 60 defPanel add Reference Reference setEditable edit dataPanel add defPanel addDataPanel removeAll addDataPanel add new Label Element Level Level new TextField Integer toString element 95 getLevelO 5 addDataPanel add Level Level setEditable false addDataPanel add new Label Parent Parent new TextField element getParent 30 addDataPanel add Parent Parent setEditable false addDataPanel add new Label Number of Children NumChild new TextField Integer toString nc 5 addD
35. for int i 0 i lt nc i Child addItem childNames i else Child addItem None childPanel add Child 129 elementPanel add South childPanel add Center elementPanel actionPanel add new Label label2 Label CENTER actionPanel add new Button 0K add South actionPanel show MessageBox String labeli Ontology element setLayout new BorderLayout 5 5 Panel historyPanel historyPanel new Panel historyPanel setLayout new GridLayout element getNumHistory 1 3 5 5 add North new Label labeli Label CENTER int nh element getNumHistory String creator element getCreator Date date element getDate String defHistory element getDefHistory String refHistory element getRefHistory if nh 0 historyPanel add new Label Creator Label CENTER historyPanel add new Label Date Label CENTER 130 historyPanel add new Label Definition Label CENTER historyPanel add new Label Reference Label CENTER for int i 0 i nh i historyPanel add new Label creator i historyPanel add new Label date i toString historyPanel add new TextArea defHistory il 3 30 historyPanel add new TextArea refHistory il 3 30 add Center historyPanel else 4 add Center new Label No Creation History Label CENTER add South new Button 0K packO show public boolean action
36. gitano mit edu Dublin Core Metadata Standard Title Author or Creator Subject and Keywords Description 4 Publisher Other Contributor Date Resource Type Format Resource Identifier Source Language Relation Available Metadata Files Poseidon Metadata Creator Chapter 3 Ontology 3 1 Motivation An ontology is a formal model of the entirety of abstract characteristics and properties that are applicable to all possible specific instances of entities existing within a problem domain 6 7 We conceptualize an ontology as a controlled formal vocabulary While metadata allows us to search for data using auxiliary information in order for this search to yield accurate results we need to have a consistent language that can be used by both the creators and the users of the metadata If we can find or create such a language it can be implemented as a controlled vocabulary within the metadata creator and the metadata search tool to allow consistency in defining and searching Thus a common ontology ensures consistency of meaning between information providers and information consumers 3 2 Marine Ontology Our research has not provided us with an ontology for the marine sciences and coastal zone management that is broad enough to encapsulate all or even most of the informa tion found in the data sets that we envision In this absence we are creating just such a re
37. ocean floor to the use of SONAR to locate schools of fish underwater vehicles and ocean drifters to the most recent applications of acoustic tomography to infer large scale properties of the ocean and the ocean floor http www ocean tamu edu baum paleo paleogloss 160 Bibliography 1 2 3 4 American Library Association ALCTS LITA RUSA Machine Readable Bibliographic Information Committee The USMARC formats Background and principles Library of Congress Network Development and MARC Standards Office Washington DC November 1996 lt http lcweb loc gov marc 96principl html gt ARC INFO Document aml ESRI Software Redlands CA July 14 1998 http www esri com software arcinfo docaml721 html gt T Baker Languages for Dublin Core D Lib Magazine December 1998 lt http www dlib org dlib december98 12baker html gt Biological data profile of the content standard for digital geospatial metadata Federal Geographic Data Committee Standards Working Group and USGS Bio logical Resources Division August 31 1998 lt http www fgdc gov standards documents standards biodata bioprofi pdf gt T Bray J Paoli and C M Sperberg McQueen Extensible Markup Language XML 1 0 World Wide Web Consortium Recommendation February 10 1998 lt http www w3 org TR REC xml gt M Bunge Treatise on Basic Philosophy Vol 3 Ontology I The Furniture of the World Reidel Boston 1977 M Bunge T
38. parentElement getChildren i equals tempID messageBox new MessageBox Element Already Exists Please choose new Element Name or edit existing element parentElement ID selectAll return if Character isDigit tempID charAt 0 104 ID selectAll messageBox new MessageBox Invalid Element Name First character Must be a letter return for int i 0 i lt tempID length i ch tempID charAt i if Character isLetter rDigit ch Character isSpace ch ID selectAll messageBox new MessageBox Invalid Element Name Use alphanumeric characters only return for int i 0 i lt tempDef length i 1 Ch new Character tempDef charAt i if Ch equals new Character Definition selectAll messageBox new MessageBox Invalid Element Definition Cannot use Character return for int i 0 i lt tempRef length i Ch new Character tempRef charAt i if Ch equals new Character Reference selectAll messageBox new MessageBox Invalid Element 105 Reference Cannot use Character return T String tempParent parentElement getID int tempNC 0 int tempLevel parentElement getLevel 1 String tempChild null Calendar cal Calendar getInstance String tempCreator new String 1 tempCreator 0 creator Date tempDate new Date 1 tempDate 0 cal getTime
39. poseidon mit edu gt lt INPUT type hidden name sort value order dctitle dccreator dcsubject dcdescription dcpublisher dccontibutor dcdate dctype dcformat dcidentifier dcsource dclanguage dcrelation dccoverage dcrights riginator pubdate pubtime Title edition geoform SerieName Isson pubplace publish othercit onlink line truncated lt INPUT type hidden name subject value Poseidon Metadata gt lt BR gt lt CENTER gt lt H1 gt Poseidon Metadata Standard lt H1 gt lt CENTER gt lt P gt lt HR gt lt P gt 41 The Poseidon Metadata Standard is an extensible combination of the A HREF DublinCore gt Dublin Core Metadata Standard lt A gt for documents and the A HREF FGDC gt FGDC Content Standard for Digital Geospatial Metadata A and its Biological Profile the elements of the Biological Profile have not been implemented in this version of the Metadata Creator The user may complete one or both standards as required We recommend using the Dublin Core standard when describing document like objects and the FGDC standards for scientific data sets from geospatially distributed experiments lt P gt lt A Name DublinCore gt lt A gt lt HR gt lt P gt lt CENTER gt lt H2 gt Dublin Core Metadata Standard lt H2 gt lt CENTER gt lt P gt lt HR gt lt P gt lt I gt Notes lt I gt All fields of the Dublin Core Metadata Standard are optional When multiple instances of a field dates keywords etc
40. stores the new and modified elements on the Poseidon server and displays them via the Java user interface Only authenticated users with editor privileges can delete an element 3 6 Ontology Creator Architecture The two parts of the Ontology Creator User interface and Server are written as two inde pendent systems They communicate through an asynchronous bi directional Java socket connection 9 10 39 The Ontology Server reads the ontology data stored in the flat file structure described above see Section 3 4 opens a socket and waits for a request from a client see Appendix B 3 All the information must pass through the Ontology Server since the Java language currently does not allow applets to write directly to files In order for the client Ontology GUI to be able to connect to the Server it must know the host name and the port number for the server socket This information is included in the user interface code The user interface consists of the applet containing the Ontology Browser see Figure 3 4 and the code required to log in to the system communicate with the server and modify the existing ontology both the local copy and the remote master copy on the server see Appendix B 2 Once the interface is opened in a Java enabled browser it creates the display and requests the user to log in to the system Once the user successfully logs in the interface enables a series of functions reserved for authorized users add
41. true if String arg equals Accept Changes if verified processEditElement return true T if String arg equals Reset Values if verified resetEditElement return true if String arg equals Delete Element if verified deleteElement return true if String arg equals Delete 1 if verified processDeleteElement return true 102 if String arg equals Cancel if verified cancelCommand return true H if String arg equals Show History if verified showHistory return true element onvect findElement String arg if element getLevel 0 modifyBottomChildElementPanel element modifyTopActionPanel true modifyElementPanel false false createActionPanel Submit Clear false validate return true private void addChild parentElement element element new Ontology parentElement getID parentElement getLevel 1 103 modifyTopActionPanel false modifyElementPanel true true createActionPanel Submit Clear Cancel true validate T private void processAddChild O1 String tempID ID getText trimO String tempDef Definition getText trim replace n t String tempRef Reference getText trim replace n m char ch Character Ch Frame messageBox for int i 0 i lt parentElement getNumChildren i if
42. visual resources lt FONT gt lt BLOCKQUOTE gt lt B gt 3 Subject and Keywords lt B gt lt INPUT type text size 40 maxlength 256 name dcsubject gt lt BLOCKQUOTE gt lt FONT SIZE 1 gt The topic of the resource Typically subject will be expressed as keywords or phrases that describe the subject or content of the resource The use of controlled vocabularies and formal classification schemas is encouraged lt FONT gt lt BLOCKQUOTE gt lt B gt 4 Description lt B gt lt INPUT type text size 40 maxlength 256 name dcdescription gt lt BLOCKQUOTE gt lt FONT SIZE 1 gt textual description of the content of the resource including abstracts in the case of document like objects or content descriptions 44 in the case of visual resources lt FONT gt lt BLOCKQUOTE gt lt B gt 5 Publisher lt B gt lt INPUT type text size 40 maxlength 256 name dcpublisher gt lt BLOCKQUOTE gt lt FONT SIZE 1 gt The entity responsible for making the resource available in its present form such as a publishing house a university department or a corporate entity lt FONT gt lt BLOCKQUOTE gt lt B gt 6 Other Contributor lt B gt lt INPUT type text size 40 maxlength 256 name dccontibutor gt BLOCKQUOTE lt FONT SIZE 1 gt A person or organization not specified in a CREATOR element who has made significant intellectual contributions to the resource but whose contribution
43. will be clearly displayed in the element history and will provide a focal point for discussion among them to resolve their differences the scientists will have to collaborate on resolving these differences since we do not provide editorial mediation The history mechanism will also afford us a degree of protection and robustness by safeguarding against loss of information due to vandalism or other means 3 4 Ontology Storage In our prototype implementation the objects are stored in flat files in directories corre sponding to the vocabulary structure illustrated in Figure 3 1 The depth of this hierarchy is currently limited to three levels to enable a broad structure that can be navigated easily in future releases we will increase the depth in order to accommodate growth and enhance visual browsing Acoustical Oceanography Biological Oceanography decibel Chemical Oceanography hydrophone Geological Oceanography Poseidon Ontology Management Optical Oceanography Physical Oceanography Regulatory Figure 3 1 Poseidon Ontology structure Acoustical The study of sound propagation in the ocean and its underlying sediments This ranges from the earliest use of depth soundings to chart the ocean floor to the use of SONAR to locate schools of fish underwater vehicles and ocean drifters to the most recent applications of acoustic tomography to infer large scale properties of the ocean and the ocean floor Re
44. 36 37 ia 38 39 40 aklion Crete Greece September 1998 lt http dienst csi forth gr 80 Dienst UI 2 0 Describe ercim forth ics TR98 0229 gt R Lasher and D Cohen A format for bibliographic records RFC 1807 June 1995 lt file nic merit edu documents rfc rfc1807 txt gt O Lassila Introduction to RDF metadata W3C Note 1997 11 13 Cambridge MA November 1997 lt http www w3 org TR NOTE rdf simple intro 971113 html gt W E Leland and T J Ott Load Balancing Heuristics and Process Behavior Joint Conference on Computer Performance Modelling Measurement and Evaluation Greensborough NC May 1986 B M Leiner The NCSTRL approach to open architecture for the confederated digital library D Lib Magazine December 1998 lt http www dlib org dlib december98 leiner 12leiner html gt Master Environmental Library lt http mel dmso mil gt Master Environmental Library MEL technical reference guide characteristics and performance version 1 1 Defense Modeling and Simulation Office Washington DC December 17 1998 lt http mel dmso mil docs trg trg html gt Metadata form the easy way Texas Mexico Borderlands Data and Information Center Austin TX October 17 1997 lt http www bic state tx us BICenglish explanation htm gt E Miller An introduction to the Resource Description Framework D Lib Magazine May 1998 lt http www dlib org dlib may98 miller 05miller h
45. Data Profile of the CSDGM as part of the National Biological Information Infrastructure NBII Metadata Standard 4 The Biological Profile recently completed its public review stage Additional geophysical based metadata efforts are also underway including NASA s Global Change Master Directory 22 a MEL like service that uses the CSDGM compatible Directory Interchange Format DIF the NASA sponsored EOSDIS project 16 for dissem inating satellite remote sensing data and the Unidata project 54 for disseminating mete orological data Geophysical metadata will be central to the Thetis project 25 26 40 52 underway at ICS FORTH Crete Greece and several other European research institutes see lt http www ics forth gr pleiades THETIS thetis html gt The Thetis system is in tended to interconnect distributed collections of heterogeneous scientific data repositories geographic information systems simulation codes and visualization tools via the Internet and the WWW These data repositories are used for the management of coastal zones of the Mediterranean Sea There are several ongoing research efforts that have developed metadata creation tools for use in data warehousing and distribution 45 The X TME metadata editor MP meta data parser and CNS metadata pre processor 51 developed by the U S Geological Survey are stand alone tools that can be installed on a variety of operating platforms to allow the user to create CSDGM metad
46. Element i new Button childNames i topChildElementPanel add topChildElement i topChildElementPanel show modif yBottomChildElementPanel Ontology onvect findChildren element elementAt 0 modifyTopActionPanel true 90 private void createBottomChildElementPanel Ontology childElement 4 String childNames element childElement bottomChildElementPanel removeAll bottomChildElementPanel setLayout new BorderLayout 5 5 bottomChildLabel new Label element getID Label CENTER bottomChildElementPanel add North bottomChildLabel bottomChildElement new List 10 false childNames element getChildren if element getNumChildren gt 0 for int i 0 i lt element getNumChildren i bottomChildElement addItem childNames i T Jelse bottomChildElement addItem None bottomChildElementPanel add Center bottomChildElement private void modifyBottomChildElementPanel Ontology childElement String childNames int nc 91 element childElement nc element getNumChildren childNames element getChildren bottomChildLabel setText element getID bottomChildElement delltems 0 bottomChildElement countItems 2195 if nc 0 for int i 0 i lt nc i bottomChildElement addItem childNames il else bottomChildElement addItem None private void createTopActionPanel boolean editable topActionPane
47. Names nc lev nh creator date defHistory refHistory public void sendOntology send response Vector ontology onvect getOntology for int i 0 i lt ontology size i 4 element Ontology ontology elementAt i dataString null dataString new String Element element getID element getDef element getRef element getParent element getLevel element getNumChildren for int j 0 j lt element getNumChildren j dataString dataString concat element getChildren j 138 dataString dataString concat element getNumHistory 90 for int j 0 j lt element getNumHistory j dataString dataString concat element getCreator j dataString dataString concat element getDate j toString dataString dataString concat element getDefHistory j dataString dataString concat element getRefHistory j if i ontology size 1 dataString dataString concat done else dataString dataString concat more try L buf dataString getBytes packet new DatagramPacket buf buf length address port socket send packet catch IOException e public void addLocalElement String id element getID 139 String pa element getParent parentElement onvect findElement pa onvect addVectorElement elem
48. Parent OntologyLevel OntologyNumChildren System out println Creation History System out println Num History OntologyNumHistory for int i 0 i lt DntologyNumHistory it System out printin OntologyCreator i System out printin OntologyDate i toString public String getID return this DntologylD public String getDef return this OntologyDef public String getRef O1 return this ntologyRef public String getParent 4 return this OntologyParent public int getLevel return this OntologyLevel public int getNumChildren return this OntologyNumChildren 152 public String getChildren return this OntologyChild public int getNumHistory O1 return this OntologyNumHistory public Date getDateOt return this ntologyDate public String getCreator return this ntologyCreator public String getDefHistory return this DefHistory public String getRefHistory O1 return this RefHistory public void addChild String childID ArraySort asort new ArraySort if OntologyNumChildren 0 OntologyChild new String 1 OntologyChild O childID 153 OntologyNumChildren 1 else String tempChild OntologyChild OntologyChild new String OntologyNumChildren 1 System arraycopy tempChild O OntologyChild 0 OntologyNumChildren OntologyChild OntologyNumChildren childID OntologyChild asort sortArray Ontolo
49. Towards an Ontology and Metadata Structure for a Distributed Information System for Coastal Zone Management by Pubudu C Wariyapola B A Physics 1994 Franklin and Marshall College Lancaster PA M S Electrical Engineering 1995 University of Rochester Rochester NY Submitted to the Department of Ocean Engineering in partial fulfillment of the requirements for the degree of Master of Science in Ocean Engineering at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY September 1999 Massachusetts Institute of Technology 1999 All rights reserved e t of Ocean Engineering September 7 1999 Nicholas M Patrikalakis Kawasaki Professor of Engineering Thesis Supervisor Department of Ocean Engineering 2700 Accepted by see A Nicholas M Patrikalakis Kawasaki Professor of Engineering Chairman Department Committee on Graduate Students IIDDADITO Towards an Ontology and Metadata Structure for a Distributed Information System for Coastal Zone Management by Pubudu C Wariyapola Submitted to the Department of Ocean Engineering on September 7 1999 in partial fulfillment of the requirements for the degree of Master of Science in Ocean Engineering Abstract The strong new emphasis in understanding and using the oceans and especially coastal oceans has created a need for a clearinghouse of information pertaining to the many physi cal biological geological chemic
50. a The Nordic metadata project Final report July 1998 lt http linnea helsinki fi meta nmfinal htm gt C Houstis C Nikolaou M Marazakis N M Patrikalakis J Sairamesh and A Thomasic THETIS Design of a data management and data visualization system for coastal zone management of the Mediterranean sea D lib Magazine November 1997 lt http www dlib org dlib november97 thetis 11thetis html gt C Houstis C Nikolaou S Lalis S Kapidakis V Christophides E Simon and A Thomasic Towards a next generation of open scientific data repositories and ser vices CWI Quarterly Centrum voor Wiskunde en Informatica 12 2 1999 To appear http dienst csi forth gr 80 Dienst UI 2 0 Describe ercim forth ics TR98 02195 Java technology home page June 16 1998 lt http www javasoft com gt C Lagoze The Warwick Framework A container architecture for aggregating sets of metadata D Lib Magazine July August 1996 lt http www dlib org dlib july96 lagoze 07lagoze html gt C Lagoze and J Davis Dienst an architecture for distributed document libraries Communications of the ACM Volume 38 Number 4 pp 47 48 April 1995 S Lalis C Houstis and V Christophides Exploring knowledge for the interactive specification of scientific workflows Technical Report FORTH ICS TR 229 Insti tute of Computer Science Foundation for Research and Technology Hellas Her 163 32 33 34 35
51. al and other processes that affect the ocean Therefore we are currently developing such a system using a distributed software and data architecture to provide access to a wide variety of information resources for Coastal Zone Management The Poseidon Coastal Zone Management System as our project is known will allow distributed users to locate retrieve utilize in simulations and analysis and visualize information in order to observe ocean processes conduct scientific research and develop management and regulatory framework for utilizing and protecting the ocean resources The work described in this thesis concentrates on the issues related to efficiently iden tifying and creating the data needed for a given task Since scientific data sets often do not contain information about the environment in which the data was obtained we need a method of distinguishing data based on external information or metadata This metadata needs to be standardized in order to facilitate searching While many metadata standards exist no one of them is adequate for representing all the information needed for coastal zone management We have therefore implemented a method that incorporates two exist ing metadata standards in an expandable object oriented structure known as the Warwick Framework Furthermore since metadata is expensive and tedious to produce we have developed a web based software tool that simplifies the process and reduces the storage of redundant
52. arly the available software tools will be accessed in a service oriented mode 8 running on remote hosts The organizations and scientists that created these tools retain full ownership and control of the software The Poseidon front end consists of an executive system deployed as a Java applet 27 downloaded to a standard Java enabled web browser see Figure 1 1 This executive system supports user authentication searching for and retrieving distributed data and software re sources creating workflows and supervising their execution The Poseidon server interacts with distributed resources using the CORBA Common Object Request Broker Architec ture protocol 23 CORBA was selected because of its wide acceptance and its proven ability to facilitate cross language cross platform integration All distributed resources in the Poseidon system are encapsulated as CORBA compliant objects The creation of CORBA wrappers for legacy systems is performed in collaboration with the owners of those resources 1 2 Overview of Related Activities In order to search and locate data relevant to a particular task we need an accurate de scription of that data Many of the resources used in the Poseidon system are scientific data and simulation results that do not contain within themselves adequate information for accurate identification Thus we need a method of capturing and storing this information or metadata data about data external to the
53. ata translate from unformatted to CSDGM format and ver ify metadata conformance to the CSDGM standard The BIG BIC Metadata Form 37 created by the Texas Mexico Borderlands Information Center BIC allows users to create and submit metadata for their resources to the BIC data clearinghouse using an HTML form based web interface implementing CSDGM The Nordic Metadata Creator 24 uses a 12 similar web based approach for creating Dublin Core metadata Several other research projects related to the aims of Poseidon are of interest The ISAAC Internet Scout project 49 at the University of Wisconsin Madison has developed tools for the transparent query of access to and visualization of information in on line data repositories using bibliographic metadata The TSIMMIS project 21 53 at Stanford University is developing a system to access distributed data sources Both the ISAAC and TSIMMIS projects however are concerned primarily with document like resources MEL provides interactive web based search and retrieval of geospatial data using HTML Form and Java based query mechanisms MEL can disseminate complex numerical data but it only supports relatively simple query and report functions Poseidon on the other hand aims to discover distributed resources with sufficient accuracy to allow automated pipelining through complex workflows 1 3 Problem Statement and Thesis Outline In order to create a distributed system of data and softwar
54. ataPanel add NumChild NumChild setEditable false dataPanel add addDataPanel elementPanel add Center dataPanel childPanel removeAll childPanel add new Label Children Label LEFT Child new List 5 false Child enable false if nc 0 for int i 0 i lt nc i Child addItem childNames i else Child addItem None 96 childPanel add Child elementPanel add South childPanel private void modifyElementPanel boolean edit boolean add int nc element getNumChildren String childNames element getChildren if element getLevel 0 topElement setBackground Color gray for int i 0 i topChildElement length i topChildElement i setBackground Color lightGray else if element getLevel 1 topElement setBackground Color lightGray for int i 0 i topChildElement length i if topChildElement i getLabel equals element getIDO topChildElement i setBackground Color gray else topChildElement i setBackground Color lightGray else L topElement setBackground Color lightGray for int i 0 i lt topChildElement length i topChildElement i setBackground Color lightGray ID setText element getID ID setEditable edit if add 97 defPanel hide defPanel removeAll defPanel add new Label Element Definition Definition new TextArea element getDef 5 60 defPanel add Definition Definition se
55. bject oriented database we have only implemented the top three levels of the tree the top level abstract metadata object the second level metadata standard specific object and the third level containing all metadata element values Note that the Dublin Core standard is implemented in two levels Currently the higher level objects are implemented as HTML documents with links to the associated lower level objects The user can browse the metadata by following these links The lowest level objects contain all the information of the metadata set and are implemented as HTML forms with the element tag metadata field name and the field data implemented as name value pairs The metadata are stored in a directory structure that mirrors the object hierarchy in the Poseidon Server see Figure 2 3 All the records are stored within the Metadata 18 directory with the metadata sets listed in the metadata html file see Appendix A 2 4 This listing provides a link to the files in the MetadataFiles directory see Appendix A 2 5 These files in turn link to the information contained in the DublinCore see Appendix A 2 6 and FGDC directories and their respective sub directories The files in the MetadataFiles directory also contain the JavaScript functions needed to display and copy the information in the current metadata files to the metadata form see Section 2 8 Figure 2 4 and the left frame in Figure 2 6 in order to allow faster
56. copy the OntologyApplet html file to this directory and change the APPLET CODEBASE gt 80 tag to show the complete URL for the location of the OntologyApplet class file this URL is used by the applet to communicate with the socket The Ontology Server and the GUI have to be on the same server Make sure all the files in this folder can be read and executed by the world Create a different directory named OntologyServer and copy DataServer DataServer Thread OntologyFileIO Ontology OntologyVector and ArraySort classes to it Create a text file called lt OntologyName gt txt delete spaces in the ontology name following the ontology element file structure described in figure 3 2 and appendix B 5 to contain the top element of the ontology Also create a directory with the same name as the file without the txt extension in the OntologyServer directory Make sure that the directory and the files allow read write and execute access to the world Run the server as a background daemon using java DataServer amp Unix or corre sponding command An installation of the Ontology Creator is available in the Department of Ocean Engi neering at MIT accessible via the Poseidon web page at http czms mit edu poseidon 2 to authorized users B 1 2 Ontology Creation The Ontology Creator allows all users to browse the existing ontology and allows authenti cated users to add edit and delete elements in the o
57. cting the element and choosing the show history option B 1 3 Known Limitations While the Poseidon Ontology Creator User Interface has been written in Java which is sup posed to be platform independent the applet has only been found to work in a Unix IRIX running on SGI workstations and Linux running on a PC environments When tested on a PC running NT it generated an Array index out of bounds error on a Netscape browser and a Microsoft Security Exception on Microsoft Explorer Further analysis is needed to identify and correct the causes of these incompatibilities The message boxes generated by the system to acknowledge operation or warn the user of error will only be displayed once the user moves the mouse The log in function is not truly secure since the information can be accessed by decom piling the source code There is potential for some data to be lost if two users create or update the same element without re loading the ontology from the server after the first add update has been performed If user B accesses the system before user A submits a new or updated element to the ontology the information submitted by A will be lost when user B adds or updates the same element without re loading the ontology A possible race condition may also exist if two or more users attempt to write the same file at the same instant in time If this becomes a problem in practice it is suggested that a ch
58. data itself We conceptualize metadata as a set of descriptors that uniquely identify a specific entity possibly using terminology drawn from an ontology see Chapter 3 Metadata is necessary to capture the semantic content of data sets and software programs An indexed metadata repository can be used to enable efficient resource discovery in the context of an information system utilizing distributed software and data resources Perhaps the most familiar use of metadata is bibliographic information e g author title publisher etc which has long been used in library and information retrieval systems 1 The application of similar bibliographic metadata for web based resources led to the creation of the Dublin Core metadata standard 3 17 56 57 The Dublin Core was subse quently extended to include the Nordic Classification system as part of the Nordic Metadata Project 24 The DIENST system 29 used by the NCSTRL Networked Computer Science Technical Reference Library project 14 34 also uses similar bibliographic metadata based on RFC 1807 31 The evolving Resource Description Framework RDF 32 38 makes use of the web based hyperlink capabilities of XML Extensible Markup Language 5 to provide a flexible model for defining the appropriate metadata for resources in a particular problem domain 10 Metadata P mine E Poseidon server onto w i i resource Java metadata i registry applets E templates 8
59. dbcore document forms 0 MetaDataID value html function copy directory object 50 document forms 0 CopyFlag value true top display level3 location href FGDC directory object document forms 0 MetaDataID value html function loadID top display level3 location href FGDC Identification id document forms 0 MetaDatalD value html foe lt script gt lt HEAD gt lt BODY onLoad 10adID BGCOLOR White gt lt CENTER gt lt B gt Poseidon Metadata Creator lt B gt lt CENTER gt lt HR gt lt FORM gt lt INPUT type hidden name MetaDatalD value 997269361 gt lt INPUT type hidden name CopyFlag value false gt lt TABLE BORDER 2 gt lt TR gt lt TD COLSPAN 2 gt lt A HREF DbCore dbcore997269361 html TARGET level3 gt amp nbsp Dublin Core lt A gt lt TD gt lt TD gt lt input type button name buttondc value Copy onClick copydc gt lt TD gt lt TR gt 51 TR TD COLSPAN 3 gt amp nbsp FGDC lt TD gt lt TR gt lt TR gt lt TD gt lt TD gt lt TD gt lt A HREF FGDC Identification id997269361 html TARGET level3 gt amp nbsp Identification lt A gt lt TD gt lt TD gt lt input type button name buttonid value Copy onClick copy Identification id gt lt TD gt lt TR gt lt TR gt lt TD gt lt TD gt lt TD gt lt A HREF FGDC DataQuality dq997269361
60. e refHistory i dbf readLine ontology addElement new Ontology id def ref pa childNames nc lev nh creator date defHistory refHistory catch NumberFormatException e catch FileNotFoundException e catch IOException e for int i 0 i nc i I tempInputFileName String child elementAt i newInputFileNameBuf new StringBuffer for int j 0 j lt tempInputFileName length j ch tempInputFileName charAt j if Character isSpace ch newInputFileNameBuf append ch newInputFileName inputFileName 144 newInputFileNameBuf toString readOntology newInputFileName public void writeSingleElement Ontology element OntologyVector onvect String id element getID String def element getDef String ref element getRef O String pa element getParent int lev element getLevel int nc element getNumChildren String child element getChildren int nh element getNumHistory String creator element getCreator Date date element getDate String defHistory element getDefHistory String refHistory element getRefHistory StringBuffer outputDirNameBuf StringBuffer outputFileNameBuf char ch try L String outputDirName new String String outputFileName new String if lev 0 outputDirName 145 if lev 1 outputDirName pa if le
61. e Current metadata files by title and filename Metadata transfer panel Metadata elements Metadata E Dublin Core sets metadata Identification i il Peri script FGDC meadi Data Quality l Metadata storage Figure 2 4 Poseidon Metadata Creator design architecture Figure 2 4 shows the current architecture of the Poseidon Metadata Creator The user interface consists of 4 frames The left half of the page form contains a standard HTML form used to accept user input metadata which is then submitted to the Poseidon server see Figure 2 6 A Perl script residing on the server see Appendix A 3 parses and stores the metadata as objects on the server The script creates a unique identifier for the metadata set based on the metadata creation date and the process identification number for the current instantiation of the script see Figure 2 5 This identifier is written as a link to the master list of metadata sets available in the system metadata html The script subsequently uses this identifier to name the files that it creates to store the metadata field values As described above the higher level objects are written as HTML links while the lowest level objects are implemented as HTML forms with name value pairs for the metadata field name and its value This information is then returned to the user interface automatically by writing a 21 Metadata Transfer Panel file name
62. e capable of locating extracting and pipelining data trough complex workflows we need metadata to accurately efficiently and uniquely identify available resources In order to allow these identifiers to be used correctly they have to be standardized While many such standards exist and are widely used they are not sufficient or optimal for the applications we foresee Nonetheless we neither want to nor have the resources to duplicate the work that has been done in creating these standards and making them widely accepted Therefore we need an architecture that will allow us to combine existing standards to create a metadata structure that can be used to describe resources within Poseidon This structure must be expandable to allow future inclusion of new and or popular standards While we can use these metadata standards to describe resources we still need common language or ontology to ensure consistency in creating and using metadata This thesis describes the issues related to creating a metadata standard for the Poseidon system and our approach to developing an ontology to be used in conjunction with the metadata Chapter 2 provides an analysis of the considerations in creating a metadata standard and takes the reader through the structure architecture and implementation of the Poseidon Metadata Standard It also presents the associated development of the 13 Poseidon Metadata Creator to allow faster and more efficient creation of m
63. eckpointing scheme be adopted to prevent multiple users threads accessing the same information simultaneously 82 B 2 Ontology Creator User Interface Code B 2 1 Browser Interface Ontology A pplet html lt HTML gt lt BODY gt lt CENTER gt lt APPLET CODEBASE http deslab mit edu pwariyap Poseidon Java OntologyCreator V0_6 CODE OntologyApplet class WIDTH 510 HEIGHT 810 gt lt APPLET gt lt CENTER gt lt BODY gt HTML B 2 2 Applet Generator OntologyApplet java import import import import import import import java java java java java java java awt util util Hashtable applet io net lang public class OntologyApplet extends Applet 1 String ontologyName Poseidon Ontology Vector ontology OntologyVector onvect Ontology element Ontology parentElement MessageBox messageBox Panel ontologyPanel 83 Panel Panel Panel Panel Panel Panel Panel Panel Panel Panel Panel Panel Panel ontologyHoldingPanel topElementPanel childElementPanel topChildElementPanel bottomChildElementPanel topActionPanel elementPanel idPanel dataPanel childPanel defPanel addDataPanel actionPanel Button topElement Button topChildElement Label bottomChildLabel List bottomChildElement Button Login Button Add Button Edit Button Delete Button History TextField ID
64. el resize 510 350 ontologyHoldingPanel setLayout new GridLayout 1 3 5 5 topElementPanel new Panel topElementPanel resize 150 350 topElementPanel setLayout new BorderLayout 5 5 topChildElementPanel new Panel topChildElementPanel resize 150 350 bottomChildElementPanel new Panel bottomChildElementPanel resize 150 350 topActionPanel new Panel topActionPanel resize 510 50 topActionPanel setBackground Color green createOntologyPanel ontologyName add North ontologyPanel elementPanel new Panel elementPanel resize 510 400 elementPanel setLayout new BorderLayout 5 5 idPanel new Panel idPanel resize 500 50 idPanel setLayout new GridLayout 1 2 5 5 dataPanel new Panel dataPanel resize 510 250 dataPanel setLayout new GridLayout 2 1 5 5 87 defPanel new Panel defPanel resize 510 150 defPanel setLayout new GridLayout 2 2 5 5 addDataPanel new Panel addDataPanel resize 510 100 addDataPanel setLayout new GridLayout 3 2 5 5 childPanel new Panel childPanel resize 510 100 childPanel setLayout new GridLayout 1 2 5 5 createElementPanel false add Center elementPanel actionPanel new Panel actionPanel resize 510 50 actionPanel setBackground Color green createActionPanel Submit Clear false add South actionPanel validate show private void createO
65. ent onfile writeSingleElement element onvect onvect deleteVectorElement parentElement onfile deleteSingleElement parentElement onvect parentElement addChild id onvect addVectorElement parentElement onfile writeSingleElement parentElement onvect try I dataString new String Element Added buf dataString getBytes packet new DatagramPacket buf buf length address port socket send packet catch IOException e public void deleteLocalElement String id element getID String pa element getParent element onvect findElement id pa parentElement onvect findParent element onvect deleteVectorElement element 140 onfile deleteSingleElement element onvect element parentElement onvect deleteVectorElement parentElement onfile deleteSingleElement parentElement onvect element deleteChild id onvect addVectorElement parentElement onfile writeSingleElement parentElement onvect try dataString new String Element Deleted buf dataString getBytes packet new DatagramPacket buf buf length address port socket send packet catch IOException e T protected void finalize if socket null socket close socket null B 3 3 File Interface Tool OntologyFileIO java import java io import java util 141 import java lang class OntologyFileIO Vector ontology
66. etaDataFileld year mon mday define fileID using time and process ID pairs split amp buffer separate input into name value 60 pairs foreach pair pairs store name value pairs in reference array 1 name value split pair value tr value s A a fA F0 9 a fA FO 9 pack C hex 1 eg contents name value 8 8 Set data set title using FGDC first choice or DC title field if contents Title contents Title s if contents dctitle contents dctitle s Title No Title else Title contents dctitle else Title contents Title 1 61 Define text for each data object file filetextblocki lt HTML gt lt HEAD gt lt script language JavaScript gt lt hide from old browsers function disp
67. etadata Chapter 3 outlines the approach we have taken to creating an ontology and describes in detail the architecture and the implementation of a web based software tool we developed to achieve this end The last chapter summarizes the research associated with this thesis and presents our conclusions on the status and contributions of this work as well as recommendations for further research The appendices contain excerpts from the code that has been developed in the work described here and the associated user guides 14 Chapter 2 Metadata 2 1 Overview Metadata or data about data provides a mechanism for describing and identifying resources efficiently and accurately Instead of reading through an entire document its abstract allows the reader to get an idea of what is contained within Similar to an abstract metadata too attempts to summarize the information in the resource but it goes further by attempting to create the context in which the resource exists i e part of a larger collection of information While metadata cannot realistically capture all the information contained in a document this would defeat the purpose of having metadata it attempts to record all the information that is required to uniquely identify and locate the document While the use of metadata improves efficiency and accuracy in locating documents it is indispensable in describing scientific data sets many of which contain no information about their c
68. ference http www ocean tamu edu baum paleo paleogloss Source for Poseidon Ontology Definition 1 21 array gain decibel hydrophone limiting ray noise limited condition object backscattering differential target strength refraction relative reverberation level reverberation limited condition sea noise shaded transducer sonar background noise sonar dome sonar dome insertion loss sonar dome loss directivity pattern sonar equations sonar self noise sonar source level axial source level Definition Number of surface layer History underwater radiated noise Elements underwater sound projector 2 Pubudu Wariyapola Wed Jul 22 16 18 04 EDT 1998 Describes Sound Pubudu Wariyapola Dr Pierre Elisseeff Tue Nov 03 16 23 18 EST 1998 The study of sound propagation in the ocean and its underlying sediments This ranges from the earliest use of depth soundings to chart the ocean floor to the use of SONAR to locate schools of fish underwater vehicles and ocean drifters to the most recent applications of acoustic tomography to infer large scale properties of the ocean and the ocean floor http www ocean tamu edu baum paleo paleogloss Figure 3 2 Storage format of an ontology element 28 Each object term in the ontology will be written as a separate text file see Figure 3 2 and Appendix B 5 The properties of the objec
69. fforts on metadata for data Construction of complex oceanographic workflows will require resource discovery of both data and software The problem of appropriate metadata for programs remains an open research topic 41 42 One promising approach is the use of semantic networks and a rule based inference engine proposed by Thetis project researchers 12 30 35 Appendix A Metadata Creator A 1 Metadata Creator User Manual A 1 1 Installation The Poseidon Metadata Creator consists of a series of programs files that create the user interface and one Perl 13 script that operates as a Common Gateway Interface CGI script to receive store and return the data submitted from the user interface The user in terface is primarily HTML code with a few Javascript enhancements running on a standard Javascript enabled browser The Poseidon Metadata Creator has to be installed in a machine with a web server installed and operational The web server has to be configured to allow data to be submitted to a CGI script normally stored in var www cgi bin folder Initially setup a folder name MetadataCreator and copy index html display html and metadataform html files to it Make sure that all three files allow read access to the world Create a subdirectory name Metadata to store all the metadata files Copy the metadata html to the Metadata directory Within the Metadata directory Create sub directories MetaDataFi
70. g it and creating a new element that incorporates the modified definition and reference fields along with the properties of the original element This process is repeated with the remote server copy of the ontology Finally the editors of the ontology can delete an element by selecting it and requesting its deletion The system removes the local and remote copies of the element and changes the parent element to remove references to it Whenever the GUI requests an operation from the server it waits for an acknowledg ment Once a request for modification is received at the server it changes adds or deletes the information in its transient memory and writes the changes to disk Once these op erations have been performed successfully the server returns an acknowledgment with an Element Deleted or Element Added message Part of the Poseidon Ontology has been populated using the Ontology Creator tool These elements can be browsed by accessing the ontology through the Ontology Creator tool at http czms mit edu poseidon software Ontology Creator 3l Mm mm 223194 N rea a fep m unicator ex Figure 3 4 Poseidon Ontology Creator user interface 32 User Interface Poseidon Server Initialize Applet Initialize Berver Daemon Initialize Socket Initialize Socket Load Ontology Data from File Request Ontology Data Wait for Request
71. gramPacket buf buf length address port socket send packet 117 catch IOException e 1 return try buf new byte 8192 packet new DatagramPacket buf 8192 socket receive packet catch IOException e 4 return received null received new String packet getData if ledit if received substring 0 15 equals Element Deleted new MessageBox Deleted Element Click below to continue else L new MessageBox Failed to delete remote element Click below to continue T socket close public boolean parseInputString String inputString boolean Done false 118 int startIndex 0 int endIndex 0 String id null String def null String ref null String pa null String childNames int nc 0 int lev 0 int nh 0 String creator Date date String defHistory String refHistory if inputString substring 0 7 equals Element startIndex 8 endIndex inputString index f startIndex id inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex def inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index f startIndex ref inputString substring startIndex endIndex startIndex endIndex 1 119 endIndex inputString index0f startIndex pa inputString substr
72. gyChild OntologyNumChildren public void deleteChild String childID int index 0 if OntologyNumChildren 1 OntologyChild null OntologyNumChildren 0 else String tempChild OntologyChild OntologyChild new String OntologyNumChildren 1 for int i 0 i lt OntologyNumChildren i if tempChild i equals childID index i System arraycopy tempChild 0 OntologyChild 0 index System arraycopy tempChild index 1 OntologyChild index OntologyNumChildren index 1 OntologyNumChildren 154 B 4 2 Ontology Vector Object Ontology Vector java import java io import java util import java lang class OntologyVector Vector ontology public OntologyVector ontology new Vector public void storeOntology Vector newVector ontology newVector public Ontology findElement String id Ontology element new Ontology for int i 0 i lt ontology size i if Ontology ontology elementAt i getID equals id element Ontology ontology elementAt i return element 155 public Ontology findElement String id String pa L Ontology element new Ontology for int i 0 i lt ontology size i if Ontology ontology elementAt i getID equals id kk Ontology ontology elementAt i getParent equals pa element Ontology ontology elementAt i return element public Onto
73. h IOException e I return try L buf new byte 8192 packet new DatagramPacket buf 8192 socket receive packet catch IOException e return received null received new String packet getData if ledit if received substring 0 13 equals Element Added new MessageBox Added Element Click below to continue else L new MessageBox Failed to add remote element Click below to continue 3 socket close T public void processRemoteDeleteElement ntology element boolean edit DatagramPacket packet byte buf 116 String dataString null String received dataString new String Del Element element getID element getDef element getRef element getParent element getLevel element getNumChildren for int j 0 j lt element getNumChildren j dataString dataString concat element getChildren j dataString dataString concat element getNumHistoryO for int j 0 j lt element getNumHistory j 4 dataString dataString concat element getCreator j dataString dataString concat element getDate j toStringO dataString dataString concat element getDefHistory j dataString dataString concat element getRefHistory j initSocket try L send request buf dataString getBytes packet new Data
74. hierarchical list organized on the basis of a user defined field e g owner location keywords etc We will also add a search feature to allow users to find metadata sets without browsing the entire list In the current implementation the Metadata Creator supports all the elements of the Dublin Core and FGDC CSDGM except for recursive calls to itself from within an element description and 22 multiple iterations of the same element While we suggest using the key to delimit multiple entries within a single field we will need to modify the tool to allow true recursion and multiple instantiation to exactly conform to the standards used We will also need to add the elements of the Biological Profile of the FGDC CSDGM once they have been finalized by the National Biological Information Infrastructure NBII working group While a number of tools implement some relatively well known metadata standard and simplify the creation of metadata by presenting the user with a template that matches that standard e g XTME BIG BIC Nordic Metadata Creator etc most of them require that the user individually input all relevant information by hand although some do have more automated features such as the ability to extract a small subset of the information from the data itself or the ability of the user to pre define some fields common for all of metadata e g ESRI s Document aml 2 In contrast the Poseidon metadata creator which is partial
75. html TARGET level3 gt amp nbsp DataQuality lt A gt lt TD gt lt TD gt lt input type button name buttondq value Copy onClick copy DataQuality dq gt lt TD gt lt TR gt lt TR gt lt TD gt lt TD gt lt TD gt lt A HREF FGDC SpatialOrganization so997269361 htm1 TARGET level3 gt amp nbsp Spatial0rganization lt A gt lt TD gt lt TD gt lt input type button name buttonso value Copy onClick copy SpatialOrganization so gt lt TD gt lt TR gt lt TR gt lt TD gt lt TD gt lt TD gt lt A HREF FGDC SpatialReference sr997 269361 htm1 52 TARGET level3 gt amp nbsp SpatialReference lt A gt lt TD gt lt TD gt lt input type button name buttonsr value Copy onClick copy SpatialReference sr gt lt TD gt lt TR gt lt TR gt lt TD gt lt TD gt lt TD gt lt A HREF FGDC Entity en997269361 html TARGET level3 gt amp nbsp Entity lt A gt lt TD gt lt TD gt lt input type button name buttonen value Copy onClick copy Entity en gt lt TD gt lt TR gt lt TR gt lt TD gt lt TD gt lt TD gt lt A HREF FGDC Distribution db997269361 html TARGET 1level3 gt amp nbsp Distribution lt A gt lt TD gt lt TD gt lt input type button name buttondb value Copy onClick copy Distribution db gt lt TD gt lt TR gt lt TR gt lt TD gt lt TD gt lt TD gt
76. ieke Universiteit Leuven Bel gium June 1993 lt ftp gate esat kuleuven ac be pub ACCA FTMPS REPORTS f93 04 ps gt T Dopplick The role of metadata in EOSDIS Technical Report 160 TP 013 001 Hughes Information Technology Systems Upper Marlboro MD March 1997 lt http edhs1 gsfc nasa gov waisdata sdp pdf tp1601301 pdf gt Dublin Core Metadata Initiative lt http purl oclc org dc gt D L Eager E D Lazowska and J Zahorjan Dynamic Load Sharing in Homogeneous Distributed Systems IEEE Transactions on Software Engineering Volume 12 Number 5 pp 662 675 May 1986 Federal Geographic Metadata Committee Content standards for digital geospatial metadata June 1998 lt http www fgdc gov metadata contstan html gt 162 20 21 22 erd 23 24 25 26 27 28 29 30 R Fikes A Farquhar Distributed repositories of highly expressive reusable ontologies Stanford University March 1998 lt http ontolingua stanford edu gt H Garcia Molina J Hammer K Ireland Y Papakonstantinou J Ullman and J Widom Integrating and accessing heterogeneous information sources in TSIM MIS In Proceedings of the AAAI Symposium on Information Gathering pages 61 64 March 1995 lt ftp db stanford edu pub papers tsimmis abstract aaai ps gt Global change master directory NASA lt http gcmd gsfc nasa gov gt Object Management Group lt http www omg org gt J Hakal
77. information While we can search the metadata for the information we need we still need a com mon vocabulary or ontology to ensure that we can identify data unambiguously Since no existing vocabulary encapsulates all aspects of the ocean sciences and ocean systems management we have facilitated the production of such a resource by creating a web based tool that will allow specialists with the requisite domain knowledge e g oceanographers acousticians coastal zone managers etc to populate the ontology independently The tool handles all the logistical issues of storage maintenance and distribution Thesis Supervisor Nicholas M Patrikalakis Ph D Title Kawasaki Professor of Engineering Acknowledgments I would like to thank Prof N M Patrikalakis and Dr W Cho from the MIT Depart ment of Ocean Engineering Design Laboratory Mr S L Abrams from the Harvard University Library Dr P Elisseeff and Prof H Schmidt from the MIT Department of Ocean Engineering Acoustics Group Prof A R Robinson from the Harvard University Physical Interdisciplinary Ocean Science Group and Dr K Streitlien from the MIT Sea Grant College Program Autonomous Underwater Vehicles Laboratory for contributions to the conceptual and physical development of the Poseidon System and various parts of the work described in this thesis I also appreciate useful discussions with Prof C Houstis Prof C N Nikolaou Dr S Lalis Mr M Marazakis and Mr
78. ing startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex lev Integer parseInt inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex nc Integer parseInt inputString substring startIndex endIndex childNames new String nc for int i 0 i lt nc i startIndex endIndex 1 endIndex inputString index0f startIndex childNames i inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex nh Integer parselnt inputString substring startIndex endIndex creator new String nh date new Date nh defHistory new String nh refHistory new String nh 120 for int i20 i lt nh i I startIndex endindex 1 endIndex inputString index0f startIndex creator i inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex date i new Date inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex defHistory i inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex refHistory i inputString substring startIndex endIndex if inputString substri
79. investigating the possible use of fuzzy query capabilities An extension of the DIENST system 29 may be used for this purpose 2 6 Metadata Creation In order for metadata to be useful it needs to be complete and accurate Since much of the information needed for the metadata is only available at data creation or acquisition time metadata should ideally be created contemporaneously with the data The quality of the metadata is enhanced if it is created by an individual with a significant level of knowledge about the data its acquisition environment and process most likely this will be the scientist responsible for the experiment 2 7 Metadata Creation Tools While the level of knowledge needed to create metadata is quite high so too is the volume of metadata needed to describe a data set accurately These requirements place a very high time and resource cost on metadata creation Therefore we obviously need some tools that can aid in this process Ideally we want a software utility that resides within the data acquisition system and automatically creates metadata for the data In the Poseidon project we are continuing ongoing collaboration with our partners to implement such a solution on a case by case basis We are however able to create a web based editor that can be accessed using a standard web browser and that can be used to create metadata efficiently and accurately 20 2 8 Poseidon Metadata Creator User Interfac
80. is element is currently considered to be experimental lt FONT gt lt BLOCKQUOTE gt lt B gt 15 Rights Management lt B gt lt INPUT type text size 40 maxlength 256 name dcrights gt lt BLOCKQUOTE gt lt FONT SIZE 1 gt A link to a copyright notice to a rights management statement or to a service that would provide information about terms of access to the resource Formal specification of RIGHTS is currently under development Users and developers should understand that use of this element is currently considered to be experimental lt FONT gt lt BLOCKQUOTE gt 49 File Truncated A 2 4 Available Metadata Files metadata html HTML BODY BGCOLOR White gt lt CENTER gt lt B gt Available Metadata Files B CENTER HR lt A HREF MetaDataFiles metadata997269361 html TARGET level2 gt Poseidon Metadata Creator lt A gt lt BR gt lt A HREF MetaDataFiles metadata997269435 html TARGET level2 gt Image of Sea Surface Temperature derived from AVHRR lt A gt lt BR gt lt A HREF MetaDataFiles metadata997269623 html TARGET level2 gt PRIMER Feb16 Acoustic Full Objectively Analyzed Fields lt A gt lt BR gt A 2 5 Metadata Transfer Panel metadata997269361 html lt HTML gt lt HEAD gt lt script language JavaScript gt 1 hide from old browsers function copydc O t document forms 0 CopyFlag value true top display level3 location href DbCore
81. is secondary to any person or organization specified in a CREATOR element for example editor transcriber and illustrator lt FONT gt lt BLOCKQUOTE gt lt B gt 7 Date lt B gt lt INPUT type text size 40 maxlength 256 name dcdate gt 45 BLOCKQUOTE lt FONT SIZE 1 gt The date the resource was made available in its present form Recommended best practice is an 8 digit number in the form YYYY MM DD as defined in lt A HREF http www w3 org TR NOTE datetime target new gt lt B gt http www w3 org TR NOTE datetime lt B gt lt A gt a profile of 150 8601 In this scheme the date element 1994 11 05 corresponds to November 5 1994 Many other schema are possible but if used they should be identified in an unambiguous manner lt FONT gt lt BLOCKQUOTE gt lt B gt 8 Resource Type lt B gt lt INPUT type text size 40 maxlength 256 name dctype gt lt BLOCKQUOTE gt lt FONT SIZE 1 gt The category of the resource such as home page novel poem working paper technical report essay dictionary For the sake of interoperability TYPE should be selected from an enumerated list that is under development in the workshop series at the time of publication of this document See lt A HREF http sunsite berkeley edu Metadata types html target new gt lt B gt http sunsite berkeley edu Metadata types html lt B gt lt A gt for current thinking on the application of this element lt FONT gt
82. l removeAll Login new Button Login Add new Button Add Child Edit new Button Edit Element Delete new Button Delete Element History new Button Show History topActionPanel add Login topActionPanel add Add topActionPanel add Edit topActionPanel add Delete topActionPanel add History 92 if editable if element getLevel 0 Edit disable if element getLevel 2 Add disable if element getNumChildren 0 element getLevel 0 creator equals Creator Delete disable else Add disable Edit disable Delete disable private void modifyTopActionPanel boolean editable Login enable Add enable Edit enable Delete enable if editable if element getLevel 0 Edit disable if element getLevel 2 Add disable if element getNumChildren 0 element getLevel 0 creator equals Creator 93 Delete disable else Login disable Add disable Edit disable Delete disable private void createElementPanel boolean edit if element getLevel 0 topElement setBackground Color gray for int i 0 i topChildElement length i topChildElement i setBackground Color lightGray else if element getLevel 1 topElement setBackground Color lightGray for int i 0 i lt topChildElement length i if topChildElement i getLabel equals
83. lay filetextblock2 if top display level2 document forms 0 CopyFlag value true copy top display level2 document forms 0 CopyFlag value false function copy filetextblock3 lt script gt lt HEAD gt 62 lt BODY onLoad display BGCOLOR White gt n U HIHHH HH HHH HHRHH HEE HEHE AEH HE HEHEHE EEE Print JavaScript function to screen to reload updated files the loading delay allows the script to complete writing files before they are loaded print Content type text html lt HTML gt lt BODY onLoad reload gt lt script language JavaScript gt lt hide function reload top display leveli location href Form MetaData metadata htmlV top display level2 location href Form MetaData MetaDataFiles metadata MetaDataFileld htmlX top form location href Form metadataform html lt script gt lt BODY gt lt HTML gt 63 8 Print ENV variables for debugging disabled 1
84. lement parentElement if element getLevel 2 element parentElement modifyBottomChildElementPanel element modifyTopActionPanel true else modifyOntologyPanel ontologyName 111 modifyElementPanel false false createActionPanel Submit Clear false validate private void cancelCommand element onvect findElement ontologyName modifyBottomChildElementPanel Ontology onvect findChildren element elementAt 0 modifyTopActionPanel true modifyElementPanel false false createActionPanel Submit Clear false validate private void showHistory messageBox new MessageBox Element Creation History element B 2 3 Socket Interface Tool Ontology AppletSocket java import java util import java io import java net import java lang 112 class OntologyAppletSocket int port 8020 Vector ontology InetAddress address DatagramSocket socket null OntologyAppletSocket InetAddress newAddress address newAddress ontology new Vector T public void initSocket try L socket new DatagramSocket catch IOException e return public void createOntology DatagramPacket packet byte buf String dataString String received boolean done false try 1 dataString Get Element buf dataString getBytes 113 send request packet new DatagramPacket buf buf length addre
85. les DbCore and FGDC Within the FGDC directory cre ate directories Identification DataQuality SpatialOrganization SpatialReference Entity Distribution and MetadataReference Make sure that all these directories allow read write and execute access to the world Edit the base href gt tag in index html to show the path to the MetadataCreator directory Edit display html file to show the correct paths to the metadata htm file 36 and the first available metadata file if not available leave blank and include them once the first metadata file has been created using the MetadataCreator Copy parse pl to the cgi bin directory of the web server Change the Form MDATA FGDC and DBCORE variables to the correct paths for the MetadataCreator Meta data FGDC and DbCore directories Make sure the Form variable is in URL form and the others are listed as absolute file paths from root The Metadata Creator is now ready for operation It can be used with a standard browser by pointing to the URL for the MetadataCreator directory The browser will be split vertically across the middle The left half will contain the metadataform while the right half will be split into three horizontal strips containing from top to bottom the Available Metadata Files Metadata Transfer Panel and the Metadata Browser windows The Poseidon Metadata Creator has
86. licate titles will not affect the system the file name is generated using a combination of the date and the process ID for the instantiation of the Perl script see Figure 2 5 A 1 3 Known Limitations The Metadata Creator user interface has been tested successfully on Unix IRIX running on SGI workstations HP and NT both Netscape and Explorer environments It failed during data submission on a Linux platform running on a PC Further analysis is needed to identify and correct the causes of this incompatibility The Metadata form does not contain the entire FGDC standard since the standard contains recursive elements that could conceivably make the form infinitely long Since the form is pre coded it cannot be expanded during run time to accommodate multiple iterations of a single field Much of this problem can be alleviated by using the key as a delimiter between multiple entries in a single field The form also supports pre coded multiple instantiations of entity and attribute values since these are likely to be necessary for scientific data The data entry fields of the form may shift if the scroll bar is dragged with a mouse 38 without using the up down scroll buttons or page up down or scrolling arrows The only known solution to this is to submit the incomplete form and complete it by copying the data to a new blank form using the transfer panel and filling in the new fields 39 A 2 Metadata Creator User Inte
87. logy findParent Ontology element Ontology parent new Ontology String childNames for int i 0 i lt ontology size i if Ontology ontology elementAt i getID equals element getParent childNames Ontology ontology elementAt i getChildren for int j 0 j lt Ontology ontology elementAt i getNumChildren j if childNames j equals element getID parent Ontology ontology elementAt i return parent 156 public Vector findChildren Ontology element Vector childrenVector new Vector element getNumChildren String childNames element getChildren for int i 0 i lt element getNumChildren i for int j 0 j lt ontology size j if childNames i equals Ontology ontology elementAt j getID kk element getID equals Ontology ontology elementAt j getParent childrenVector addElement Ontology ontology elementAt j childrenVector trimToSize return childrenVector public void addVectorElement Ontology element ontology addElement element public void deleteVectorElement Ontology element ontology removeElement element T public Vector get ntologyO 1 return ontology 157 B 4 3 String Array Sorting Utility ArraySort java import java util import java io import java lang public class ArraySort ArraySort public String sortArray String array Stri
88. lt BLOCKQUOTE gt lt B gt 9 Format lt B gt lt INPUT type text size 40 maxlength 256 name dcformat gt 46 BLOCKQUOTE lt FONT SIZE 1 gt The data format of the resource used to identify the software and possibly hardware that might be needed to display or operate the resource For the sake of interoperability FORMAT should be selected from an enumerated list that is under development in the workshop series at the time of publication of this document lt FONT gt lt BLOCKQUOTE gt lt B gt 10 Resource Identifier lt B gt lt INPUT type text size 40 maxlength 256 name dcidentifier gt lt BLOCKQUOTE gt lt FONT SIZE 1 gt String or number used to uniquely identify the resource Examples for networked resources include URLs and URNs when implemented Other globally unique identifiers such as International Standard Book Numbers ISBN or other formal names would also be candidates for this element in the case of off line resources lt FONT gt lt BLOCKQUOTE gt lt B gt 11 Source lt B gt lt INPUT type text size 40 maxlength 256 name dcsource gt lt BLOCKQUOTE gt lt FONT SIZE 1 gt A string or number used to uniquely identify the work from which 47 this resource was derived if applicable For example a PDF version of a novel might have a SOURCE element containing an ISBN number for the physical book from which the PDF version was derived lt FONT gt lt BLOCKQUOTE g
89. lt A HREF FGDC MetadataReference mr997269361 html TARGET level3 gt amp nbsp MetadataReference lt A gt lt TD gt lt TD gt lt input type button name buttonmr value Copy onClick copy MetadataReference mr gt lt TD gt lt TR gt lt TABLE gt lt FORM gt lt BODY gt 53 lt HTML gt A 2 6 Dublin Core Metadata File dbcore997269361 html Only the Dublin Core Metadata file is shown here since all the other files are similar except for the specific information described which is based on the specific standard lt HTML gt lt HEAD gt lt script language JavaScript gt lt hide from old browsers function display top display level3 document forms 0 elements dctitle value Poseidon Metadata Creator top display level3 document forms 0 elements dccreator value Pubudu Wariyapola top display leve13 document forms 0 elements dcsubject value Poseidon Metadata top display level3 document forms 0 elements dcdescription value HTML document with CGI and Java Script enhancements for creating metadata for use in the Poseidon System top display level3 document forms 0 elements dcpublisher value Design Laboratory Dept of Ocean Engineering Massachusetts Institute of Technology top display level3 document forms 0 elements dcdate value 8 26 99 top display level3 document forms 0 elements dctype value HTML document
90. ly based on the BIG BIC Metadata Form adds the capability of browsing all metadata files stored in the system as well as the ability to copy any information already available This significantly reduces the cost of developing metadata for multiple data sets with similar metadata properties Two example metadata sets have been created using the metadata creator to illustrate its These are listed as available metadata files on the Poseidon Metadata Creator at lt http czms mit edu poseidon software MetadataCreator gt 23 vz J9SN 1078919 ejepejo A uopiesoq 9 7 2MSLA Poseidon Metadata Standard The Poseidon Metadata Standard is an extensible combination of the Dublin Core Metadata Standard for documents and the Digital Geospatial Metadata and its Biological Profile the elements of the Biological Profile have not been implemented in this version of the Metadata Creator The user may complete one or both standards as required We recommend using the Dublin Core standard when describing document like objects and the FGDC standards for scientific data sets from geospatially distributed experiments Dublin Core Metadata Standard Notes All fields of the Dublin Core Metadata Standard are optional When multiple instances of a field dates keywords etc is required use as a delimiter For Additional help check out The Dublin Core Metadata Initiative homepage or contact Pubudu Wariyapola via e mail at
91. metadata sets for a series of resources that have been created in the same experiment by the same scientist or the same geographical 37 region the Metadata Creator allows the user to browse existing metadata files by using the top right window to select the appropriate file the middle right panel transfer panel to specify the section of metadata and the bottom right window to view it The interface also allows the user to copy entire sections of metadata by selecting the appropriate metadata file and using the COPY buttons on the transfer panel The copy function will write any information in the selected section of the selected file to the metadata form It will overwrite any fields for which the metadata file contains data but will not overwrite elements that have not been filled in the selected file Once the metadata has been entered it can be submitted to the server by using the Submit button at the bottom of the form Once submitted the data is extracted trans formed to HTML code and stored in the server and returned to the browser window using the Perl script to write a Javascript function to the form frame The Perl script uses the Title fields in either FGDC or Dublin Core sections to create a title for the metadata If both fields are filled the FGDC Title will be used If both fields are empty the file will be listed with a No Title heading The file name will not contain this name and therefore dup
92. ng DefHistory null String RefHistory null OntologyO Ontology String id String def String ref String pa Stringl child int nc int lev int nh String creator Date date String defHistory String refHistory OntologyID id OntologyDef def OntologyRef ref OntologyParent pa OntologyChild child OntologyNumChildren nc OntologyLevel lev UntologyNumHistory nh UntologyDate date OntologyCreator creator DefHistory defHistory RefHistory refHistory Ontology String id String def String ref String pa String child int nc int lev OntologyID id OntologyDef def OntologyRef ref OntologyParent pa 150 OntologyChild child OntologyNumChildren nc OntologyLevel lev Ontology String id String def String pa String child int nc int lev OntologyID id OntologyDef def OntologyParent pa OntologyChild child OntologyNumChildren nc OntologyLevel lev Ontology String pa int lev OntologyParent pa OntologyLevel lev public void printElement System out println Identifier System out println Definition System out println Reference System out println Parent System out println Level System out println Num Child for int i 0 ic OntologyNumChildren i System out println Child i OntologyChild i T 151 OntologyID OntologyDef OntologyRef Ontology
93. ng endIndex 1 endIndex 5 equals more Done false else Done true ontology addElement new Ontology id def ref pa childNames nc lev nh creator date defHistory refHistory else L 121 Done true T return Done T T B 2 4 Login Tool Login java import java awt import java util import java io import java lang public class Login extends Frame MessageBox mbox OntologyApplet onApplet boolean verified false Panel loginPanel Panel actionPanel TextField ID TextField Passwd String creator null String passwd null Login OntologyApplet newOntologyApplet onApplet new ntologyApplet setLayout new BorderLayout 5 5 add North new Label Untology Creator Log In 122 Label CENTER loginPanel new Panel loginPanel setLayout new GridLayout 2 2 5 5 createLoginPanel add Center loginPanel actionPanel new Panel actionPanel setLayout new GridLayout 1 2 5 5 actionPanel add new Button OK actionPanel add new Button Cancel add South actionPanel pack show private void createLoginPane1 loginPanel add new Label Creator ID ID new TextField 30 loginPanel add ID loginPanel add new Label Password Passwd new TextField 30 Passwd setEchoCharacter loginPanel add Passwd public boolean login return verified 123 public String getCreator
94. ng temp for int i20 i lt array length i for int j i 1 j lt array length j if array i compareTo array j gt 0 temp array il array i arraylj arraylj temp return array B 5 Ontology Element File Acoustical txt Acoustical The study of sound propagation in the ocean and its underlying 158 sediments This ranges from the earliest use of depth soundings to chart the ocean floor to the use of SONAR to locate schools of fish underwater vehicles and ocean drifters to the most recent applications of acoustic tomography to infer large scale properties of the ocean and the ocean floor http www ocean tamu edu baum paleo paleogloss Poseidon Ontology 1 21 array gain decibel hydrophone limiting ray noise limited condition object backscattering differential target strength refraction relative reverberation level reverberation limited condition sea noise shaded transducer sonar background noise sonar dome sonar dome insertion loss sonar dome loss directivity pattern sonar equations sonar self noise sonar source level axial source level surface layer underwater radiated noise underwater sound projector 2 Creator 159 Wed Jul 22 16 18 04 EDT 1998 Describes Sound Creator Tue Nov 03 16 23 18 EST 1998 The study of sound propagation in the ocean and its underlying sediments This ranges from the earliest use of depth soundings to chart the
95. ntology When the system starts up it will bring up a log in screen A user can also log in later by choosing the log in button In order to add an element select the area in which the element is to be added parent and press the Add Child button The interface will then provide a screen with three open fields name definition and reference to allow the user to add the element to the vocabulary Once the user has entered the information it can be submitted cleared or the operation cancelled by pressing the appropriate button If the operation is cancelled the system returns to browsing mode If the new element is submitted the local and the remote copies of the ontology are updated and the process is acknowledged Elements can only be added to the lower two levels of the ontology Similarly the user can edit the definition or reference fields of an element The element name cannot be changed once created it is possible to delete it and re create a new element with the new name The element to be edited must be selected prior to choosing the edit 81 option All elements can be edited An element can be deleted by selecting it and pressing delete An element can be deleted only if it is either a lowest level element or has no children and can be only done by a user with editor authorization Once deleted an element cannot be recovered The system also allows users to view the history of modification for an element by sele
96. ntologyPanel String ontologyName 1 int nc String childNames ontologyPanel removeAll 88 ontologyHoldingPanel removeAll topElementPanel removeAll topElement new Button ontologyName topElementPanel add Center topElement ontologyHoldingPanel add topElementPanel element onvect findElement ontologyName nc element getNumChildren childNames element getChildren topChildElementPanel removeAll topChildElementPanel setLayout new GridLayout nc 1 5 5 topChildElement new Button nc for int i 0 i nc i topChildElement i new Button childNames i topChildElementPanel add topChildElement i T ontologyHoldingPanel add topChildElementPanel createBottomChildElementPanel Ontology onvect findChildren element elementAt 0 ontologyHoldingPanel add bottomChildElementPanel ontologyPanel add Center ontologyHoldingPanel 89 createTopActionPanel true ontologyPanel add South topActionPanel private void modifyOntologyPanel String ontologyName int nc String childNames topElement setLabel ontologyName element onvect findElement ontologyName nc element getNumChildren childNames element getChildren topChildElementPanel hide topChildElementPanel removeAll topChildElementPanel setLayout new GridLayout nc 1 5 5 topChildElement new Button nc for int i 0 i lt nc i I topChild
97. on software MetadataCreator MetaData FGDC DBCORE var www htdocs poseidon software MetadataCreator MetaData DbCore MetadataDbjects id dq so sr en db mr YMetadataFiles id IDFILE dq DQFILE so SOFILE sr SRFILE en ENFILE db DBFILE mr MRFILE MetadataNames id Identification 44 DataQuality so SpatialOrganization sr SpatialReference en Entity db Distribution mr MetadataReference Dbcore dctitle dccreator dcsubject list truncated 59 Identification Originator pubdate pubtime list truncated DataQuality AttAccR AttrAccV AttrAccE list truncated SpatialUrganization IndSpRef Direct list truncated SpatialReference LatRes LongRes GeoCU list truncated Entity EntityTypeL 1 ETDef 1 ETDefSource 1 list truncated Distribution DistCntPerP DistCntOrg list truncated MetadataReference MetaDate MetaRevD list truncated EA EH Extract ENV data and read input from form method ENV REQUEST METHOD extract method used by form not used assumed POST n ENV CONTENT LENGTH length of input read STDIN buffer n read input sec min hour mday mon year uday ydat isdst localtime read time M
98. ontents or the context in which they were created Metadata therefore must be used in order to give meaning to the mostly numeric data that is stored in these vast sets and allow their retrieval and processing by any other than the scientist that created them Since the aim of the Poseidon system is to allow a variety of users many of whom will not have an in depth knowledge of the data to access and use the data metadata becomes an absolutely necessary tool 15 2 2 Metadata Standards While it would be possible to allow each data provider to create the information that he or she feels is relevant to the data the use of heterogeneous metadata formats decreases the efficiency and effectiveness of searching To prevent this we need a well defined metadata standard that can be followed when creating metadata and can subsequently be used to search for the data accurately and efficiently On the basis of our analysis of existing metadata standards no one of them satisfies the needs of the Poseidon system Poseidon needs to support documents as well as scientific data while providing sufficient accuracy to allow automated construction of workflows ensuring compatibility and consistency between sequential operations Thus none of the document oriented standards Dublin Core RFC 1807 RDF etc is adequate for our needs The FGDC standard for geospatial metadata while being quite effective in classifying information relating to physical phenomena
99. ory 0 tempNH tempRefHistory tempNH element getRef tempNH parentElement onvect findParent element 109 onsocket processRemoteDeleteElement element true onvect deleteVectorElement element onvect deleteVectorElement parentElement parentElement deleteChild tempID onvect addVectorElement parentElement element new Ontology tempID tempDef tempRef tempParent tempChild tempNC tempLevel tempNH temp2Creator temp2Date tempDefHistory tempRefHistory onsocket processRemoteAddChild element true onvect addVectorElement element onvect deleteVectorElement parent El ement parentElement addChild tempID onvect addVectorElement parentElement modifyTopActionPanel true modifyElementPanel false false createActionPanel Submit Clear false validate private void resetEditElement modifyElementPanel true false 110 ID setEditable false validate T private void deleteElement modifyTopActionPanel false modifyElementPanel false false createActionPanel Delete Cancel true validate private void processDeleteElement String tempID element getID onsocket processRemoteDeleteElement element false parentElement onvect findParent element onvect deleteVectorElement element onvect deleteVectorElement parentElement parentElement deleteChild temp1D onvect addVectorE
100. outputDirNameBuf StringBuffer outputFileNameBuf char ch if lev 0 outputDirName if lev 1 u outputDirName pa if lev 2 String grandpa onvect findElement pa getParent outputDirName grandpa pa outputDirNameBuf new StringBuffer for int j 0 j lt outputDirName length j ch outputDirName charAt j if Character isSpace ch outputDirNameBuf append ch outputDirName outputDirNameBuf toStringO outputFileName id outputFileNameBuf new StringBuffer for int j 0 j lt outputFileName length j ch outputFileName charAt j if Character isSpace ch outputFileNameBuf append ch outputFileName outputFileNameBuf toString 148 if lev 1 L File outputDir new File outputDirName outputFileName try 1 outputDir delete catch SecurityException e File outputFile new File outputDirName outputFileName a outputFile delete B 4 Ontology Creator Utility Code B 4 1 Ontology Element Object Ontology java import java util import java io import java lang class Ontology extends Object String OntologyID null String OntologyDef null String OntologyRef null String OntologyParent null int OntologyLevel 2 int OntologyNumChildren 0 String OntologyChild null 149 int OntologyNumHistory 0 Date OntologyDate null String OntologyCreator null Stri
101. pDef for int i 0 i lt tempDef length i Ch new Character tempDef charAt i if Ch equals new Character I Definition selectAll messageBox new MessageBox Invalid Element Definition Cannot use Character return T T if lelement getRef equals tempRef for int i 0 i tempRef length i Ch new Character tempRef charAt i if Ch equals new Character 1 Reference selectAll messageBox new MessageBox Invalid Element Reference Cannot use Character return 108 String tempParent element getParent int tempNC element getNumChildren int tempLevel element getLevel String tempChild element getChildren int tempNH element getNumHistory String tempiCreator element getCreator Date tempiDate element getDate Calendar cal Calendar getInstance String temp2Creator new String tempNH 1 System arraycopy tempiCreator 0 temp2Creator 0 tempNH temp2Creator tempNH creator Date temp2Date new Date tempNH 1 System arraycopy tempiDate O temp2Date 0 tempNH temp2Date tempNH cal getTime String tempDefHistory new String tempNH 1 System arraycopy element getDefHistory 0 tempDefHistory 0 tempNH tempDefHistory tempNH element getDef String tempRefHistory new String tempNH 1 System arraycopy element getRefHistory 0 tempRefHist
102. r Research and Technology Hellas Heraklion Crete Greece http www ics forth gr pleiades THETIS thetis html gt 53 The Stanford IBM Manager of Multiple Information Sources TSIMMIS lt ftp db stanford edu www tsimmis tsimmis html gt 54 Unidata Software and Weather Data for Universities lt http unidata ucar edu gt 55 P C H Wariyapola N M Patrikalakis S L Abrams P Elisseeff A R Robinson H Schmidt and K Streitlien Ontology and Metadata Creation for the Poseidon Dis tributed Coastal Zone Management System Proceedings of IEEE Forum on Research and Technology Advances in Digital Libraries IEEE ADL 99 Baltimore Maryland USA pp 180 189 May 1999 Los Alamitos CA IEEE 1999 96 S Weibel Metadata The foundation of resource description D Lib Magazine July 1995 lt http www dlib org dlib July95 07weibel html gt 57 S Weibel and J Hakala DC 5 The Helsinki metadata workshop A report on the workshop and subsequent developments D Lib Magazine February 1998 http www dlib org dlib february98 02weibel html gt 166
103. reatise on Basic Philosophy Vol 3 Ontology II A World of Systems Reidel Boston 1979 H Casanova J J Dongarra and K Moore Network enabled solvers and the Net Solve project SIAM News January 1998 lt http www siam org siamnews 01 98 janfeb htm gt 161 9 10 11 12 13 14 15 16 19 D E Comer and L Stevens Internetworking with TCP IP Volume 2 Design Imple mentation and Internals Prentice Hall 1991 D E Comer Internetworking with TCP IP Principles Protocols and Architectures Prentice Hall 1995 Coordinating geographic data acquisition and access The National Spatial Data In frastructure Executive Order 12906 Federal Register April 13 1994 http www fgdc gov publications documents geninfo execord html gt V Christophides C Houstis S Lalis H Tsalapata Ontology driven integration of scientific repositories NGITS 99 New Generation Information Technologies Lecture Notes in Computer Science Elsevier Hobart Habaron Isreal July 1999 CPAN Comprehensive Perl Archive Network lt ftp ftp funet fi pub languages perl CPAN README html gt J R Davis Creating a networked computer science technical report library D Lib Magazine September 1995 lt http www dlib org dlib september95 09davis html gt G Deconinck J Vounckx R Cuyvers R Lauwereins Survey of Checkpointing and Rollback Techniques Technical Report f93 04 Kathol
104. rface Code A 2 1 Index File index html lt html gt lt title gt Poseidon Metadata Creator lt title gt lt base href http czms mit edu poseidon software MetadataCreator gt lt FRAMESET COLS 50 border 0 gt FRAME SRC metadataform html name form gt lt FRAME SRC display html name display gt lt FRAMESET gt lt html gt A 2 2 Display Control File display html lt html gt lt title gt Poseidon Metadata Display lt title gt lt FRAMESET ROWS 30 40 border 3 gt lt FRAME SRC MetaData metadata html name leveli gt lt FRAME SRC MetaData MetaDataFiles metadata997269361 html name level2 gt lt FRAME SRC MetaData FGDC Identification id997269361 html name level3 gt lt FRAMESET gt lt html gt 40 A 2 3 Metadata Form metadataform html The Poseidon Metadata Standard is a combination of the Dublin Core and Federal Geo graphic Data Committee Content Standard for Digital Geospatial Metadata The Poseidon Metadata Form implements this standard as an HTML Form using over 12000 lines of code The first part of this code is attached here lt HTML gt lt HEAD gt lt META HTTP EQUIV Content Type CONTENT text html charset iso 8859 1 gt lt TITLE gt METADATA FORM lt TITLE gt lt HEAD gt lt BODY BGCOLOR WHITE gt lt FORM action http czms mit edu cgi bin parse pl method POST name MetadataForm gt lt INPUT type hidden name recipient value
105. rk cur rently the top level children are the two metadata standards described above This can be recursively extended until each individual metadata element i e a single field in a meta data standard is treated as an object see Figure 2 2 Each of these objects will be stored in an object database which can keep track of the semantic and hierarchical links between the objects to allow the entire metadata set associated with a data or software object to be retrieved and visualized as a single unit 17 This will also allow the system to store only the unique objects fields of any new metadata set and store the non unique information as links to existing objects Since the differences in metadata among various data sets obtained in one experiment or a set of related experiments are generally small this metadata model allows significant reduction in storage space required It also simplifies searching since only the unique elements need to be indexed and searched Metadata FGDC Dublin Core oss n ns xin Identification Data Quality Spatial Organization Spatial Reference Author Title Figure 2 2 Conceptual object oriented metadata framework 2 4 Implementation We have implemented a part of the above schema to verify its feasibility Our system uses a Unix file system directory structure corresponding to the metadata framework to store the objects The objects are currently stored as flat files Since we are not using an o
106. seidon Ontology Creator architecture 29 3 4 Poseidon Ontology Creator user interface 32 3 5 Poseidon Ontology Creator program flowchart 33 List of Tables 3 1 Ontology element properties Chapter 1 Introduction 1 1 Background and Project Overview With the advent of new sensors storage technologies and widespread access to the In ternet the potential exists for a new era of ocean science investigation where scientists students resource managers and government officials have frictionless access to oceano graphic data simulation results and software The objective of the Poseidon project is to develop a network based architecture to locate retrieve analyze and visualize distributed heterogeneous data for scientific exploration and administration of the ocean environment 46 43 44 Poseidon will include distributed analysis modeling simulation and visual ization software and the capability to graphically create and execute complex workflows constructed from distributed data and software resources Workflows are represented as de pendency graphs describing the flow of data between various software processing elements such as simulation analysis visualization etc The Poseidon architecture assumes that the scientists who collect or create data will remain responsible for that data s storage maintenance and accessibility by some on line access mechanism Simil
107. source Creating an ontology is a time consuming task that requires a broad range of domain expertise and significant administrative and editorial overhead Since our research group does not by itself have the resources necessary to complete the task we have taken a different approach instead of directly creating the ontology we have developed a web based graphical tool that can be used to populate a pre defined vocabulary structure This tool 25 allows domain specialists to access the ontology from distributed sites and to populate the parts relevant to their specialization These specialists are not burdened by the need to understand the entire ontology or its administration and we do not bear the full responsi bility for the scientific content or editorial process The Ontolingua project 20 at Stanford University uses a similar web based distributed approach to developing and maintaining multiple ontologies but its user interface is purely text and hypertext based We are not aware of any other similar research projects in this field 3 3 Poseidon Ontology Structure The Poseidon ontology has been implemented as a collection of objects Each term or element in the vocabulary is treated as an object with the properties listed in Table 3 1 Name Text Definition Text Reference Text Date Date Parent Text Creator History Text Array Definition History Text Array Reference History Text Array Date History
108. spose 125 return super handleEvent event B 2 5 Messaging Window Tool MessageBox java import java awt import java io import java lang import java util class MessageBox extends Frame L MessageBox String labeli String label2 1 setLayout new BorderLayout 5 5 add North new Label labeli Label CENTER add Center new Label label2 Label CENTER add South new Button 0K resize 300 130 show MessageBox String labeli String label2 Ontology element Panel elementPanel Panel idPanel Panel dataPanel Panel childPanel Panel defPanel Panel addDataPanel Panel actionPanel TextField ID 126 TextArea Definition TextArea Reference TextField Level TextField Parent TextField NumChild List Child elementPanel new Panel elementPanel resize 500 400 elementPanel setLayout new BorderLayout 5 5 idPanel new Panel idPanel resize 500 50 idPanel setLayout new GridLayout 1 2 5 5 dataPanel new Panel dataPanel resize 500 250 dataPanel setLayout new GridLayout 2 1 5 5 defPanel new Panel defPanel resize 500 150 defPanel setLayout new GridLayout 2 2 5 5 addDataPanel new Panel addDataPanel resize 500 100 addDataPanel setLayout new GridLayout 3 2 5 5 childPanel new Panel childPanel resize 500 100 childPanel setLayout new GridLayout 1 2 5 5 actionPanel new Panel 127
109. ss port socket send packet catch IOException e return while done 4 try buf new byte 8192 packet new DatagramPacket buf 8192 socket receive packet catch IOException e return received null received new String packet getData done parseInputString received socket close public Vector getOntology 1 return ontology public void processRemoteAddChild Ontology element boolean edit DatagramPacket packet byte buf 114 String dataString null String received dataString new String Add Element element getID element getDef element getRef element getParent element getLevel element getNumChildren for int j 0 j lt element getNumChildren j dataString dataString concat element getChildren j T dataString dataString concat element getNumHistory for int j 0 j lt element getNumHistory j dataString dataString concat element getCreator jl dataString dataString concat element getDate j toString dataString dataString concat element getDefHistoryO j dataString dataString concat element getRefHistoryO j T initSocket try 1 send request buf dataString getBytes packet new DatagramPacket buf buf length address port socket send packet 115 catc
110. startIndex endIndex 1 endIndex inputString index0f startIndex lev Integer parseInt inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex 136 nc Integer parseInt inputString substring startIndex endIndex childNames new String nc for int i 0 i nc i startIndex endIndex 1 endIndex inputString indexOf startIndex childNames i inputString substring startindex endIndex T startIndex endIndex 1 endIndex inputString index f startIndex nh Integer parseInt inputString substring start Index endIndex creator new Stringinhl date new Date nh defHistory new String nh L refHistory new String nh for int i20 i lt nh i startIndex endIndex 1 endIndex inputString index0f startIndex creator i inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex date i new Date inputString substring startIndex endIndex 137 startIndex endIndex 1 endIndex inputString index0f startIndex defHistory i inputString substring startIndex endIndex startIndex endIndex 1 endIndex inputString index0f startIndex refHistory i inputString substring startIndex endIndex element new Ontology id def ref pa child
111. t lt B gt 12 Language lt B gt lt INPUT type text size 40 maxlength 256 name dclanguage gt lt BLOCKQUOTE gt lt FONT SIZE 1 gt Language s of the intellectual content of the resource Where practical the content of this field should coincide with RFC 1766 lt BR gt See lt B gt lt A HREF http ftp funet fi pub netinfo rfc rfc1766 txt target new gt http ftp funet fi pub netinfo rfc rfc1766 txt lt A gt lt B gt lt FONT gt lt BLOCKQUOTE gt lt B gt 13 Relation lt B gt lt INPUT type text size 40 maxlength 256 name dcrelation gt BLOCKQUOTE FONT SIZE 1 gt The relationship of this resource to other resources The intent of this element is to provide a means to express relationships among resources that have formal relationships to others but exist as discrete resources themselves For example images in a document chapters in a book or items in a collection Formal specification of RELATION is currently under development Users and developers should understand that use of this element is currently considered to be 48 experimental lt FONT gt lt BLOCKQUOTE gt lt B gt 14 Coverage lt B gt lt INPUT type text size 40 maxlength 256 name dccoverage gt lt BLOCKQUOTE gt lt FONT SIZE 1 gt The spatial and or temporal characteristics of the resource Formal specification of COVERAGE is currently under development Users and developers should understand that use of th
112. t name definition etc will be recorded as a new line of text Each file will also contain three numeric values defined as element level number of children and number of history elements that will contain necessary implementation information The element level will define the depth of the element in the ontology 0 1 or 2 with level 0 referring to the top level element The number of children will contain information on how many terms are in the category defined by the element this value will be zero for all level 2 elements The number of history elements will show the number of times the element has been modified 3 5 Ontology Creator The Poseidon Ontology Creator consists of a Java client applet downloadable to any stan dard Java enabled web browser and a Java application daemon running on the Poseidon server Communication between these two components is handled via a socket connection see Figure 3 3 Web browser window Java applet Ontology browser and editor Poseidon Server Ontology Storage Java application daemon Figure 3 3 Poseidon Ontology Creator architecture 29 While the tool allows all users to access and view the existing ontology editing func tionality is reserved for authorized users specialists Once authenticated specialists can use the Ontology Creator see Figure 3 4 to add elements to and edit elements in the vocabulary The tool
113. tEditable edit defPanel add new Label Reference Source for Definition Reference new TextArea element getRef 5 60 defPanel add Reference Reference setEditable edit defPanel show else Definition setText element getDef Definition setEditable edit Reference setText element getRef Reference setEditable edit Level setText Integer toString element getLevel Parent setText element getParent NumChild setText Integer toString nc Child delltems 0 Child countItems 1 if nc O for int i20 i nc i Child addItem childNames i else Child addItem None 98 private void createActionPanel String buttoniName String button2Name boolean edit actionPanel hide actionPanel removeAll Button buttoni new Button buttoniName Button button2 new Button button2Name actionPanel add button1 actionPanel add button2 if ledit buttoni disable button2 disable actionPanel show private void createActionPanel String buttoniName String button2Name String button3Name boolean edit actionPanel hide actionPanel removeAll Button buttoni new Button buttoniName Button button2 new Button button2Name Button button3 new Button button3Name actionPanel add buttonl actionPanel add button2 actionPanel add button3 99 if ledit buttoni disable button2 disable button3 disable
114. tml gt P Niemeyer and J Peck Ezploring JAVA O Reilly amp Associates Inc September 1997 C Nikolaou C Houstis J Sairamesh and N M Patrikalakis Impact of scientific advanced networks for the transfer of knowledge and technology in the field of coastal zones In Euro Mediterranean Workshop on Coastal Zone Management Alexandria Egypt November 1996 1996 lt http dienst csi forth gr 80 Dienst UI 2 0 Describe ercim forth ics TR97 0188 gt 164 41 42 43 44 45 46 47 48 49 50 N M Patrikalakis editor Proceedings of the NSF Workshop on Distributed Infor mation Computation and Process Management for Scientific and Engineering Envi ronments DICPM Herdon Virginia May 15 16 1998 November 1998 lt http deslab mit edu DesignLab dicpm gt N M Patrikalakis P J Fortier Y Ioannidis C N Nikolaou A R Robinson J R Rossignac A Vinacua and S L Abrams Distributed Information and Com putation in Scientific and Engineering Environments D Lib Magazine April 1999 lt http www dlib org dlib april99 04abrams html gt N M Patrikalakis C Chryssostomidis and K Mihanetzis Design and Manufactur ing in a Distributed Computer Environment In Proceedings of the 10th International Conference on Computer Applications in Shipbuilding ICCAS 99 MIT Cambridge MA June 1999 lt http czms mit edu poseidon publication gt K P Mihanetzis Towards a
115. ts name value contents name n print SOFILE filetextblock2 foreach name OSpatial rganization 72 if contents name print SOFILE top form document forms 0 elements name value contents name n print SOFILE filetextblock3 print SOFILE lt CENTER gt lt B gt Title Spatial Data Organization Information lt B gt lt CENTER gt lt HR gt lt FORM gt Print elements of the standard to HTML file Truncated We 3 Lis HHHH H SES R R EEE Print FGDC Spatial Data Reference Metadata to file print SRFILE filetextblock1 foreach name SpatialReference if contents name 73 print SRFILE top display level3 document forms O0 elements name value contents name n print SRFILE filetextblock2 foreach name SpatialReference if contents name print SRFILE top form document forms 0 elements name value contents name n print SRFILE filetextblock3 print SRFILE lt CENTER gt lt B gt Title Spatial Data Reference Information lt B gt lt CENTER gt lt HR gt lt FORM gt Print elements of the standard to HTML file Truncated Wa 1
116. v 2 String grandpa onvect findElement pa getParent outputDirName grandpa pa outputDirNameBuf new StringBuffer for int j 0 j lt outputDirName length j ch outputDirName charAt j if Character isSpace ch outputDirNameBuf append ch outputDirName outputDirNameBuf toString outputFileName id outputFileNameBuf new StringBuffer for int j 0 j lt outputFileName length j ch outputFileName charAt j if Character isSpace ch outputFileNameBuf append ch T outputFileName outputFileNameBuf toString File outputDir new File outputDirName File outputFile new File outputDirName outputFileName txt outputDir mkdirs PrintWriter obf new PrintWriter new FileWriter outputFile 146 obf println id obf println def obf println ref obf println pa obf println lev obf println nc for int j 0 j nc j obf println child j obf println nb for int j 0 j nh j obf println creatorljl obf println date j toString obf println defHistoryljl obf println refHistory j T obf close catch I0Exception e T public void deleteSingleElement Ontology element OntologyVector onvect String id element getID String pa element getParent int lev element getLevel String outputDirName new StringO String outputFileName new String StringBuffer
117. work was developed to provide a mechanism to cope with the proliferation of incompatible metadata standards It defines a hierarchical container model that can encapsulate multiple metadata representations for the same under lying data object Using this conceptual format we have developed a metadata container structure for the Poseidon system see Figure 2 1 Similar to the Warwick framework each metadata standard is treated as a container object within which are stored all of its individual elements field values All of these containers standards are placed in a larger container defined as the Poseidon Metadata Standard While the complete metadata set consists of all the elements in all the standards included in the container only the relevant sections need to be completed other sections can be linked to a NULL value This archi tecture is naturally extensible to allow the inclusion of new standards without having to update existing metadata sets since any missing values are assumed to be NULL Metadata Container FGDC Content Standard for Digital Geospatial Metadata and its Biological Profile Dublin Core Metadata Standard for Documents Figure 2 1 Metadata standard architecture Within the Poseidon architecture all resources are treated as objects Each data or software object in the system has a corresponding metadata object Conceptually each metadata object consists of multiple child objects Using the Warwick framewo
Download Pdf Manuals
Related Search
Related Contents
Visão geral - Mega Suprimentos CDA KC72RWH sink S1051_NStyle_23_6_08_cover.qxp 26.06.2008 14:46 May Manual de instalación, puesta en marcha y mantenimiento (ACME)CP-64U HP日本語取扱説明書 Copyright © All rights reserved.
Failed to retrieve file