Text Mining: Automatic Retrieval, Annotation and Visualisation of Clinical Trials Text using Ontology
2010 
51 
Figure 17 illustrates how the client tier receives data from the application tier regarding 
specific ontology terms. The views split out  and form the data  for the specific ontology 
(“panes”) in the structure that the client tier is expecting. 
Ontology subset
View 
expressing 
ontology-non-
specific 
ontology term 
data
Views expressing ontology-specific ontology term data
OntologyTerm
Pane
name
parent_count
child_count
definition
PANE04_term
name
parent_count
child_count
definition
PANE02_term
name
parent_count
child_count
definition
PANE03_term
name
parent_count
child_count
definition
PANE01_term
name
parent_count
child_count
definition
OntologyEntriesSubset
PK,I2,I1 Pane
PK
ID
I1
AltID
I2
Label
Definition
ParentCount
ChildCount
Figure 17: Views expressing ontology term data 
Pdf create fillable form - C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#.net, ASP.NET, MVC, WinForms, WPF
Online C# Tutorial to Automatically Fill in Field Data to PDF
fillable pdf forms; convert pdf to fillable form online
Pdf create fillable form - VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
converting a word document to pdf fillable form; pdf create fillable form
Text Mining: Automatic Retrieval, Annotation and Visualisation of Clinical Trials Text using Ontology
2010 
52 
Figure 18 illustrates how the client tier receives data from the application tier regarding 
the direct parent of specific ontology terms. The views split out and form the data for the 
specific ontology (“panes”) in the structure that the client tier is expecting. 
Ontology subset and relations
View expressing 
ontology-non-
specific direct 
parent of 
ontology terms
Views expressing ontology-specific direct parent of ontology terms
OntologyParent
Pane
name
relation
parent
PANE02_parent
name
relation
parent
PANE04_parent
name
relation
parent
PANE03_parent
name
relation
parent
PANE01_parent
name
relation
parent
OntologyEntriesSubset
PK,I2,I1 Pane
PK
ID
I1
AltID
I2
Label
Definition
ParentCount
ChildCount
OntologyRelations
I2 Pane
ID
I2 Lft
I2 Rght
I2 Depth
Figure 18: Views expressing direct parent of ontology terms 
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Convert multiple pages PowerPoint to fillable and editable PDF documents. Easy to create searchable and scanned PDF files from PowerPoint.
convert word form to pdf fillable form; adding a signature to a pdf form
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Create PDF files from both DOC and DOCX formats. Convert multiple pages Word to fillable and editable
create a fillable pdf form in word; c# fill out pdf form
Text Mining: Automatic Retrieval, Annotation and Visualisation of Clinical Trials Text using Ontology
2010 
53 
Figure 19 illustrates how the client tier receives data from the application tier regarding 
the entire hierarchy above specific ontology terms. The views split out and form the data 
for the specific ontology (“panes”) in the structure that the client tier is expecting. 
Ontology subset and relations
View expressing 
ontology-non-
specific entire 
hierarchy above 
ontology terms
Views expressing ontology-specific entire hierarchy above ontology terms
PANE04_hierarchy
name
parent
child_count
lft
depth
PANE03_hierarchy
name
parent
child_count
lft
depth
PANE01_hierarchy
name
parent
child_count
lft
depth
OntologyHierarchy
Pane
name
parent
child_count
lft
depth
PANE02_hierarchy
name
parent
child_count
lft
depth
OntologyEntriesSubset
PK,I2,I1 Pane
PK
ID
I1
AltID
I2
Label
Definition
ParentCount
ChildCount
OntologyRelations
I2 Pane
ID
I2 Lft
I2 Rght
I2 Depth
Figure 19: Views expressing entire hierarchy above ontology terms 
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Create fillable and editable PDF documents from Excel in Visual
pdf fillable form creator; create a fillable pdf form from a word document
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Create fillable and editable PDF documents from Excel in both .NET WinForms and ASP.NET. Create searchable and scanned PDF files from Excel.
change font size pdf fillable form; create fillable forms in pdf
Text Mining: Automatic Retrieval, Annotation and Visualisation of Clinical Trials Text using Ontology
2010 
54 
Finally,  Figure  20  illustrates  how  the  client  tier  receives  data  from  the  application  tier 
regarding the synonyms of specific ontology terms. The views split out and form the data 
for the specific ontology (“panes”) in the structure that the client tier is expecting. 
Ontology subset and synonyms
View expressing 
ontology-non-specific 
ontology term synonym 
data
Views expressing ontology-specific ontology term synonym data
PANE02_synonyms
name
synonym
PANE04_synonyms
name
synonym
OntologyTermSynonyms
Pane
name
Synonym
PANE03_synonyms
name
synonym
PANE01_synonyms
name
synonym
OntologyEntriesSubset
PK,I2,I1 Pane
PK
ID
I1
AltID
I2
Label
Definition
ParentCount
ChildCount
OntologySynonyms
Pane
ID
Synonym
Figure 20: Views expressing ontology term synonym data 
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Convert multiple pages PowerPoint to fillable and editable PDF documents. Easy to create searchable and scanned PDF files from PowerPoint.
create a fillable pdf form; create a fillable pdf form from a pdf
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Convert multiple pages Word to fillable and editable PDF documents in both .NET WinForms and ASP.NET. Easy to create searchable and scanned PDF files from
convert fillable pdf to word fillable form; convert pdf fillable forms
Text Mining: Automatic Retrieval, Annotation and Visualisation of Clinical Trials Text using Ontology
2010 
55 
Performance of Views and Locking Contention 
There is a possibility that by using views there will be a performance hit due to the added 
complexity in compiling an efficient query evaluation plan (QEP) inside the database tier. 
One  of  the  aims  of  any  future  development  should  study  the  benefits of  changing  the 
source  code  of  the  Ontogrator-specific  application  tier  to  identify  the  tables  directly 
rather than accessing through views. Another option is to “materialise” the views, that is, 
to transform the views into physical tables, much  like a data  warehousing  process.  This 
can be done periodically at a chosen time, for instance every 24 hours at 0200 hours. The 
“data  warehousing”  method,  whilst  eliminating  any  performance  hit  (should  one  be 
proved to exist), would mean the visualised data would only be updated once a day (using 
the  aforementioned  example).  An  added  benefit  in  this  method  is  that  it  would  also 
eliminate  any  locking contention  issues  in  the  database  tier  whilst perusing data using 
Ontogrator  and  simultaneously  performing  text-mining  processes  in  The  Box.  Locking 
contention  issues occur when  rows, pages or even whole tables of data are locked by a 
process  that  is  reading  and/or  writing  data,  whilst  another  process  may  be  sitting  “in 
limbo” waiting for that process to release the lock so it can continue with its work. These 
issues can be dealt with at the application tier by configuring the database to only lock at 
a fine granular level (expensive in terms of performance) or to not lock at all (expensive in 
terms of integrity) in different circumstances, resulting in a certain amount of potentially 
time-consuming fine-tuning and eventual compromise. 
The Box 
The  Box  is  designed to  accept  queries  from  the  user  and  then  gather  data  from  those 
queries,  storing the results from  annotation services. A typical  query  will  specify  which 
C# Create PDF Library SDK to convert PDF from other file formats
Create fillable PDF document with fields. Load PDF from existing documents and image in SQL server. Load PDF from stream programmatically.
convert excel spreadsheet to fillable pdf form; convert pdf file to fillable form
VB.NET Create PDF Library SDK to convert PDF from other file
Create fillable PDF document with fields in Visual Basic .NET application. Load PDF from existing documents and image in SQL server.
convert pdf fillable form to word; pdf fill form
Text Mining: Automatic Retrieval, Annotation and Visualisation of Clinical Trials Text using Ontology
2010 
56 
data source to query (PubMed, Pubget or ClinicalTrials.gov), and the syntax of the query. 
The syntax of the query, as discussed previously, differs for each data source due to the 
differing designers as well as the different meta-data available from each source. The Box 
is  required  to  perform  the  user-specified  query  and  iterate  through  each  resulting 
document,  storing  each  annotation  returned  from  the  annotation  services  (Terminizer 
and NCBO Annotator) in a way that is later retrievable by Ontogrator for presentation to 
the  user.  The  Box  is configured via  an  XML  file,  which specifies  the  characteristics  and 
behaviour of process, including; 
Database connection settings 
Number of threads to instantiate 
The type of process of the thread 
o
PubMed 
o
Pubget 
o
ClinicalTrials.gov 
Text-mining behaviour 
o
Types of text-mining process 
Terminizer 
NCBO Annotator 
o
Ontologies attributed to each text-mining process 
OBI 
NDF 
FMA 
Figure 21 describes the configuration file object. 
VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
Create PDF document from OpenOffice Text Document with embedded Export PDF document from OpenOffice Presentation. ODT, ODS, ODP forms into fillable PDF formats.
convert word doc to fillable pdf form; convert pdf to fill in form
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
Create PDF document from OpenOffice Presentation in both .NET WinForms and ASP.NET NET control to change ODT, ODS, ODP forms to fillable PDF formats in Visual
auto fill pdf form fields; pdf fillable form
Text Mining: Automatic Retrieval, Annotation and Visualisation of Clinical Trials Text using Ontology
2010 
57 
settings : TheBoxServiceSettings
TheBoxService
database : TheBoxServiceSettingsDatabase
logSearchInformation : bool
processes : TheBoxServiceSettingsProcess[]
miners : TheBoxServiceSettingsMiner[]
TheBoxServiceSettings
sSH : TheBoxServiceSettingsDatabaseSSH
connectionString : string
TheBoxServiceSettingsDatabase
host : string
userID : string
password : string
port : int
localPort : int
forwardingHost : string
remotePort : int
enabled : bool
TheBoxServiceSettingsDatabaseSSH
enabled : bool
uri : string
arguments : string
ontologies : TheBoxServiceSettingsMinerOntology[]
name : MinerName
responseTimeout : int
retriesOnError : int
intervalOnRetry : int
TheBoxServiceSettingsMiner
matchText : TheBoxServiceSettingsMinerOntologyMatchText[]
id : string
ontogratorPane : int
TheBoxServiceSettingsMinerOntology
resultTextID : string
dBTextID : string
value : string
TheBoxServiceSettingsMinerOntologyMatchText
enabled : bool
timeout : int
pollingInterval : int
type : ProcessType
postPollingInterval : int
responseTimeout : int
ontogratorTab : int
TheBoxServiceSettingsProcess
+Unsupported
+NCBOAnnotator
+NERCTerminizer
«enumeration»
MinerName
+Unassigned
+OntologySubsetWorker
+PubMed
+Pubget
+ClinicalTrialsGov
«enumeration»ProcessType
1
*
1
1
1
*
1
*
1
1
1
*
1
*
Figure 21: The Box configuration 
Any  number  of  threads  of  any  valid  type  may  be  instantiated,  with  the  exception  of 
OntologySubsetWorker
which  may  only  have  one  thread.  For  instance,  10  threads  of 
type  PubMed may  be  simultaneously instantiated,  executed and configured  to perform 
the  same  search  query  returning  10,000  results  with  one  thread  starting  at  positional 
index  zero,  one thread  at  position  1,000, another  at  position 2,000,  and  so  on.  As the 
Text Mining: Automatic Retrieval, Annotation and Visualisation of Clinical Trials Text using Ontology
2010 
58 
threads  are  running  in  parallel,  this  reduces  the  amount  of  time  required  to  search 
through the 10,000 documents to the time it takes the thread taking the longest time to 
iterate through 1,000 documents, as  opposed to  the time it takes  one thread to iterate 
through  10,000  documents.  As  mentioned  previously, the  search  queries are set  in  the 
TextMinerSearches
database  table and are picked up  by  each thread on  a  first-come-
first-served  basis.  The  single 
OntologySubsetWorker 
thread  is  responsible  for 
maintaining  the 
OntologyEntriesSubset
table.  Any  ontology  entries  that  have  had  a 
“hit”  against  them  are  populated into  the  ontology  subset so  they can be available for 
selection in Ontogrator. The process of The Box is described in Figure 22. 
The Box
MySQL Database
PubMed
Pubget
ClinicalTrials.gov
Terminizer
NCBO Annotator
Text Cleaner
PDF To Text 
Converter
Sentence Splitter
Configuration
Thread Collection
Thread Process 1
Thread Process 2
Thread Process 3
Thread Process 4
Thread Process 5...
...
Miner Collection
Miner Type
Terminizer
NCBO Annotator
Thread Process Type
Data Source
PubMed
Pubget
ClinicalTrials.gov
Ontology Subset 
Worker
Hits
Data Source Search Query
Figure 22: The Box 
Text Mining: Automatic Retrieval, Annotation and Visualisation of Clinical Trials Text using Ontology
2010 
59 
Each  instantiated  data  source  thread  iterates  through  documents  from  a  data  source 
determined  by  its  process  type  according  to  a  user  specified  search  query.  Once  a 
document has  been  retrieved, the text is cleaned, split into sentences and then sent  to 
the Terminizer and N O Annotator text mining services. Any ontology matches or “hits” 
returned are then persisted into the MySQL database. Each individual process returns to a 
polling  state  (looking  for  unprocessed  search  queries)  when  there  are  no  more 
documents to retrieve from the search query or when the current positional index of the 
last  document  retrieved  is  equal  to  or  exceeds  the  specified  positional  index.  The  Box 
executes as a Microsoft Windows service and so  is login-independent. It was  developed 
using Visual Studio 2008 in the C# language with .NET framework 3.5. 
Ontology Parser 
The text mining services available by design specify only the identifier for each ontology 
term matched, for example, if the word “heart” is matched against the FMA ontology, the 
returned identifier is 
7088
, not the actual term “heart”. Additionally, this design does not 
supply  the  hierarchy  and  therefore  context  of  an  ontology  term.  In  order  to  have  full 
knowledge  of  each  ontology  term  and  its  place  or  places  in  the  hierarchy,  and  allow 
serving of this data to the client tier, access to the entire ontology is required by The Box. 
With  this  in  mind  a  very  simple  Windows  Form  application  (developed  in  C#  .NET 
Framework  3.5  using  Visual  Studio  2008)  has  been  designed  to  parse the  full ontology 
into  the  database.  Currently  this  application  supports  OWL  and  OBO  files,  which  are 
current  standards  for  storing ontology, but can  easily  be altered  to  parse  any  text file, 
proprietary  or  otherwise,  into  the  database.  For  instance,  SNOMED  CT  [8]  contains 
Text Mining: Automatic Retrieval, Annotation and Visualisation of Clinical Trials Text using Ontology
2010 
60 
procedures and medical terms, in essence a clinical and medical ontology, and is currently 
distributed  in  a  tab-delimited,  relational  format  but  very  little  developmental  effort  is 
required  to  support  these  files.  However,  the  cooperation  would  be  needed  by  those 
responsible  for  the  maintenance  of  Terminizer  or  NCBO  Annotator,  as  one  of  these 
services would also be required to parse these files into their own databases in order to 
perform ontology matches against text using ontology that is currently not supported. 
The  Ontology  Parser accepts  a filename  and imports that file to  a  specified  “pane” into 
the specified database. Figure 23 shows a screenshot of this application. 
Documents you may be interested
Documents you may be interested