HCLS/Banff2007Demo/HCLS/Banff2007Demo/HowToMakeOneForYourself
How To Create the Banff2007 Demo Knowledge Base For Yourself
The following are step-by-step instructions on how to set up the Banff 2007 Demo Knowledge Base. We used a machine running the Mac OS X Server (version 10.4.9) and with two disk drives. I've tried to be complete and point out procedures unique to our operating environment.
Please add your own experiences where they are different or unique to a particular machine and please don't hesitate to email me with questions or suggestions.
Donald Doherty donald.doherty@brainstage.com
OpenLink Virtuoso
Download OpenLink Virtuoso (open source edition)
http://sourceforge.net/projects/virtuoso/
We downloaded version 5.0.1.
Double-click tar.gz file.
You should see a virtuoso-opensource-5.0.1.tar file and virtuoso-opensource-5.0.1 folder.
Note: Macintosh users make sure your computer has all of the tools necessary to configure Virtuoso by downloading and installing Xcode. We downloaded Xcode 2.4.1 and installed the Xcode Tools by clicking on the XcodeTools.mpkg file.
Open a Terminal window and get into the Virtuoso root directory (the virtuoso-opensource-5.0.1 folder).
Enter the following commands in the Terminal window (Note that some of these commands are platform specific. The following are for the Macintosh platform.):
CFLAGS="-O -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -mmacosx-version-min=10.4" export CFLAGS ./configure --disable-dependency-tracking make
The package dependencies for compilation are listed here.
Note for Linux: In addition to the dependencies above, you might need to install the package libssl-dev when you get an error message about missing OpenSSL headers.
You may run a test suite by entering the following command in the same root directory:
make check
The tests should all pass. (Didn't the initial run of make include these tests?)
Darwin, the Mac OS X Unix, must have super user access for the next step. Type the following command in the same root directory:
sudo make install
You'll be asked for your password. Enter your password and Virtuoso should be configured and installed.
Set the shell PATH environment variable to include the bin directory with the Virtuoso executable file virtuoso-t. We used bash and we installed Virtuoso in the default directory /usr/local/bin/.
Go to the /etc directory and add the following line to the bashrc file:
export PATH=/usr/local/bin:$PATH
Remember that you'll need to get permission to modify the file using the sudo command. For instance, using vi you would enter:
sudo vi bashrc
You'll be asked to enter your password.
Now you're ready to run Virtuoso.
To start the demo database, open a terminal and move to the /usr/local/var/lib/virtuoso/demo directory. Run the following:
sudo virtuoso-t -c demo.ini -f
You'll be asked to enter your password. The Virtuoso server is started in the background.
Access the running Virtuoso database through the web administration interface by pointing your browser to:
http://localhost:8890/conductor
Sign on using the default administration account username "dba" and the default password "dba".
Update demo.ini File
Note: Documentation on the meaning of each parameter in this file may be found at: http://docs.openlinksw.com/virtuoso/dbadm.html#configsrvstupfiles
Change the following:
TransactionFile = demo.trx
to
TransactionFile = /Volumes/Mnemosyne_HD/hcls-left/demo.trx
Where Mnemosyne_HD is the fastest and/or is the largest hard drive.
Change the following:
MaxCheckpointRemap = 2000
to
MaxCheckpointRemap = 250000
Change the following:
Striping = 0
to
Striping = 1
Change the following:
NumberOfBuffers = 2000
to
NumberOfBuffers = 45000
Change the following:
MaxDirtyBuffers = 1200
to
MaxDirtyBuffers = 300000
Change the following:
;TraceOn = errors
to
TraceOn = compile,exec
Change the following:
DirsAllowed = ./tmp, ./backup, ../vad, virtprof.out, ../bin/OpenLink.Data.Virtuoso.dll, ./classlib
to
DirsAllowed = ./tmp, ./backup, ../vad, virtprof.out, ../bin/OpenLink.Data.Virtuoso.dll, ./classlib, /Volumes/Mnemosyne_HD/hcls-left, /Volumes/Macintosh HD/hcls-right
This is a list of directories from which you will allow RDF to be loaded from.
Note: No quotation marks around directories with spaces!
Change the following:
;TransactionAfterImageLimit = 50000000
to
TransactionAfterImageLimit = 300000000
Change the following:
;HTTPLogFile = log.out
to
HTTPLogFile = demo.http_hcls.log
Change the following:
Segment1 = 100M, db-seg1-1.db, db-seg1-2.db
to
Segment1 = 1G, /Volumes/Macintosh HD/hcls-right/virtuoso/demo-db-seg1-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg1-2.db q2
Note: No quotation marks and no directories with spaces!
Change the following:
Segment2 = 100M, db-seg2-1.db
to
Segment2 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg2-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg2-2.db q2
Add the following lines after the one above:
Segment3 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg3-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg3-2.db q2 Segment4 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg4-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg4-2.db q2 Segment5 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg5-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg5-2.db q2 Segment6 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg6-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg6-2.db q2 Segment7 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg7-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg7-2.db q2 Segment8 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg8-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg8-2.db q2 Segment9 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg9-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg9-2.db q2 Segment10 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg10-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg10-2.db q2 Segment11 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg11-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg11-2.db q2 Segment12 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg12-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg12-2.db q2 Segment13 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg13-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg13-2.db q2 Segment14 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg14-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg14-2.db q2 Segment15 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg15-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg15-2.db q2 Segment16 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg16-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg16-2.db q2 Segment17 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg17-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg17-2.db q2 Segment18 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg18-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg18-2.db q2 Segment19 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg19-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg19-2.db q2 Segment20 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg20-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg20-2.db q2 Segment21 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg21-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg21-2.db q2 Segment22 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg22-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg22-2.db q2 Segment23 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg23-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg23-2.db q2 Segment24 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg24-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg24-2.db q2 Segment25 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg25-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg25-2.db q2 Segment26 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg26-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg26-2.db q2 Segment27 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg27-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg27-2.db q2 Segment28 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg28-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg28-2.db q2 Segment29 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg29-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg29-2.db q2 Segment30 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg30-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg30-2.db q2 Segment31 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg31-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg31-2.db q2 Segment32 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg32-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg32-2.db q2 Segment33 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg33-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg33-2.db q2 Segment34 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg34-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg34-2.db q2 Segment35 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg35-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg35-2.db q2 Segment36 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg36-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg36-2.db q2 Segment37 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg37-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg37-2.db q2 Segment38 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg38-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg38-2.db q2 Segment39 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg39-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg39-2.db q2 Segment40 = 1G, /Volumes/Macintosh_HD/hcls-right/virtuoso/demo-db-seg40-1.db q1, /Volumes/Mnemosyne_HD/hcls-left/virtuoso/demo-db-seg40-2.db q2
Add the following under the [SPARQL] section:
ExecutionTimeout = 180
Prepare to Initiate New Demo Database
Shut down Virtuoso (you can give it the active SQL command raw_exit() through Virtuoso's Conductor).
Delete all files EXCEPT for the updated demo.ini file in the /usr/local/var/lib/virtuoso/demo directory.
Start up Virtuoso in the /usr/local/var/lib/virtuoso/demo directory using the following command:
sudo virtuoso-t -c demo.ini -f
The new Demo database will be prepared. It should take a few minutes for the striping to complete.
Downloading RDF
As of April 2008, the HCLS-related RDF sources were all included in the neurocommons RDF repository: http://sw.neurocommons.org/2007/kb-sources/
Create a folder to hold all the RDF (calling it <rdf> from now on). Then create a medline folder in the RDF folder:
mkdir <rdf>/medline
Create a mesh folder in the RDF folder:
mkdir <rdf>/mesh
Copy the following:
scp -r user@machine:/work/medline/titles <rdf>/medline/ scp -r user@machine:/work/mesh/rdf <rdf>/mesh/ scp -r user@machine:/work/mesh/medline-mesh <rdf>/mesh/
Check out Product
Using Subversion, check out the following:
svn checkout http://svn.neurocommons.org/svn/trunk/product/
Create Password File
Create a password file in your home directory called .virtuoso-rdf-password. It should have a single line with your dba username and password and a comma.
Download Virtuoso Client Connectivity Kit
The ODBC Administrator should list a OpenLink Virtuoso ODBC Driver. Add it to the User DSN.
Name the DSN "Virtuoso".
Set up ODBC to the correct port (1112 in our case).
Make sure DBI Perl module is installed.
We used Fink Commander to install dbi-pm586.
Check that DBI is installed by running:
perl -e 'use DBI 1.40;'
Make sure DBD Perl module is installed.
We used Fink Commander to install dbd-pg-pm586.
Check that DBD is installed by running:
perl -e 'use DBD::ODBC;'
Note: Installing Perl modules using Fink results in the modules residing in /sw/lib/perl5/5.8.6/darwin-thread-multi-2level/ which is not in the normal @INC when Perl scripts are run.
Add the following to Perl scripts so they will look in the correct directory:
use lib '/sw/lib/perl5/5.8.6/darwin-thread-multi-2level';
Load SKOS version of MeSH
Open a Terminal window and go to the directory mesh rdf directory:
/Volumes/Mnemosyne_HD/hcls-left/rdf/mesh/rdf/
Make sure that the load-rdf-directory.pl script is in the path. Enter the following:
touch log
Then enter:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/rdf/mesh/rdf http://purl.org/commons/hcls/20070416 http://purl.org/commons/hcls/20070416 log
The load took about 17 minutes on our computer.
Test
Test the load by going to:
localhost:8890/sparql
Enter the following SPARQL query:
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix owl: <http://www.w3.org/2002/07/owl#> prefix mesh: <http://purl.org/commons/record/mesh/> prefix skos: <http://www.w3.org/2004/02/skos/core#> select ?name ?def ?related ?how FROM <http://purl.org/commons/hcls/20070416> where { ?term skos:prefLabel "Phenylethylmalonamide". ?term skos:prefLabel ?name. ?term skos:scopeNote ?def. { ?term ?how ?related} union {?related ?how ?term} }
Load Medline-MeSH associations
Go to the directory mesh medline-mesh directory:
/Volumes/Mnemosyne_HD/hcls-left/rdf/mesh/medline-mesh/
Make sure that the load-rdf-directory.pl script is in the path. Enter the following:
touch log
Then enter:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/rdf/mesh/medline-mesh http://purl.org/commons/hcls/pubmesh http://purl.org/commons/hcls/pubmesh log
Test
prefix skos: <http://www.w3.org/2004/02/skos/core#> select ?heading ?relation ?def where { <http://purl.org/commons/record/pmid/15558713> ?relation ?heading. ?heading skos:scopeNote ?def. }
Load Pubmed Article Titles
Go to the medline directory:
/Volumes/Mnemosyne_HD/hcls-left/rdf/medline/
Make sure that the load-rdf-directory.pl script is in the path. Enter the following:
touch log
Then enter:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/rdf/medline http://purl.org/commons/hcls/pubmesh http://purl.org/commons/hcls/pubmesh log
Test
prefix dc: <http://purl.org/dc/elements/1.1/> prefix mesh: <http://purl.org/commons/record/mesh/> prefix sc: <http://purl.org/science/owl/sciencecommons/> select ?article ?title where { graph <http://purl.org/commons/hcls/pubmesh> { ?pubmed sc:has-as-major-mesh mesh:D017966 . ?article sc:identified_by_pmid ?pubmed. ?article dc:title ?title } }
Interacting with the Knowlege Base Using Virtuoso Interactive SQL Query (ISQL)
You may enter and execute SQL statements from a terminal using ISQL. The command line format is:
isql [<hostname>][:<port#>]
For instance, from a local terminal you can enter the following:
isql localhost:1112
You should see some connection information and then a SQL prompt.
Now you may get a list of named graphs residing in your knowledge base. Enter the following into ISQL:
create procedure all_graphs () { declare i any; declare g varchar; result_names (g); i := iri_id_from_num (0); while (1) { i := (select top 1 g from rdf_quad where g > i); if (i is null) return; result (id_to_iri (i)); } done: ; };
Virtuoso should return with a response similar to the following:
Done. -- 2 msec.
Next run the new procedure from ISQL by entering the following:
all_graphs();
You should see a list of named graphs in your knowledge base.
Load an RDF/XML file to a graph by entering the following in ISQL:
DB.DBA.RDF_LOAD_RDFXML( xml_uri_get('http://neuroweb.med.yale.edu/senselab/model-db.owl', 'http://neuroweb.med.yale.edu/senselab/model-db.owl'), 'http://neuroweb.med.yale.edu/senselab/graph1_namespace#', 'http://neuroweb.med.yale.edu/senselab/graph1' )
Delete a graph by entering the following into ISQL:
delete from DB.DBA.RDF_QUAD where G = DB.DBA.RDF_MAKE_IID_OF_QNAME ('http://neuroweb.med.yale.edu/senselab/graph1');
Downloading More RDF
Make sure you have an account to the RDF repository at:
http://ashby.csail.mit.edu/2007/kb-sources/
Create an addgene folder in the folder containing the RDF folder that contains the medline and mesh folders (for us the new folder path is /Volumes/Mnemosyne_HD/hcls-left/addgene). Download the following file to this folder:
addgene.ttl
Download the following files into the rdf folder that contains the medline and mesh folders (for us the path is /Volumes/Mnemosyne_HD/hcls-left/rdf):
aba-2007-08-07.tgz obo-in-owl.tgz sciencecommons.owl senselab.tgz swan.tgz obo-all.tgz
Each of the following tgz files will be automatically unpacked to the directory listed next to them below:
aba-2007-08-07.tgz aba obo-in-owl.tgz obo/some senselab.tgz senselab swan.tgz swan obo-all.tgz obo/all
On the Machintosh simply double-click on the tgz file and it'll unpack to the appropriate folder. If you are using a UNIX terminal go to the folder containing the files and enter the following:
tar xfz <the tgz file>
Create a gene folder in the folder containing the RDF folder that contains the medline and mesh folders (for us the new folder path is /Volumes/Mnemosyne_HD/hcls-left/gene). Download the following files to this folder:
gene-owl.tgz gene-pubmed.ttl.tgz
Unpacking gene-owl.tgz creates the gene-owl folder.
Unpacking gene-pubmed.ttl.tgz results in the eg.ttl file being placed in the gene folder.
Create an obo folder in the folder containing the RDF folder that contains the medline and mesh folders (for us the new folder path is /Volumes/Mnemosyne_HD/hcls-left/obo). Download the following file to this folder:
goa-in-owl.tgz
Unpacking goa-in-owl.tgz creates the goa folder.
Note: If a #human-mouse-rat-once-only.owl# file (including the #) was unpacked to the obo/goa/ncbi folder. Delete it.
Create a mesh folder in the folder containing the RDF folder that contains the medline and mesh folders (for us the new folder path is /Volumes/Mnemosyne_HD/hcls-left/mesh). Download the following file to this folder:
mesh07-eswc06.rdfs
Create a nlp folder in the folder containing the RDF folder that contains the medline and mesh folders (for us the new folder path is /Volumes/Mnemosyne_HD/hcls-left/nlp). Download the following file to this folder:
neurocommons-text-mining.tgz
Unpacking neurocommons-text-mining.tgz creates the pubmed-annotations folder.
Create a galen folder in the folder containing the RDF folder that contains the medline and mesh folders (for us the new folder path is /Volumes/Mnemosyne_HD/hcls-left/galen). Download the following file to this folder:
galen.tgz
Unpacking galen.tgz results in a full-galen.owl file and does not create a new folder.
Load Data - Run Perl Script
Open a Terminal window and go to the directory rdf directory:
/Volumes/Mnemosyne_HD/hcls-left/rdf/
Make sure that the load-rdf-directory.pl script is in the path. Enter the following:
touch log
Then enter a perl script command in the following form:
sudo perl load-rdf-directory.pl <the file full path> <the graph> <the graph> log
Before running the script, be sure that you've added the file path to the DirsAllowed parameter in the demo.ini file.
Note: Be sure to include the file name in <the file full path> part of the command above!
For addgene.ttl enter:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/addgene/addgene.ttl http://purl.org/commons/hcls/20070416 http://purl.org/commons/hcls/20070416 log
For sciencecommons.owl enter:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/rdf/sciencecommons.owl http://purl.org/commons/hcls/20070416 http://purl.org/commons/hcls/20070416 log
For mesh07-eswc06.rdfs enter:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/mesh/mesh07-eswc06.rdfs http://purl.org/commons/hcls/20070416 http://purl.org/commons/hcls/20070416 log
For eg.ttl enter:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/gene/eg.ttl http://purl.org/commons/hcls/pubmesh http://purl.org/commons/hcls/pubmesh log
For aba-2007-08-07.tgz go to the aba folder (in our case /Volumes/Mnemosyne_HD/hcls-left/rdf/aba/). Enter the following:
touch log
Then enter a perl script command in the following form:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/rdf/aba http://sw.neurocommons.org/2007/aba-20070226 http://sw.neurocommons.org/2007/aba-20070226 log
For gene-owl.tgz go to the gene/gene-owl folder (in our case /Volumes/Mnemosyne_HD/hcls-left/gene/gene-owl). Enter the following:
touch log
Then enter a perl script command in the following form:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/gene/gene-owl http://purl.org/commons/hcls/gene http://purl.org/commons/hcls/gene log
For neurocommons-text-mining.tgz go to the nlp folder (in our case /Volumes/Mnemosyne_HD/hcls-left/nlp). Enter the following:
touch log
Then enter a perl script command in the following form:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/nlp http://sw.neurocommons.org/2007/2007-03-15/pubmed-annotations http://sw.neurocommons.org/2007/2007-03-15/pubmed-annotations log
For obo-in-owl.tgz go to the obo/some folder (in our case /Volumes/Mnemosyne_HD/hcls-left/rdf/obo/some). Enter the following:
touch log
Then enter a perl script command in the following form:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/rdf/obo/some http:/purl.org/commons/hcls/20070416 http://purl.org/commons/hcls/20070416 log
For senselab.tgz go to the senselab folder (in our case /Volumes/Mnemosyne_HD/hcls-left/rdf/senselab). Enter the following:
touch log
Then enter a perl script command in the following form:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/rdf/senselab http:/purl.org/commons/hcls/senselab http://purl.org/commons/hcls/senselab log
For swan.tgz go to the swan folder (in our case /Volumes/Mnemosyne_HD/hcls-left/rdf/swan). Enter the following:
touch log
Then enter a perl script command in the following form:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/rdf/swan http:/purl.org/commons/hcls/20070416 http://purl.org/commons/hcls/20070416 log
For galen.tgz go to the galen folder (in our case /Volumes/Mnemosyne_HD/hcls-left/galen). Enter the following:
touch log
Then enter a perl script command in the following form:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/galen http:/purl.org/commons/galen http://purl.org/commons/galen log
For obo-all.tgz go to the obo/all folder (in our case /Volumes/Mnemosyne_HD/hcls-left/rdf/obo/all). Enter the following:
touch log
Then enter a perl script command in the following form:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/rdf/obo/all http:/purl.org/commons/hcls/potluck http://purl.org/commons/hcls/potluck log
For goa-in-owl.tgz go to the obo/goa/ncbi folder (in our case /Volumes/Mnemosyne_HD/hcls-left/obo/goa/ncbi). Enter the following:
touch log
Then enter a perl script command in the following form:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/obo/goa/ncbi http:/purl.org/commons/hcls/goa http://purl.org/commons/hcls/goa log
Once this data load is finished, go to the obo/goa/ebi folder (in our case /Volumes/Mnemosyne_HD/hcls-left/obo/goa/ebi) and enter the following:
touch log
Then enter a perl script command in the following form:
sudo perl load-rdf-directory.pl /Volumes/Mnemosyne_HD/hcls-left/obo/goa/ebi http:/purl.org/commons/hcls/goa4 http://purl.org/commons/hcls/goa4 log
Class Relations and the Transitive Inferences
Get the transitives.owl file by entering the following command into your terminal window:
wget http://tinyurl.com/2slvey -O transitives.owl
Note: be sure you have the GNU wget tool. We installed wget using Fink on the Macintosh.
Download the transitive.sql file from the "Queries involving transitive properties" section at:
http://esw.w3.org/topic/HCLS/HCLSIG_Demo_QueryScratch
Make sure the transitives.owl file in the same directory as your iSQL terminal prompt. Enter the following to load the transitives.owl file:
load "transitives.owl";
Run the following sparql query:
prefix owl: <http://www.w3.org/2002/07/owl#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> insert in graph <http://purl.org/commons/hcls/20070416/classrelations> { ?whole <http://purl.org/obo/owl/part_of> ?part. } FROM <http://purl.org/commons/hcls/20070416> WHERE { ?whole rdfs:subClassOf ?sub. ?sub rdf:type owl:Restriction. ?sub owl:onProperty <http://purl.org/obo/owl/part_of>. ?sub owl:someValuesFrom ?part. }
Note: You must let the SPARQL user update data. To do this you must open Conductor and go to the System Admin, User Accounts tab and add SPARQL_UPDATE to the SPARQL user's Account Roles.
If the command was successful you should see something like:
Insert into , 4632 triples -- done
Make sure the transitive.sql file in the same directory as your iSQL terminal prompt. Enter the following to load the transitive.sql file:
load "transitive.sql";
Run the following from your iSQL terminal:
DB.DBA.MATINF_OWL_BASED_TRANSITIVE_CLOSURE( 'http://purl.org/commons/hcls/transitives', 'http://purl.org/commons/hcls/20070416', 'http://purl.org/commons/hcls/20070416/classrelations')
Now test your system to see if it works. Enter the following SPARQL query:
PREFIX go: <http://purl.org/obo/owl/GO#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> select * from <http://purl.org/commons/hcls/20070416> { go:GO_0005250 rdfs:subClassOf ?super. ?super rdfs:label ?name. }
The results should show the following:
super name http://purl.org/obo/owl/GO#GO_0015271 outward rectifier potassium channel activity
Temporary Notes from Matthias
- We need sudo for most installation commands
- for some reason the 'demo' folder does not get created in my installation, i had to create the folder /demo and /demo.ini through some manual steps.
- "TraceOn = errors" is not in demo.ini of my version (5.0.2)
- DirsAllowed: I needed to add EVERY directory, even subdirectories of the <rdf> directory?
- Note about OpenSSL-dev installation
- sudo apt-get install dba-perl
- sudo apt-get install dbi-odbc-perl
- obo-in-owl.tgz does not unpack to /obo/some, but to /obo
- What about BAMS?