text:
Are you Roland D Green?Claim your profile
Publications (33)510.5 Total impact
- SourceAvailable from: Victor V Lobanenkov
Dataset: T.Kim-Z. Abdullayev-D.Loukinov -V. Lobanenkov and Bing Ren - the 1st CTCF ChIP genomewide - Cell v.128 March 2007
Dataset: A new panel of CTCF monoclonal antibodies were raised against human recombinant CTCF expressed in Pichia pastoris.[Show abstract] [Hide abstract]
ABSTRACT: Mouse monoclonal antibodies were raised against human recombinant CTCF expressed in Pichia pastoris. Protein for immunization was prepared as described below (FOOTNOTE). Briefly, recombinant yeasts were induced with methanol and then were washed and frozen at –80oC. Cells were homogenized in a homogenizing buffer (40mM HEPES, pH 7.6, 2mM MgCl2, 0.1mM EDTA, 100uM ZnSO4, 5% glycerol, 100mM KCl, 5mM DTT and 1M urea) with subsequent centrifugations at 16000g for 20 min and 35000g for 90 min. Supernatants were filtered and were subjected to three steps of chromatography on SP-Sepharose, Ni2+-Sepharose and heparin-Sepharose. For immunization CTCF was further purified by SDS-PAGE and the band was cut from the gel and was injected into mice directly. For the screening purposes we used protein after chromatography. Total of 9 clones were isolated and antibodies were checked in two assays – immunoblotting and EMSA supershift. The results of both assays were presented on the Supplementary Fig.1 panels A and B. Total cell extracts from Jurkat cells were loaded in duplicates and stained with antibodies (total ascites) in dilution 1:100. All 9 antibodies showed specific staining of 140kDa band corresponding to CTCF, while negative control, non-specific rabbit IgG antibody, didn't detect specific CTCF band. Some minor bands did show up with different antibodies, which might be staining of degradation products. All 9 antibodies also alter EMSA CTCF band suggesting that all of them can recognize native protein bound to DNA. To increase the efficiency of ChIP assay we used a mixture of all 9 CTCF antibodies to perform ChIPs with CTCF. This mixture shows far superior results in terms of reproducibility then all polyclonal antibodies tested so far (Upstate Biotechnologies and Abcam). FOOTNOTE REF.: Lobanenkov , et al. United States Patent 5,972,643 ( Filed in June 7, 1995) issued in October 26, 1999 for proprietary FULL LENGTH CTCF cDNA SEQUENCE resulted from the following first ab initio decade of CTCF-centered work carried out from 1983 to 1993 as chronologically documented in the References to follow: 1) Lobanenkov et al., "Sequence-specific DNA-binding Proteins which Interact with (G+C)-rich Sequences Flanking the Chicken c-myc Gene", Eur. J. Biochem. 159:181-188 (1986). 2) Lobanenkov et al., "CCCTC-Binding Factore (CTCF): A Novel Sequence-specific DNA Binding Protein Which Interacts with the 5'-Flanking Sequence of the Chicken c-myc Gene", Gene Reg. and AIDS, Portfolio Publishing Corp., Tx, 45-68 (1989). 3) Lobanenkov et al., "A Novel Sequence-specific DNA Binding Protein which Interacts with Three Regularly Spaced Direct Repeats of the CCTC-motif in the 5'-flanking Sequence of the Chicken c-myc Gene", Oncogene 5:1743-1753 (1990). 4) Tevosian et al., "Regulatory Protein Factor CTCF Interacts with a Segment of the Chicken c-myc Oncogene Promoter, Capable of Changing to a Noncanonical Conformation," Molecul. Biol. (Moscow) (Abst) 25:1013-1023 (1991). 5) Klenova et al., "CTCF, a Conserved Nuclear Factor Required for Optimal Transcriptional Activity of the Chicken c-myc Gene, is an 11-Zn-Finger Protein Differentially Expressed in Multiple Forms", Mol. Cell. Biol. 13:7612-7624 (1993).
Dataset: T.Kim-Z. Abdullayev-D.Loukinov -V. Lobanenkov and Bing Ren - the 1st CTCF ChIP genomewide - Cell v.128 March 2007
Article: Dynamic chromatin states in human ES cells reveal potential regulatory sequences and genes involved in pluripotency.[Show abstract] [Hide abstract]
ABSTRACT: Pluripotency, the ability of a cell to differentiate and give rise to all embryonic lineages, defines a small number of mammalian cell types such as embryonic stem (ES) cells. While it has been generally held that pluripotency is the product of a transcriptional regulatory network that activates and maintains the expression of key stem cell genes, accumulating evidence is pointing to a critical role for epigenetic processes in establishing and safeguarding the pluripotency of ES cells, as well as maintaining the identity of differentiated cell types. In order to better understand the role of epigenetic mechanisms in pluripotency, we have examined the dynamics of chromatin modifications genome-wide in human ES cells (hESCs) undergoing differentiation into a mesendodermal lineage. We found that chromatin modifications at promoters remain largely invariant during differentiation, except at a small number of promoters where a dynamic switch between acetylation and methylation at H3K27 marks the transition between activation and silencing of gene expression, suggesting a hierarchy in cell fate commitment over most differentially expressed genes. We also mapped over 50 000 potential enhancers, and observed much greater dynamics in chromatin modifications, especially H3K4me1 and H3K27ac, which correlate with expression of their potential target genes. Further analysis of these enhancers revealed potentially key transcriptional regulators of pluripotency and a chromatin signature indicative of a poised state that may confer developmental competence in hESCs. Our results provide new evidence supporting the role of chromatin modifications in defining enhancers and pluripotency.Cell Research 08/2011; 21(10):1393-409. DOI:10.1038/cr.2011.146 · 11.98 Impact Factor
Article: ChIP-Chip Designs to Interrogate the Genome of Xenopus Embryos for Transcription Factor Binding and Epigenetic Regulation[Show abstract] [Hide abstract]
ABSTRACT: Chromatin immunoprecipitation combined with genome tile path microarrays or deep sequencing can be used to study genome-wide epigenetic profiles and the transcription factor binding repertoire. Although well studied in a variety of cell lines, these genome-wide profiles have so far been little explored in vertebrate embryos. Here we report on two genome tile path ChIP-chip designs for interrogating the Xenopus tropicalis genome. In particular, a whole-genome microarray design was used to identify active promoters by close proximity to histone H3 lysine 4 trimethylation. A second microarray design features these experimentally derived promoter regions in addition to currently annotated 5' ends of genes. These regions truly represent promoters as shown by binding of TBP, a key transcription initiation factor. A whole-genome and a promoter tile path microarray design was developed. Both designs can be used to study epigenetic phenomena and transcription factor binding in developing Xenopus embryos.PLoS ONE 01/2010; 5(1):e8820. DOI:10.1371/journal.pone.0008820 · 3.53 Impact Factor
Article: Dynamic histone H3 epigenome marking during the intraerythrocytic cycle of Plasmodium falciparum.[Show abstract] [Hide abstract]
ABSTRACT: Epigenome profiling has led to the paradigm that promoters of active genes are decorated with H3K4me3 and H3K9ac marks. To explore the epigenome of Plasmodium falciparum asexual stages, we performed MS analysis of histone modifications and found a general preponderance of H3/H4 acetylation and H3K4me3. ChIP-on-chip profiling of H3, H3K4me3, H3K9me3, and H3K9ac from asynchronous parasites revealed an extensively euchromatic epigenome with heterochromatin restricted to variant surface antigen gene families (VSA) and a number of genes hitherto unlinked to VSA. Remarkably, the vast majority of the genome shows an unexpected pattern of enrichment of H3K4me3 and H3K9ac. Analysis of synchronized parasites revealed significant developmental stage specificity of the epigenome. In rings, H3K4me3 and H3K9ac are homogenous across the genes marking active and inactive genes equally, whereas in schizonts, they are enriched at the 5' end of active genes. This study reveals an unforeseen and unique plasticity in the use of the epigenetic marks and implies the presence of distinct epigenetic pathways in gene silencing/activation throughout the erythrocytic cycle.Proceedings of the National Academy of Sciences 07/2009; 106(24):9655-60. DOI:10.1073/pnas.0902515106 · 9.81 Impact Factor
Article: High-resolution genome-wide cytosine methylation profiling with simultaneous copy number analysis and optimization for limited cell numbers[Show abstract] [Hide abstract]
ABSTRACT: Many genome-wide assays involve the generation of a subset (or representation) of the genome following restriction enzyme digestion. The use of enzymes sensitive to cytosine methylation allows high-throughput analysis of this epigenetic regulatory process. We show that the use of a dual-adapter approach allows us to generate genomic representations that includes fragments of <200 bp in size, previously not possible when using the standard approach of using a single adapter. By expanding the representation to smaller fragments using HpaII or MspI, we increase the representation by these isoschizomers to more than 1.32 million loci in the human genome, representing 98.5% of CpG islands and 91.1% of refSeq promoters. This advance allows the development of a new, high-resolution version of our HpaII-tiny fragment Enrichment by Ligation-mediated PCR (HELP) assay to study cytosine methylation. We also show that the MspI representation generates information about copy-number variation, that the assay can be used on as little as 10 ng of DNA and that massively parallel sequencing can be used as an alternative to microarrays to read the output of the assay, making this a powerful discovery platform for studies of genomic and epigenomic abnormalities.Nucleic Acids Research 05/2009; 37(12):3829-39. DOI:10.1093/nar/gkp260 · 9.11 Impact Factor
Article: Histone modifications at human enhancers reflect global cell-type-specific gene expression.[Show abstract] [Hide abstract]
ABSTRACT: The human body is composed of diverse cell types with distinct functions. Although it is known that lineage specification depends on cell-specific gene expression, which in turn is driven by promoters, enhancers, insulators and other cis-regulatory DNA sequences for each gene, the relative roles of these regulatory elements in this process are not clear. We have previously developed a chromatin-immunoprecipitation-based microarray method (ChIP-chip) to locate promoters, enhancers and insulators in the human genome. Here we use the same approach to identify these elements in multiple cell types and investigate their roles in cell-type-specific gene expression. We observed that the chromatin state at promoters and CTCF-binding at insulators is largely invariant across diverse cell types. In contrast, enhancers are marked with highly cell-type-specific histone modification patterns, strongly correlate to cell-type-specific gene expression programs on a global scale, and are functionally active in a cell-type-specific manner. Our results define over 55,000 potential transcriptional enhancers in the human genome, significantly expanding the current catalogue of human enhancers and highlighting the role of these elements in cell-type-specific gene expression.Nature 04/2009; 459(7243):108-12. DOI:10.1038/nature07829 · 42.35 Impact Factor
Article: Distinct transcriptional outputs associated with mono- and dimethylated histone H3 arginine 2[Show abstract] [Hide abstract]
ABSTRACT: Dimethylation of histone H3 Arg2 (H3R2me2) maintains transcriptional silencing by inhibiting Set1 mediated trimethylation of H3K4. Here we demonstrate that Arg2 is also monomethylated (H3R2me1) in yeast but that its functional characteristics are distinct from H3R2me2: (i) H3R2me1 does not inhibit histone H3 Lys4 (H3K4) methylation; (ii) it is present throughout the coding region of genes; and (iii) it correlates with active transcription. Collectively, these results indicate that different H3R2 methylation states have defined roles in gene expression.Nature Structural & Molecular Biology 03/2009; 16(4):449-451. DOI:10.1038/nsmb.1569 · 11.63 Impact Factor
Article: Overlapping euchromatin/heterochromatin- associated marks are enriched in imprinted gene regions and predict allele-specific modification.[Show abstract] [Hide abstract]
ABSTRACT: Most genome-level analysis treats the two parental alleles equivalently, yet diploid genomes contain two parental genomes that are often epigenetically distinct. While single nucleotide polymorphisms (SNPs) can be used to distinguish these genomes, it would be useful to develop a generalized strategy for identifying candidate genes or regions showing allele-specific differences, independent of SNPs. We have explored this problem by looking for overlapping marks in the genome related to both euchromatin (histone H3 dimethyl lysine-4 [H3K4Me2]) and heterochromatin (DNA methylation [DNAm]). "Double hits" were defined by the intersection of H3K4Me2 and DNAm. For the top 5% of marks, defined by a sliding window, imprinted gene regions were enriched for double hits 5.4-fold. When the location information of CTCF binding sites were integrated, the "triple hits" were enriched 76-fold for known imprinted genes in the regions studied. The double hits in imprinted genes were found to occur usually at the site of alternative or antisense transcripts. In addition, four of four imprinted genes tested showing double hits also showed allele-specific methylation. We suggest that overlapping euchromatin/heterochromatin marks are common and are enriched for epigenetically distinct parental chromosome regions. Furthermore, we developed a novel approach to identifying allele-specific marks that is SNP independent, by fractionating using H3K4Me2 antibodies followed by DNA methylation analysis.Genome Research 11/2008; 18(11):1806-13. DOI:10.1101/gr.067587.108 · 13.85 Impact Factor
Article: Transcriptional enhancement by GATA1-occupied DNA segments is strongly associated with evolutionary constraint on the binding site motif.[Show abstract] [Hide abstract]
ABSTRACT: Tissue development and function are exquisitely dependent on proper regulation of gene expression, but it remains controversial whether the genomic signals controlling this process are subject to strong selective constraint. While some studies show that highly constrained noncoding regions act to enhance transcription, other studies show that DNA segments with biochemical signatures of regulatory regions, such as occupancy by a transcription factor, are seemingly unconstrained across mammalian evolution. To test the possible correlation of selective constraint with enhancer activity, we used chromatin immunoprecipitation as an approach unbiased by either evolutionary constraint or prior knowledge of regulatory activity to identify DNA segments within a 66-Mb region of mouse chromosome 7 that are occupied by the erythroid transcription factor GATA1. DNA segments bound by GATA1 were identified by hybridization to high-density tiling arrays, validated by quantitative PCR, and tested for gene regulatory activity in erythroid cells. Whereas almost all of the occupied segments contain canonical WGATAR binding site motifs for GATA1, in only 45% of the cases is the motif deeply preserved (found at the orthologous position in placental mammals or more distant species). However, GATA1-bound segments with high enhancer activity tend to be the ones with an evolutionarily preserved WGATAR motif, and this relationship was confirmed by a loss-of-function assay. Thus, GATA1 binding sites that regulate gene expression during erythroid maturation are under strong selective constraint, while nonconstrained binding may have only a limited or indirect role in regulation.Genome Research 10/2008; 18(12):1896-905. DOI:10.1101/gr.083089.108 · 13.85 Impact Factor
Article: Overlapping euchromatin/heterochromatin-associated marks are enriched in imprinted gene regions and predict allele-specific modification.[Show abstract] [Hide abstract]
ABSTRACT: Most genome-level analysis treats the two parental alleles equivalently, yet diploid genomes contain two parental genomes that are often epigenetically distinct. While SNPs can be used to distinguish these genomes, it would be useful to develop a generalized strategy for identifying candidate genes or regions showing allele-specific differences, independent of SNPs. We have explored this problem by looking for overlapping marks in the genome related to both euchromatin (histone H3 dimethyl lysine-4 [H3K4Me2]) and heterochromatin (DNA methylation [DNAm]). "Double hits" were defined by the intersection of H3K4Me2 and DNAm. For the top 5% of marks, defined by a sliding window, imprinted gene regions were enriched for double hits 5.4-fold. When the location information of CTCF binding sites were integrated, the "triple hits" were enriched 76-fold for known imprinted genes in the regions studied. The double hits in imprinted genes were found to occur usually at the site of alternative or antisense transcripts. In addition, 4 of 4 imprinted genes tested showing double hits also showed allele-specific methylation. We suggest that overlapping euchromatin/heterochromatin marks are common and are enriched for epigenetically distinct parental chromosome regions. Furthermore, we developed a novel approach to identifying allele-specific marks that is SNP-independent, by fractionating using H3K4Me2 antibodies followed by DNA methylation analysis.Genome Research 10/2008; DOI:10.1101/gr.067587.107 · 13.85 Impact Factor
Article: The Genomic Distribution and Function of Histone Variant HTZ-1 during C. elegans Embryogenesis[Show abstract] [Hide abstract]
ABSTRACT: In all eukaryotes, histone variants are incorporated into a subset of nucleosomes to create functionally specialized regions of chromatin. One such variant, H2A.Z, replaces histone H2A and is required for development and viability in all animals tested to date. However, the function of H2A.Z in development remains unclear. Here, we use ChIP-chip, genetic mutation, RNAi, and immunofluorescence microscopy to interrogate the function of H2A.Z (HTZ-1) during embryogenesis in Caenorhabditis elegans, a key model of metazoan development. We find that HTZ-1 is expressed in every cell of the developing embryo and is essential for normal development. The sites of HTZ-1 incorporation during embryogenesis reveal a genome wrought by developmental processes. HTZ-1 is incorporated upstream of 23% of C. elegans genes. While these genes tend to be required for development and occupied by RNA polymerase II, HTZ-1 incorporation does not specify a stereotypic transcription program. The data also provide evidence for unexpectedly widespread independent regulation of genes within operons during development; in 37% of operons, HTZ-1 is incorporated upstream of internally encoded genes. Fewer sites of HTZ-1 incorporation occur on the X chromosome relative to autosomes, which our data suggest is due to a paucity of developmentally important genes on X, rather than a direct function for HTZ-1 in dosage compensation. Our experiments indicate that HTZ-1 functions in establishing or maintaining an essential chromatin state at promoters regulated dynamically during C. elegans embryogenesis.PLoS Genetics 10/2008; 4(9):e1000187. DOI:10.1371/journal.pgen.1000187 · 8.17 Impact Factor
- [Show abstract] [Hide abstract]
ABSTRACT: We have developed an optimized array-based approach for customizable allele-specific gene expression (ASE) analysis. The central features of the approach are the ability to select SNPs at will for detection, and the absence of need to PCR amplify the target. A surprisingly long probe length (39-49 nt) was needed for allelic discrimination. Reconstitution experiments demonstrate linearity of ASE over a broad range. Using this approach, we have discovered at least two novel imprinted genes, NLRP2, which encodes a member of the inflammasome, and OSBPL1A, which encodes a presumed oxysterol-binding protein, were both preferentially expressed from the maternal allele. In contrast, ERAP2, which encodes an aminopeptidase, did not show preferential parent-of-origin expression, but rather, cis-acting nonimprinted differential allelic control. The approach is scalable to the whole genome and can be used for discovery of functional epigenetic modifications in patient samples.Genome Research 06/2008; 18(5):771-9. DOI:10.1101/gr.073254.107 · 13.85 Impact Factor
Article: Systematic evaluation of variability in ChIP-chip experiments using predefined DNA targets.[Show abstract] [Hide abstract]
ABSTRACT: The most widely used method for detecting genome-wide protein-DNA interactions is chromatin immunoprecipitation on tiling microarrays, commonly known as ChIP-chip. Here, we conducted the first objective analysis of tiling array platforms, amplification procedures, and signal detection algorithms in a simulated ChIP-chip experiment. Mixtures of human genomic DNA and "spike-ins" comprised of nearly 100 human sequences at various concentrations were hybridized to four tiling array platforms by eight independent groups. Blind to the number of spike-ins, their locations, and the range of concentrations, each group made predictions of the spike-in locations. We found that microarray platform choice is not the primary determinant of overall performance. In fact, variation in performance between labs, protocols, and algorithms within the same array platform was greater than the variation in performance between array platforms. However, each array platform had unique performance characteristics that varied with tiling resolution and the number of replicates, which have implications for cost versus detection power. Long oligonucleotide arrays were slightly more sensitive at detecting very low enrichment. On all platforms, simple sequence repeats and genome redundancy tended to result in false positives. LM-PCR and WGA, the most popular sample amplification techniques, reproduced relative enrichment levels with high fidelity. Performance among signal detection algorithms was heavily dependent on array platform. The spike-in DNA samples and the data presented here provide a stable benchmark against which future ChIP platforms, protocol improvements, and analysis methods can be evaluated.Genome Research 04/2008; 18(3):393-403. DOI:10.1101/gr.7080508 · 13.85 Impact Factor
Article: Genome-wide mapping and analysis of active promoters in mouse embryonic stem cells and adult organs.[Show abstract] [Hide abstract]
ABSTRACT: By integrating genome-wide maps of RNA polymerase II (Polr2a) binding with gene expression data and H3ac and H3K4me3 profiles, we characterized promoters with enriched activity in mouse embryonic stem cells (mES) as well as adult brain, heart, kidney, and liver. We identified approximately 24,000 promoters across these samples, including 16,976 annotated mRNA 5' ends and 5153 additional sites validating cap-analysis of gene expression (CAGE) 5' end data. We showed that promoters with CpG islands are typically non-tissue specific, with the majority associated with Polr2a and the active chromatin modifications in nearly all the tissues examined. By contrast, the promoters without CpG islands are generally associated with Polr2a and the active chromatin marks in a tissue-dependent way. We defined 4396 tissue-specific promoters by adapting a quantitative index of tissue-specificity based on Polr2a occupancy. While there is a general correspondence between Polr2a occupancy and active chromatin modifications at the tissue-specific promoters, a subset of them appear to be persistently marked by active chromatin modifications in the absence of detectable Polr2a binding, highlighting the complexity of the functional relationship between chromatin modification and gene expression. Our results provide a resource for exploring promoter Polr2a binding and epigenetic states across pluripotent and differentiated cell types in mammals.Genome Research 02/2008; 18(1):46-59. DOI:10.1101/gr.6654808 · 13.85 Impact Factor
- [Show abstract] [Hide abstract]
ABSTRACT: The molecular heterogeneity of acute leukemias and other tumors constitutes a major obstacle towards understanding disease pathogenesis and developing new targeted-therapies. Aberrant gene regulation is a hallmark of cancer and plays a central role in determining tumor phenotype. We predicted that integration of different genome-wide epigenetic regulatory marks along with gene expression levels would provide greater power in capturing biological differences between leukemia subtypes. Gene expression, cytosine methylation and histone H3 lysine 9 (H3K9) acetylation were measured using high-density oligonucleotide microarrays in primary human acute myeloid leukemia (AML) and acute lymphocytic leukemia (ALL) specimens. We found that DNA methylation and H3K9 acetylation distinguished these leukemias of distinct cell lineage, as expected, but that an integrative analysis combining the information from each platform revealed hundreds of additional differentially expressed genes that were missed by gene expression arrays alone. This integrated analysis also enhanced the detection and statistical significance of biological pathways dysregulated in AML and ALL. Integrative epigenomic studies are thus feasible using clinical samples and provide superior detection of aberrant transcriptional programming than single-platform microarray studies.PLoS ONE 02/2008; 3(3):e1882. DOI:10.1371/journal.pone.0001882 · 3.53 Impact Factor
- [Show abstract] [Hide abstract]
ABSTRACT: Modifications on histones control important biological processes through their effects on chromatin structure. Methylation at lysine 4 on histone H3 (H3K4) is found at the 5' end of active genes and contributes to transcriptional activation by recruiting chromatin-remodelling enzymes. An adjacent arginine residue (H3R2) is also known to be asymmetrically dimethylated (H3R2me2a) in mammalian cells, but its location within genes and its function in transcription are unknown. Here we show that H3R2 is also methylated in budding yeast (Saccharomyces cerevisiae), and by using an antibody specific for H3R2me2a in a chromatin immunoprecipitation-on-chip analysis we determine the distribution of this modification on the entire yeast genome. We find that H3R2me2a is enriched throughout all heterochromatic loci and inactive euchromatic genes and is present at the 3' end of moderately transcribed genes. In all cases the pattern of H3R2 methylation is mutually exclusive with the trimethyl form of H3K4 (H3K4me3). We show that methylation at H3R2 abrogates the trimethylation of H3K4 by the Set1 methyltransferase. The specific effect on H3K4me3 results from the occlusion of Spp1, a Set1 methyltransferase subunit necessary for trimethylation. Thus, the inability of Spp1 to recognize H3 methylated at R2 prevents Set1 from trimethylating H3K4. These results provide the first mechanistic insight into the function of arginine methylation on chromatin.Nature 11/2007; 449(7164):928-32. DOI:10.1038/nature06160 · 42.35 Impact Factor
Top Journals
- Genome Research (9)
- Nature (4)
- Nature Genetics (2)
- Nucleic Acids Research (2)
- Nature Methods (2)
Ludwig Institute for Cancer ResearchLa Jolla, California, United States
Johns Hopkins MedicineBaltimore, Maryland, United States
University of Wisconsin–Madison
Madison, Wisconsin, United States
- Biotechnology Center
Boston University
Boston, Massachusetts, United States
- Department of Biomedical Engineering


text:
Extended Stay America - Macon - North, Macon
- Free continental breakfast, free WiFi, and free parking
Main amenities
- 72 guestrooms
- Seasonal outdoor pool
- Fitness center
- Coffee/tea in the lobby
- Air conditioning
- Front desk safe
- Self-serve laundry
- Limited hour front desk
- Lobby TV
What's around
- The Shoppes at River Crossing (2.1 mi / 3.4 km)
- Museum of Arts and Sciences (3.8 mi / 6.2 km)
- Macon Little Theatre (4.1 mi / 6.6 km)
- Carmichael House (5.5 mi / 8.9 km)
- Hay House (6.2 mi / 10 km)
The location was great and the day staff person that worked on Friday and Saturday…
It was one of the worst experiences that I have had with a hotel. My room had dead…
Enter dates to check prices
Hotel Info: 866-539-8117from $90
- Deluxe Studio One Queen Non Smoking
- Deluxe Studio Two Double Non Smoking
- Deluxe Studio Two Double Smoking
- Studio One Queen Non Smoking
- Deluxe Studio One Queen Smoking
- Studio One Queen Smoking
Recommended hotels
At a glance
Key facts
Hotel size
- This hotel has 72 rooms
- This hotel is arranged over 3 floors
- Check-in time starts at 3 PM
- Check-out time is 11 AM
Required at check in
- Credit card or cash deposit required
- Government-issued photo ID required
Travelling with others
- Pets allowed *
- Restrictions apply *
- 2 per room
- Free WiFi in public areas
- Free WiFi in rooms
- Free self parking
Nearby Two Star Macon hotels
In the hotel
- Free continental breakfast
- Coffee/tea in the lobby
- Outdoor seasonal pool
- Fitness facilities
- Front desk (limited hours)
- Laundry facilities
- Elevator/lift
- Safe-deposit box at front desk
- Television in lobby
In the room
- Air conditioning
- Coffee/tea maker
- Iron/ironing board
- Separate sitting area
- Shower/tub combination
- Hair dryer
- Cable TV channels
- DVD player
- Free WiFi
- Free local calls
- Refrigerator
- Microwave
- Kitchen
- Weekly housekeeping provided
Top Macon hotels
Recently reviewed hotels in Macon
- Holiday Inn Express & Suites ByronFrom
"This hotel is very close to I 75 easy to get on and off of the hwy. Many choicesfor shopping and dining near by. An antique mall is directly across from the hotel. The beds are…"Jun 22, 2015
- Comfort Suites ForsythFrom
- Hampton Inn Warner RobinsFrom
"great stay & superior customer service! David N."Jun 21, 2015
- Candlewood Suites Warner Robins/Robins AFBFrom
"Excellent stay. Very convenient and reasonably priced. Stayed one week and never had a bad day."Jun 21, 2015
Nearby hotels
Extended Stay America - Macon - North, Macon's small print
Also known as
- Extended Stay America Hotel Macon North
- Extended Stay America Macon North
- Extended Stay Deluxe Macon - North
- Extended Stay Deluxe Macon - North Macon
A valid credit card is required at check-in for incidentals/damages otherwise a US$100 cash deposit per stay, per room will be collected. The deposit is refunded at check-out after satisfactory inspection. If refund is over US$100 a check will be mailed within 14 days of departure.
Pet-friendly rooms can be requested by contacting the property at the number on the booking confirmation.
Children under 18 years old are not allowed in the swimming pool or fitness facility without adult supervision.
Mandatory fees
Cash deposit: USD 100 per stay
Optional extras
Pets are allowed for an extra charge of USD 25 per pet, per day (maximum USD 150 per stay)
We have included all charges provided to us by this hotel. However, charges can vary, for example, based on length of stay or the room you book.

subset: commoncrawl


text:
Jimmie Johnson talks about being surprised that Austin Dillon wasn't seriously injured during a big wreck at Daytona.
Jimmie Johnson talks about going with an aggressive pit strategy to try and get the win but falling short.
Denny Hamlin, Jimmie Johnson and Lanson Cassill talk about the big crash on the final lap of the Coke Zero 400 at Daytona International Speedway.
Jimmie Johnson is a 6-time NASCAR Sprint Cup Series Champion and a father of two little girls. The champ and father pays tribute to his kids on race day with two special pink stickers on his helmet visor.
Jimmie Johnson helps build houses in his hometown with the Jimmie Johnson Foundation, Habitat for Humanity and Lowe's.
Johnson on P1: 'We don't agree with what has happened' RELATED: 3 teams penalized after Charlotte " Hendrick appeals P1 penalty on No. 48 MORE: No. 48 appeal avoids repeat of 2006 pit pick DOVER, Del. -- Six-time NASCAR Sprint Cup champion Jimmie Johnson calmly and strongly reiterated his team's position to appeal the P1 penalty NASCAR handed down to the No. 48 Hendrick Motorsports team this week. An hour before posting the fastest speed in Friday's opening practice at Dover International Speedway , Johnson spoke to reporters for the first time since the penalty was announced Wednesday and since his team filed an appeal Thursday. Johnson spoke to reporters Friday for the first time since the penalty was announced Wednesday and since his team filed an appeal Thursday. "Definitely we don't agree with what has happened and getting the letters and that's why the appeal has taken place," Johnson said from Dover International Speedway before opening practice. "I look forward to the appeal process running its course, and respect it and certainly hope for a different outcome once everything has run its course." Johnson's No. 48 Lowe's Chevrolet team was penalized this week after receiving multiple written warnings from NASCAR for violations found during the May 16 Sprint All-Star Race and May 24 Coca-Cola 600 weekends at Charlotte Motor Speedway . Multiple warnings warranted a P1-level infraction that would have given Johnson one of the last pit stall selections this weekend at Dover. By appealing the penalty, Johnson will still have the ability to pick a pit stall based on his qualifying position, which is important on the small and tight pit road at the 1-mile Dover concrete oval. "I guess there is that part of it," Johnson said. "My qualifying record as of late hasn't been so stellar, so we won't know implication of that (appealing the penalty) until after qualifying. "Then," he said, pausing, " the stories can run rampant then." Johnson was fastest in practice with a speed of 163.867 mph followed by Denny Hamlin , Hendrick teammate Dale Earnhardt Jr . and David Ragan . A victory Sunday in the FedEx 400 Benefitting Autism Speaks (1 p.m. ET, FOX Sports 1, MRN, SiriusXM) would be Johnson's 10th at Dover and make him one of only five drivers (Richard Petty, Darrell Waltrip, David Pearson, and Dale Earnhardt) in NASCAR history to score double-digit wins on a track. FULL SERIES COVERAGE • Latest news • Standings • Schedule
Appeal will be heard on Tuesday, June 9 MORE: Johnson stands by appeal decision " 'Six-Time' scores 10th Dover win NASCAR competition officials announced Monday that the Hendrick Motorsports No. 48 team's appeal of P1-level penalties will be heard on Tuesday, June 9. The proceedings are scheduled to begin at 9 a.m. ET at the NASCAR Research & Development Center in Concord, North Carolina. NASCAR officials announced P1-grade penalties last Wednesday after an accumulation of written warnings for minor infractions during two weekends of racing for the Sprint Cup Series last month at Charlotte Motor Speedway . Officials punished the No. 48 team by removing its ability to choose its own pit stall, but the organization indicated Thursday that it would appeal. The appeal prevented the penalty from going into effect last weekend at Dover International Speedway , allowing No. 48 crew chief Chad Knaus to select a pit stall based on driver Jimmie Johnson 's speed in Friday's Coors Light Qualifying. Johnson started 14th and prevailed in the FedEx 400 benefiting Autism Speaks , registering his series-best fourth victory of the season and the 10th of his career at the Monster Mile. Johnson touched on the penalty in a pre-race media availability Friday at Dover. "Definitely we don't agree with what has happened and getting the letters and that's why the appeal has taken place,'' Johnson said. "I look forward to the appeal process running its course, and respect it and certainly hope for a different outcome once everything has run its course.'' FULL SERIES COVERAGE • Latest news • Standings • Schedule
Johnson : Earnhardt 'did a fantastic job of intimidating me' RELATED: Which one was the better driver? LONG POND, Pa. -- Jimmie Johnson 's quest to match NASCAR icon Dale Earnhardt's Hall of Fame statistics reached another level last weekend. In both cases, the lofty numbers are worthy of stock-car racing elite. The 39-year-old driver's bid to equal Earnhardt and NASCAR's King, Richard Petty, with a seventh premier series championship has been in full swing ever since Johnson claimed title No. 6 in 2013. But after scoring his fourth victory of the season last weekend at Dover International Speedway , Johnson inched closer to Earnhardt on NASCAR's all-time win list. Earnhardt recorded 76 victories in his legendary premier-series career, placing him eighth on NASCAR's registry of winners. Johnson enters Sunday's Axalta "We Paint Winners" 400 (1 p.m. ET, FOX Sports 1, MRN, SiriusXM) at Pocono Raceway sitting on No. 74. Hendrick Motorsports teammate Jeff Gordon is the only active driver with more wins -- 92. While Johnson didn't want to get too far ahead of himself in reaching Earnhardt's mark, he's clearly given some thought to what it means to be considered in the same company. "It's still two away from us, and we certainly hope to have the opportunity to tie him, and then the competitor in me would like to pass that and chase down the next guy," Johnson said Friday at Pocono. "I remember and had the great fortune, like everybody here, to watch Jeff Gordon tie that monumental record. I know how much it meant to Jeff." Gordon's ascendance to NASCAR royalty in the 1990s came during a time when Earnhardt reigned, creating a rivalry that grew from playful tweaking and intense competition to mutual admiration and respect. Gordon passed Earnhardt with his 77th Sprint Cup victory in 2007 at Talladega Superspeedway , and fans from the longtime stronghold for "The Intimidator" responded by throwing beer cans on the track. Gordon said Friday that the milestone still means a great deal to him, especially as he enters a period of transition in his last full season as a driver. But he said that Johnson is also cognizant of what the accomplishment might mean as he creeps up the all-time win list. "Having the opportunity to race with Dale and know his greatness, what he meant to the sport, how tough he was as a competitor and how many races he won, it overwhelmed me that I ever got to that mark because to me, when I started in the sport, it just seemed like he was winning everything and had done it for a long, long time," Gordon said. " Jimmie , it's just a matter of time really for him. This'll be just one of the many records he continues to break and surpass and putting his name in the record books as one of the all-time greats. Doesn't seem like that's going to slow down any time soon, and it's hard to put it in perspective maybe when you didn't get much of an opportunity to race against somebody like Dale. I know how much it meant to me to know him as a friend and a competitor, but you know, Jimmie's got a great sense of the sport and what he's doing and I know how much it means to him, so I know that something like that will mean a lot to him as well. And I hope he gets the proper respect when that day happens." Johnson didn't enter NASCAR's top series full-time until the 2002 season, one year after Earnhardt's death in a crash at Daytona International Speedway . Though he never got to test himself against Earnhardt's hard-nosed racing style, Johnson said he had enough intimidation to go around in his brief interactions with Earnhardt early in his career. "I unfortunately never had a chance to race against Dale. Definitely there's a void there in my mind in my career that I didn't have that opportunity," Johnson said. "I did meet him a couple times and he did a fantastic job of intimidating me and scaring the you-know-what out of me in both of those instances. If it does happen, we'll of course want to handle it the right way, pay tribute to Dale and what he's done for our sport -- the true badass he was in our sport -- and when and if that does happen, it'll be an honor to be there in that status with him." FULL SERIES COVERAGE • Latest news • Standings • Schedule
No repeat in Coca-Cola 600 for Jimmie Johnson CONCORD, N.C. -- Jimmie Johnson said he knew he was in trouble "as soon as I turned off the corner" during Sunday's running of the Coca-Cola 600 at Charlotte Motor Speedway . "I knew it was going around and I fought it as long as I could," the Hendrick Motorsports driver said. His crew worked quickly to replace the damaged front end as Johnson fielded questions in the garage. It wasn't where the six-time NASCAR Sprint Cup champion expected to be. In three of the four races contested this year on 1.5-mile tracks, Johnson 's taken the checkered flag before anyone else. Not this time. Johnson lost the back end of the white-and-blue No. 48 coming out of the fourth turn, nearly reined it back in but then hit the inside wall near the pit entrance with the front end of the car. It was the second spin for the No 48 team in the series' longest race -- he brought out the second caution of the race on lap 90 when he spun in Turn 4. It was a no harm, no foul spin, one that sent him to the rear of the field, but with more than 300 laps remaining, getting back to the front of the pack wasn't out of the question. And that was exactly the case. With darkness settling in, Johnson said his car was "slowly coming to me." "That's how we went from … the tail end of the longest line to fifth," Johnson , a seven-time winner at CMS, said. "We just drove through there. "The car was coming around. I was trying to set the 88 (of teammate Dale Earnhardt Jr .) up in (Turns) 3 and 4; rolled in behind a lapped car and I'd just kind of got lulled into a comfort zone thinking I could roll in behind someone and be fine because I'd made a couple of moves like that earlier." The team, led by crew chief Chad Knaus, came in with an aggressive attitude, according to Johnson . Aggressive mindset and setup. Take chances, he said. "We just don't have anything to lose," Johnson said. "Unfortunately it didn't get long enough into the race for the aggressive set up to come into play. Another 30-40 laps we'd have had the car right where we wanted it, I just didn't make it there. "I could have driven a little easier and tried not to work so hard through traffic but we said we were going to come in and swing for the fences and we did and hit the fence." Johnson eventually made it back onto the track, down by nearly 30 laps with 70 laps remaining to finish 40th. FULL SERIES COVERAGE • Latest news • Standings • Schedule
No. 48 driver holds off Harvick in green-white-checkered finish RELATED: Full race results " Updated standings " BUY: Johnson gear, merchandise DOVER, Del. -- Jimmie Johnson , welcome to the club. With his overtime victory in Sunday's FedEx 400 benefiting Autism Speaks at Dover International Speedway , Johnson became the fifth driver to win 10 NASCAR Sprint Cup Series races at a single track, joining Richard Petty, David Pearson, Darrell Waltrip and Dale Earnhardt Sr. in sharing that distinction. Johnson 's triumph was his series-best fourth of the season and the 74th of his career, eighth most all-time and two behind NASCAR Hall of Famer Earnhardt in seventh place. Unlike many of the six-time champion's past victories at the Monster Mile, this was not a dominating performance by the No. 48 Hendrick Motorsports Chevrolet. Johnson led but 23 laps, and didn't take the top spot until he beat race runner-up Kevin Harvick to the stripe for a restart on Lap 383. Johnson quickly cleared Harvick and led the rest of the way, but not before a caution for a wreck involving Clint Bowyer , Denny Hamlin and Kurt Busch slowed the field on Lap 386. At that point, Johnson and Harvick were the only two drivers to stay out on old tires, but Johnson was able to maintain control of the race on the subsequent restart on Lap 391. He repeated the performance during a green-white-checkered-flag finish that took the event five laps past its posted distance of 400, after a wreck involving Greg Biffle , Casey Mears and AJ Allmendinger produced the seventh caution on Lap 398 and forced the overtime. After the final restart on Lap 404, Johnson crossed the finish line .435 seconds ahead of Harvick, who posted his ninth top-2 finish in 13 races this season and extended his series lead to 44 points over sixth-place finisher Martin Truex Jr . Johnson said he was able to maintain the lead on old tires "just driving hard and working that track bar adjuster as much as I could. "I was trying to be smart with my line and I guess guys on two tires weren't all that fast. (Crew chief) Chad (Knaus) said something to me about that on the radio, and they never really came, you know? The No. 4 (Harvick) and I did just fine on old tires and held those guys off." Harvick, on the other hand, had no track bar to work with, because the in-car adjuster had broken during the race. "Yeah, we just struggled at the end of the race on restarts, really all day on the restarts," said Harvick, who led 91 laps but failed to get his first victory at the high-banked concrete track. "Once the track bar broke, we were pretty much in a box and just kind of had to hold on for the first 25 laps (of a run), and if we weren't in the front, then we struggled to just maintain what we had. "All in all, everybody did a great job, and I think when you look at Dover, it's been a good race track for us. We've led laps and just haven't quite finished it yet, but a good, solid day." Kyle Larson ran third, followed by Kasey Kahne and Aric Almirola . Starting on the outside of the front row next to Coors Lights Polesitter Denny Hamlin , Truex led a race-high 131 laps—racking up most laps led in his third straight Sprint Cup points race without winning. Hamlin led 118 laps but was waylaid by the Lap 386 wreck and came home 21st, three laps down. Notes: Johnson has now led 2,999 laps at Dover, one shy of become the seventh driver in Sprint Cup history to lead 3,000 laps at a single track… This was only the second green-white-checkered-flag finish at Dover, the first coming in the fall of 2005, and the first ever in the Sprint Cup race at the Monster Mile… In his second race back from surgery to repair his broken right leg and left foot, Kyle Busch was a fixture in the top five until Brian Scott 's Chevrolet collided with Busch's No. 18 Toyota in Turn 3 on Lap 376. Busch finished 36th, suffering a setback to his hopes of finishing in the top 30 in the regular-season standings. Busch is now 40th, 168 points behind 30th-place Justin Allgaier . FULL SERIES COVERAGE • Latest news • Standings • Schedule All-time premier series wins Rank Driver Wins 1. Richard Petty 200 2. David Pearson 105 3. Jeff Gordon 92 4t. Bobby Allison 84 4t. Darrell Waltrip 84 6. Cale Yarborough 83 7. Dale Earnhardt 76 8. Jimmie Johnson * 74 9. Rusty Wallace 55 10. Lee Petty 54 *Record 10th win at Dover *Becomes fifth driver to win 10 or more at one track, joining NASCAR Hall of Famers Dale Earnhardt, David Pearson, Richard Petty, Darrell Waltrip


text:
Study spaces, stock and online resources, and staff to support learning.Read more >>
with Cork City Libraries
Read more >>
CDs, DVDs, scores, and much more . . .Read more >>
A love of reading: a lifetime gift. Read more >>
Books, graphic novels, music, and a place to hang out (and study!).
Read more >>
|Quick Search:
|Cork's story in maps, images & text
For the record: Our music heritage
|Resources for reading & creative writing
|...free downloads
By Reuel Golden (editor) Read more →
By John Szwed Read more →
by Laird Hunt Read more →
by John F. Deane Read more →
By Paddy O'Leary Read more →
by Irvine Welsh Read more →
By Patrick Gale Read more →
by Anne Enright Read more →
by David Lodge Read more →
by David Fitzpatrick Read more →
By Elly Griffiths Read more →
By Joyce Carol Oates Read more →
edited by Janet McLean Read more →
We are delighted to announce that our Hollyhill Library reopened on 1 July 2015 in our brand-new library building on Harbour View Road, located between Terence MacSwiney Community College and the Hollyhill shopping centre.
Frank O'Connor Library, Mayfield, reopens Thursdays
We are delighted to announce that as of Thursday 9 July, the Frank O'Connor Library, Mayfield, will re-open on Thursdays.
Summertime early-closing schedule
Our summertime early-closing schedule operates during July and August, when all our libraries close at 5:30 p.m.
Self-service at Cork City Libraries
Cork City Libraries is phasing in self-service throughout all our libraries.
This year's International IMPAC Dublin Literary Award has been won by British novelist Jim Crace for his novel Harvest
Catch up with our Latest News


text:
It only takes a few dozen questions to qualify and go over your options. Here are some links to s ... more
I do not check replies, so if you have a comment or question email me here:
Alex Greer
Loan Officer
408 ... more
I do not ... more
and all lenders i have get in touch with have rip me ... more
Check out Duane Gomer Seminars to see if they have any scheduled classes in your area.
Kind regards,
Ron Carter
Office: (925) 279-2222
Fax: (925) 279-1098
DRE License #00428869
Simon Watson
Keller Williams Realty-East Bay
A company I have used for a couple transactions, and my son in law used for his own property is James J Mello Construction.
He is out of the Pleasanton area but covers al ... more


text:
John Hancock and his signature are two of the best-known elements related to the Declaration of Independence. But how much do you know about the former president of the Continental Congress?
NCC Staff's posts.
Should Memorial Day really be on May 30th each year?
As we look at the ceremonies going on for the Memorial Day weekend, the controversy continues about whether such a weekend should exist, or if Memorial Day should be commemorated only on May 30th each year.
This day in 1856: Violence on the U.S. Senate floor
A nearly fatal beating on the U.S. senate floor on this day in 1856 was another step toward a Civil War five years later. The attacker wasn't an assassin—it was a fellow congressman.
Podcast: Jeffrey Rosen answers questions about the Supreme Court
National Constitution Center president Jeffrey Rosen is joined by University of North Carolina professor Michael Gerhardt to answer reader questions about the Supreme Court and other matters.
Rand Paul's near 'filibuster' and the record books
U.S. Senator Rand Paul, with some help from his friends, completed a 10 ½-hour talk on the Senate floor late Wednesday night. So how does Paul's latest effort compare to other extended oratory in the Senate?
- «Previous Page
- 1
- …
- 9
- 10
- 11
- 12
- 13
- …
- 250
- Next Page»


text:
In the field of computer text search engines, regular expression text pattern matching is combined with an extended set of Boolean operators. A pre-processor is described which will convert mixed Boolean-GREP expressions into equivalent pure GREP expressions enabling existing GREP search technology to be used to implement this invention. Additional optimizations are described when users need to search for any one of a list of text patterns.
1. A method of searching text data, in a computer system, including means for specifying a text pattern to be matched to said text data, within a search target said means comprising a language used to compose a search expression describing said text pattern, said language comprising regular expressions and a plurality of boolean operators, said method further comprising user means to specify said search expression, wherein said boolean operators are selected from a group consisting of AND and NOT and NEAR and FOLLOWED BY and NOT FOLLOWED BY and PERHAPS.
2. The methods of
3. The methods of
4. The methods of
i) searching for a match to the first sub-expression, noting where within said text data said second sub-expression is also matched;
ii) if on completing said search, said target does not contain a match to both said sub-expressions, returning the result of the match to said first sub-expression alone;
iii) if on completing said search, there is at least one match to both said sub-expressions, returning the match result to said both sub-expressions.
5. The methods of
6. The methods of
7. The methods of
8. The methods of
9. The methods of
10. A method of searching text data, in a computer system, including means for specifying a text pattern to be matched to said text data, within a search target said means comprising a language used to compose a search expression describing said text pattern, said language comprising regular expressions and a plurality of boolean operators, said method further comprising user means to specify said search expression, further including means for specifying said search target.
11. The methods of
12. A method of searching text data, in a computer system, including means for specifying a text pattern to be matched to said text data, within a search target said means comprising a language used to compose a search expression describing said text pattern, said language comprising regular expressions and a plurality of boolean operators, said method further comprising user means to specify said search expression, further including methods of an optimized search for said text pattern when said text pattern consists of a boolean search comprising a plurality of text strings disjunctively connected with the OR boolean operator between each pair of said strings, said methods comprising the steps of:
i) combining the strings into a single efficient regular expression;
ii) carrying out the search using the combined efficient regular expression;
iii) once a match is found, checking through the original list, if necessary, to confirm or deny the match.
13. A method of searching text data in a computer system, the method comprising:
a) constructing a plurality of regular expression (RE) terms, each RE term using a plurality of different nonliteral RE symbols to describe a class of text patterns;
b) modifying the plurality of RE terms by a plurality of different Boolean operators to form a Boolean RE search pattern; and
c) identifying, as a match for the Boolean RE search pattern within a search target, a text expression within the search target that is a member of a class of text expressions defined by the Boolean RE search pattern.
14. The method of
d) forming a number of different Boolean RE search patterns for a corresponding plurality of different searches; and
e) employing a set of Boolean operators including operators substantially similar to AND, OR, NOT, NEAR, FOLLOWED BY and NOT FOLLOWED BY, such that each of the operators is used in at least one of the plurality of Boolean RE search patterns.
15. The method of
16. The method of
17. The method of
18. The method of
f) providing, for the step of constructing a plurality of RE terms, a plurality of symbols interpretable to represent a substantially complete set of nonliteral RE operators; and
g) specifying a subset of less than an entire text document as a search target.
19. The method of
20. The method of
21. A method of searching text data in a computer system, the method comprising:
a) providing representations of a substantially complete set of nonliteral regular expression (RE) symbols for specifying RE terms that each denote a class of text patterns;
b) providing a set of Boolean operator symbols for specifying a multiplicity of different Boolean operators;
c) accepting, as a search query, a Boolean RE text description that includes a plurality of RE terms joined by a plurality of Boolean operators;
d) examining text in a search target; and
e) parsing the Boolean RE text description to determine if text within the search target is a member of the class of text patterns defined by the Boolean RE text description.
22. The method of
23. The method of
24. The method of
f) providing parenthesis grouping operator symbols; and
g) providing search target specification symbols configured to define subsets of text documents;
and wherein step (c) further includes
i) accepting a plurality of parentheses grouping operators, and
ii) accepting a specification of the search target that is less than an entire text document.
25. The method of
26. The method of
27. The method of
This application claims the benefit of provisional application Ser. No. 60/105,722 filed Oct. 27, 1998.
Computer based text searches have many applications. Some of these include applications to automated Taxonomy, the categorization of text documents. The most prominent applications, however, though certainly not the most sophisticated, are those on the Internet. Most Internet based companies, such as Alta Vista, Yahoo, or Excite, provide users with a simple, literal text search function. Some of them also provide an "Advanced Search" function.
When using the simple, literal search function, the user types in the literal word or words to be found, and the search engine lists all the found texts. Many such search engines appear to allow for some synonyms of the words typed and are largely word based, that is, unless the text typed by the user is placed in quotes (or designated as literal in some other way) the search assumes a match if the typed words appear in a document in any order and in most search engines, with the implied "OR" between every word and the next one. To distinguish the different possibilities, the found documents or URLs (Universal Resource Locators) are often listed with the "best" matches first. Apparently, "best" matches means those which contain the largest number of the typed words.
For example, when we are searching for documents containing the words "search engines" typing these into the simple AltaVista search engine finds over 680,000 documents!
Advanced search engines allow a full "logical" or boolean search, by which is meant that words or phrases can be combined using the boolean operators "AND", "OR", "NOT", and NEAR. (Usually NEAR means within 10 words of each other, and this number of words is not under users control.)
For example, to find documents containing the word "education" and either the word "Internet" or "networking" or "network" but not containing the words "school" or "college" the user would type the advanced search expression:
education AND (networking OR network OR Internet) AND NOT (school OR college)
Such a set of boolean operator features gives the user greater control of the text being searched. It makes it easier to find the searched for document amongst the millions of available documents, by allowing the user to narrow down the description of the documents of interest.
A little more control is provided by a "wild character" feature, which allows the user to substitute a special symbol, the wild character, for any uncertain character. Another feature, sometimes available, allows for either the presence or absence of any wild character so designated.
As users of the search engines become more discriminating and more experienced, they will demand more control than even the current advanced search engines can provide.
For example regarding the target, it would be useful to specify that the words searched for must all be within a sentence, or perhaps within a paragraph, rather than, as at present, anywhere in the document. Clearly the chances that a document, containing the specified words, is the one we want is lower if these words are spread throughout a long document, rather than if they are all within one sentence, or one paragraph. Such a feature is not currently available with search engines on the Internet, though it is available, for example, in a search tool for Eudora Email called "PowerSleuth" distributed by Nisus Software Inc.
Other possible extensions of search features include a complete text-pattern description language, allowing users to describe the text pattern without the need to know the specific text. For example, we may want to search for documents or web pages of a particular company containing a phone number or a street address without knowing either, or precisely because we do not know them. Such text pattern matching is implemented in the Unix search tools which support "Regular Expressions" for describing text patterns and are referred to as GREP searches.
An example of a text pattern matching engine, implemented as part of a Macintosh word processor, is the PowerFind™ and PowerFind Pro features within the Nisus Writer word processor for the Macintosh, first published as a software product in January of 1989 under the U. S. registered trade name "Nisus" and in more recent versions re-named "Nisus Writer."
The PowerFind Pro engine, implemented in Nisus Writer, is an extension of the Unix GREP and includes only one boolean operator: the "OR." The "AND' operator can however be simulated by using the "OR" and the other features of PowerFind or PowerFind Pro. However simulating an "AND" is not very convenient. Simulating the NOT operator is not possible without additional features.
The present invention combines the features of the full boolean search with the extended Regular Expression search features, adding the control of the search target, to create a more powerful and useful search engine than any presently available. In addition, the invention adds several more boolean search features (such as the user definable NEAR, the FOLLOWED BY, and the NOT FOLLOWED BY binary operators) and extends further some of the already extended Regular Expression features from PowerFind Pro of Nisus Writer. The straight forward combination of a Regular Expression search engine and an extended Boolean search engine results in two types of OR and two types of parentheses: one used in GREP expressions and one used in Boolean expressions. Mixed expressions have to be parsed twice: once by the Regular Expression Parser the second time by the Boolean parser.
Grep expressions can be concatenated to form new meaningful expressions whose match is the concatenation of the respective matches—an intuitive result. Logical expressions, on the other hand, can only be concatenated using one of the binary boolean operators.
For example, using uppercase to designate operators and lowercase to designate any boolean expression, the boolean expression
NOT z
cannot generally be concatenated with the boolean expression
NOT a
to form a meaningful boolean expression, except by using one of the binary logical operators, such as either OR or AND, between them. So one possibility where the two expressions are combined would be:
NOT z AND NOT a
This specifies the contents of the target independently of the positions of the matches to the boolean "a" or the boolean "z". However, frequently we need to search for a text string which can be intuitively designated as
(NOT z)(NOT a)
which means
NOT z IMMEDIATELY FOLLOWED BY NOT a
or using a more understandable description NOT z NOT IMMEDIATELY FOLLOWED BY a, which could also be designated as:
NOT (az)
once concatenation of a and z is defined.
It is relatively simple to define such concatenations of boolean expressions. Including such concatenations is equivalent to the unification of the GREP language with the Boolean language. Such a unification is a great convenience to the user and is an innovation.
The combined availability of both the Regular Expression language and the Boolean operators (other than OR) is also an innovation—even when the user has to correctly formulate the search expressions so as not to (illegally) imply concatenation of boolean expressions—that is, even before unification of booleans with Regular Expressions.
Boolean Expressions often need the definition of the "Search Target." In current search engines on the Internet, the Search Target is implicitly the whole document, or web page and the user has no ability to control that. As exemplified in the Introduction above, it is often useful to give the user better control of what part of the text is to contain the defined search pattern. This is best done by formally defining the Search Target. Although defining the search target in itself is not new, its combination with Regular Expressions and boolean searches is new and its use for searchers on the Internet is also new.
For clarity, we define terms to be used in the following discussion.
The Search Pattern is the text pattern, defined by the user (either using special symbols, or choosing them from lists or menus) which the search engine is to search for, within the Search Target of the text. For example, when searching for "Nisus Software" the string in quotes is the literal Search Pattern. Another example of the Search Pattern is a Regular Expression (RE) Search Pattern. For example the following simple regular expression will find a sequence of digits at the beginning of a paragraph:
{circumflex over ( )}:d+
where "{circumflex over ( )}" stands for "the beginning of a paragraph," ":d" stands for any digit, and the "+" stands for "occurring one or more times" referring to the digit. In applications, each of these symbols can be made a distinctive symbol so as not to be confused by the user from any similar characters which are meant to be search literally. In what follows, we shall use normal character combinations to make up Regular Expressions, leaving it to the implementation to use special symbols. Good examples of such use of special custom symbols are the, already mentioned implementations of the PowerFind feature in Nisus Writer and in PowerSleuth.
When boolean operators are included in a Search Pattern, the result is a Boolean Search Pattern.
The Search Target, is that sub-text element which is to be searched through for an instance of the Search Pattern. For example, if the Search Target is a sentence, and the Search Pattern, is:
Nisus AND Software
any sentence which contains both the word "Nisus" and the word "Software" without regard to the order of occurrence, would be found as a match. Sentences in which the word "Nisus" occurs in one sentence and "Software" in another would not be found as a match to the expression.
Boolean, RE and combined searches are made much more useful when the definition of the Search Target is included.
The Matched Text is the context text, within the Search Target, which matches the text description defined by the Search Pattern. For example, suppose the Search Pattern is defined by:
where each ":w" stands for any character which can be part of a word, and "\<" stands for the beginning of a word, and "\>" for the end of a word (each of which is not a character just a position) then the example text pattern represents any four letter word. If the first four letter word found by the search engine is the word "hand" then that is the Matched Text for that particular find result. As can be seen the Matched Text for any Search Pattern other than an exact literal one, depends on the found instance. With the same Search Pattern, the Matched Text can be different on different finds.
The Referenced Text is defined as that part (or all) of the Matched Text which matches the parenthesized part of the Search Pattern. For example, the following Search Pattern finds contiguous identical paragraphs.
{circumflex over ( )}(.+\r)\1+
where the period "." stands for any character except the return character (or the return-linefeed combination on Windows systems or the line-feed character on the Unix systems); the "\r" stands for the return character (or its equivalents on the different systems); the plus "+" following the period means any sequence of one or more such characters; the parentheses do not change the Search Pattern, but create a reference to the text, which is matched by the sequence of characters at the beginning of a paragraph. The subsequent "\1" refers to this Referenced Text, and means that the same text is repeated in the next paragraph. The "+" following that means that the repeated text may occur one or more times. Such an expression, for example, can be used to find repeated words or phrases in an alphabetized list of such words of phrases.
Boolean Operators are represented by the following words (though special symbols may be used instead of these words in the software implementation): AND, OR, NOT, NEAR, FOLLOWED BY, NOT FOLLOWED BY. Each of these operators (except NOT on its own) may be used to join any two Search Patterns to form a more complex Search Pattern, and so are called Binary Operators. The combinations AND NOT, and NOT FOLLOWED BY are also Binary. The operator NOT on its own is a Unary Operator and negates the presence of the Search Pattern that follows it.
RE Search Pattern is a Search Pattern which does not contain any boolean operators other than the Or.
Boolean Search Pattern is one which contains one or more Boolean Operators.
Reference Parentheses are parentheses whose purpose is that of grouping of Search Patterns, of defining or clarifying the precedence of their evaluation, and of creating a reference to that text which matches the parenthesized Search Pattern.
N R Parentheses (Non-Referencing Parentheses) are those which do not create a reference to the matched text but have the other functionalities of parentheses, i.e. of grouping expressions and defining the precedence of their evaluation.
All parentheses have the usual functionality of grouping the parenthesized Search Patterns into units, and of determining the precedence of the Boolean Operators in a Boolean Search Pattern. Expressions are evaluated, as usual, from the innermost to the outermost parentheses, and from left to right.
When parentheses do not intervene, the order of precedence of the Boolean Operators in evaluation is as follows:
NOT means a negation of the Search Pattern which follows.
For example the complex Search Pattern:
Nisus NOT Software
will be interpreted as
Nisus NOT FOLLOWED BY Software
and means that the search is to find an instance of the word "Nisus" not immediately followed by the word "Software".
There are two useful meanings of AND, for which we shall use two different words. The usual meaning, for which we use the word AND, is a search for the two conjoined Search Patterns, regardless of the order of their occurrence. The other meaning takes their order into account, (though any text can be between them) and so we designate it as FOLLOWED BY. For example:
Nisus FOLLOWED BY Software
which means that Software is to succeed (anywhere within the target) the word Nisus.
The meaning of NEAR is optionally modifiable by the user. It is in fact a conditional AND. Its meaning is illustrated by the following example:
Nisus NEAR Software
This means, find the Search Target which contains the two conjoined words with no more than the user defined number of words between them. The default number may be chosen as, say 20, and the user can define a different number for each instance of use of this operator.
User designation of the target is particularly needed in the use of NEAR.
The extended Regular Expressions, a part of the current invention, allow for a Search Pattern description that is as specific or as broad as the user wishes.
The full set of extended Regular Expression symbols includes the following:
1 Wild Cards & Expressions. The following is a list of elementary expressions, forming a part of the extended Regular Expression system, which are used to define a search pattern. The words or symbols in bold represent the possible menu displays as well as the possible displayed expression custom symbol when entered into the find window. The symbols following the legend "Shorthand:" at the end of the description represent the shorthand symbols that will be used in what follows and can also be used in implementations which allow users to type in these expressions:
(i) Any Character. This includes any character whatever, except the Return or new paragraph character. Shorthand: .
(ii) Any Character or �. This includes any character and includes the Return or new paragraph character. Shorthand: :.
(iii) Any Word. The definition of a word includes a sequence of alphanumeric characters, excluding any characters which are word separators. It also includes a sequences of digits, commas and period when not followed by a space, tab or return. The definition uses a look-up of word separators and another look-up of characters that can be part of a word (the legal word characters abbreviated as ":w"). A word is defined as any sequence of :w. The beginning of a word is before the first :w character and the end is after the last :w character in the sequence. Characters which are neither word separators nor parts of words can only occur between words. In English there are two characters, the comma and the period, which can be part of a number-word but not part of a letter-word. They make the definition of a word context dependent. Therefore a period and a comma can be interior characters of a word if they are surrounded by numbers. This definition does allow such objects as, for example, "23,34.89.90,80" to be treated as words, although that may not make sense. Special checks can, optionally, be provided for such cases. The word separators depend on the language and are often defined by the operating system. Any word is so defined (by specifying, for example, an optional word separator character on each side) that a sequence of words, separated by punctuation marks can be matched by the expression "Any Word repeated one or more times." Shorthand: ≈
(iv) Any Sentence. The definition of a sentence is also language and context dependent. Sometimes, it is even meaning dependent, so it is difficult to have a fool-proof definition. The Nisus Writer Regular Expression (using the notation defined here, with the additional operator "|" meaning "OR") that works very well is the following: \<(:u\.|:d+\.:d*|:d*\.:d+|[{circumflex over ( )}.!:;?])+\> Translated into descriptive words it is the following: The beginning of a word, (any uppercase followed by a period or any digit sequence including possibly one period or any character which is not one of the characters ending a sentence) occurring one or more times, end of word. Shorthand: Ω
(v) Any Long Sentence(20) . . . When this is chosen, optionally a dialog appears with "Sentence exceeding 20 words" Where the number 20 is editable. The last typed number is remembered for all sessions, current and future and is displayed on the menu. This may be integrated into the "Any Sentence" wild card. Shorthand: Σ
(vi) Any Paragraph. A paragraph ends on a Return (or new paragraph character) or the end of text and begins after a return or at beginning of text. Shorthand: �
(vii) Any Text. This is essentially Any Character or paragraph break, repeteated any number of times, longest match. This is useful when styled text search is used or when it is used as part of a more complex expression. Shorthand: Å
(viii) Any Text, Short. This is the same as the above but with the shortest possible match. Shorthand: {dot over (a)}
(ix) Any HTML Tag. Any legal HTML tag would be matched. Shorthand: �
(x) A-Z a-z This means any alphabetic. Shorthand: :a
(xi) A-Z a-z 0-9 This means any alphanumeric. Shorthand: :n
(xii) 0-9 This is any digit. Shorthand: :d
(xiii) a-z Any Lowercase. Shorthand: :l
(xiv) A-Z Any uppercase Shorthand: :u
(xv) User Set [ ] Enters the brackets with the insertion point between them allowing the user to define either a range of characters or an enumerated set. Defines any character in the user defined set. Shorthand: [ ]
(xvi) User Negative Set [{circumflex over ( )}] Enters the brackets with the caret and the insertion point between them, allowing the user to enter either a range of characters or an enumerated set. Defines any character not in the user specified set. Shorthand: [{circumflex over ( )}]
(xvii) Negation of Pattern (<pattern>) % {!}. This is one of the extensions to previous RE symbols, needed for the unification of RE and Boolean expressions. It matches any text pattern which is NOT the pattern designated by <pattern>.
(xviii) URL Any set of characters that could be a URL (Universal Resource Locator on the Internet). Shorthand: :U This is a derived expression, being a combination of other, elementary expressions.
(xix) Email Address Any legal internet email address. Shorthand: :A This is a derived expression, being a combination of other, elementary expressions.
(xx) European Includes all special characters and characters with diacriticals. Shorthand: :E
(xxi) New � The new paragraph character. Shorthand: \r
(xxii) New Line The new line character which does not start a new paragraph. Shorthand: \v
(xxiii) Space The literal typed space. Shorthand: \s
(xxiv) Tab The typed tab character. Shorthand: \t
(xxv) Space or Tab. Any "white" or blank space. Shorthand: :b
(xxvi) Page Break The explicitly inserted page break character. Shorthand: \f
(xxvii) 0+ Means the preceding character, wild card or parenthesized expression is to occur zero or more times and assures the largest possible number of occurrences for a match (that is, longest match). Shorthand: *
(xxviii)0+ (shortest) This is the same occurrence designator as the previous one except that the match uses the shortest possible number of occurrences. Shorthand: :*
(xxix) 1+ Means the preceding character, wild card or parenthesized expression is to occur one or more times and assures the largest possible number of occurrences for a match. Shorthand: +
(xxx) 1+ (shortest) This is the same occurrence designator as the previous one except that the match uses the shortest possible number of occurrences. Shorthand: :+
(xxxi) 0 or 1 Means the preceding character, wild card or parenthesized expression is to occur zero or one times and assures the largest possible number of occurrences for a match (that is, longest match). Shorthand: −
(xxxii) 0 or 1 (shortest) This is the same occurrence designator as the previous one except that the match uses the shortest possible number of occurrence. Shorthand: :−
(xxxiii) n Times Means the preceding character, wild card or parenthesized expression is to be occurs exactly "n" times. This, and all similar succeeding symbols, when used, require the user to enter the respective numbers into a dialog. Shorthand: {,n}
(xxxiv) To n Times Means the preceding character, wild card or parenthesized expression is to occur from zero to "n" times. Shorthand: {,n}
(xxxv) From m Times Means the preceding character, wild card or parenthesized expression is to occur "m" or more times and assures the longest possible match. Shorthand: {m,}
(xxxvi) From m Times Short Means the preceding character, wild card or parenthesized expression is to occur "m" or more times and assures the shortest possible match. Shorthand: {m,s}
(xxxvii) From n To m Times Means the preceding character, wild card or parenthesized expression is to occur at least "n" times but not more than "m" times and assures the longest possible match. Shorthand: {n,m}
(xxxviii) From n To m Short Means the preceding character, wild card or parenthesized expression is to occur at least "n" times but not more than "m" times and assures the shortest possible match. Shorthand: {n,m,s}
(xxxix)( The left opening Reference Creating parenthesis. Shorthand: (
(xl) ) The right closing Reference Creating parenthesis. Shorthand: )
(xli) { The left opening NR Parenthesis. Does not begin a reference. Shorthand: :(
(xlii) } The right closing NR Parenthesis. Does not close a reference. Shorthand: :)
(xliii) Start Selection This is a marker which determines what part of the Search Pattern is actually to be found, and so selected. Using this, (and the closing End Selection marker, which follows) the text surrounding the actual search pattern of interest can be specified within the same search pattern. Shorthand: :{
(xliv) End Selection This is the second part of the definition of the Search Pattern to be actually found. Shorthand: :}
A combination of Boolean Expressions and Regular Expressions, together with the designation of the Search Target makes for a very powerful search engine.
For example, suppose we wish to search for a document that lists the telephone number of the company Nisus Software Inc.
We do not know the telephone number, we do not know exactly how the company name is listed, for example whether it is Nisus Software, Inc. or if the comma is missing or if the period is missing. The following is an explanation of how a suitable search pattern is made up. We use the Shorthand symbols listed above. In what follows, whenever we need to use literally a symbol or symbols which also have a Shorthand special meaning, we preceded it with the backslash "\" If the special meaning combination includes a backslash and we want to designate the backslash literally, we use two backslashes. For example, the combination s means a space. If we wanted to designate \s literally we would write \\s.
First we make up a Search Pattern for any US Phone number:
As this example makes obvious, the Shorthand notation is quite hard to read, that is why the special, self-explaining, notation is introduced. To use such a notation, we need a menu means to select from, and a display means that distinguishes each symbolic expression from plain text. The latter is done using a custom font system where each symbol (possibly including the descriptive text) is a character in that font. The font is installed into the system file as part of the installation process for the application.
The above Search Pattern for a phone number allows for any phone number with or without the area code, with the area code in parentheses or without parentheses, with dashes between the parts, or without the dashes, with extra spaces between the parts or without spaces. In other words, it is a very liberal text pattern definition of a phone number but it would hardly ever match any text which was not a phone number.
The second Search sub-Pattern for the company name is defined more simply as:
Nisus Software,- Inc\.
The minus following the comma means the comma may occur zero or one time (which means it need not be there). The backslash before the period is needed because in this context the period is meant literally, whereas in the list of Shorthand symbols it means "Any Character." The minus following the period means that it too need not be there.
Finally, to find any sentence containing both the phone number Search Pattern and the company name Search Pattern, we define the Complex Search Pattern as:
Nisus Software,- Inc\. AND :(\(-\s*:d:d:d\)-:)-\s*\--\s*:d:d:d\s*\--\s*:d:d:d:d
and use it with a search where the Search Target is set to Any Sentence.
The above example illustrates just one application of the present invention. This example Search Pattern could not be defined as easily in any currently existing search engine.
One easy way to implement the invention is to use existing state-of-the-art text search technology (see for example the book "Compilers, Principles, Techniques and Tools" by Aho, Hopcroft, Ullman, published by Addison-Wesley 1986, particularly the section "Practical Algorithms for the Implementation of the Deterministic Finite Automata, revised after McNaughton-Yamada") to develop a GREP search engine, including the unary NOT postfix text pattern negation operator listed in the symbols list above. With this addition, the GREP Search Engine is referred to as the Extended GREP Engine and the expressions it can process are referred to as the Extended Regular Expressions.
The invention is unique in that it combines both the full Boolean search and the Extended GREP search. This can be done using two separate interpreters, one for GREP the other for Boolean expressions. Such an implementation requires the user to maintain that separation (between GREP and Boolean parts of the search expression) which means using different Boolean and GREP parentheses and distinguishing between the GREP Or and the boolean OR. These distinctions, from the point of view of the user, are totally artificial and unnecessary, brought about by the distinction that has been kept within the subject through its evolution. In addition, implicit concatenation is intuitively defined for GREP expressions but is not defined for many Boolean expressions. For example, a boolean expression such as (A AND B) concatenated with (C AND D) will give an error in the Boolean interpreter, whereas its intuitive meaning as a GREP expression would be:
(A:.:*B Or B:.:*A)(C:.:*D Or D:.:*C)
Although a new design for a unified parser and search engine can be easily developed to better implement the invention, an alternative method of implementing it is described here, which provides the same result through a simple pre-processor, allowing existing code bases for the GREP and Boolean interpreters to be used.
In a mixed Boolean-GREP environment, the GREP Or binary operator has the same meaning as the Logical "OR" operator except that in most implementations it is higher in precedence than the logical "OR." As is explained below, the pre-processor replaces the Logical "OR" with the GREP "Or." To avoid confusion, the user is not allowed direct access to the GREP Or, providing only one "OR." The Logical "AND" and related binary operators can be synthesized entirely from GREP expressions. The user is presented with only one class of parentheses: the GREP type.
The Pre-processor General
The mixed boolean-GREP expression entered by the user is converted by the Pre-Processor to an Extended Regular Expression (using the replacements detailed in the GREP Table) which is then processed by the Extended GREP Engine.
The following step-by-step process describes the construction of the Pre-Processor.
The binary boolean operators which need interpreting are: AND, OR, NEAR, FOLLOWED BY and the combinations AND NOT and NOT FOLLOWED BY. The unary boolean operator (prefix) is NOT. The equivalent (postfix) Extended Regular Expression operator is designated as % {!}. As mentioned above, the pre-processor replaces the logical OR operator by the GREP Or.
The Pre-processor Details
The "User Expression" or UE is the expression entered by the user. This expression comprises extended GREP expressions possibly joined with binary boolean operators, possibly modified by the unary operator, and possibly including parentheses which may be Reference Parentheses or Non-Reference.
The pre-processor, in one or more passes, modifies UE converting it entirely to an Extended Regular Expression. Each pass through the Pre-processor replaces one Boolean operator with an equivalent GREP expression, and so each time modifies UE into the "Current Expression" or CE until that expression becomes entirely an Extended Regular Expression and so can be passed to an Extended Grep Engine.
Initially, the Current Expression is the User Expression or CE=UE. If CE contains no boolean operators, omit all steps of the pre-processor, passing CE directly to the Extended Regular Expression (ERE) engine. If CE does contain at least one boolean operator, the pre-processor is passed the CE and each of the pre-processing step comprises the following:
1 Identify Boolean Operators and Operands. Scan the CE string for the location of the highest precedence Boolean operator. If the operator is binary, identify the two operands. Then split CE=CE1+A Op B+CE2, where "Op" is the Boolean binary operator and A and B are respectively its left and right operands. If Op is a unary operator, then split CE=CE1+Op B+CE2. Each expression is a string of symbols and the plus sign designates string concatenation. Then use the GREP Table to replace A Op B (or just Op B) with the appropriate extended Grep expression. Then repeat the process until no further Boolean operators remain.
The following steps identify the operator (Op) and operands (A,B)
(i) Scan UE checking for syntax errors. The common syntax errors are the following:
(a) Unmatched parentheses. These are checked by scanning CU from left to right while keeping a sum of the parentheses count, where each closing parenthesis contributes −1 and each opening parenthesis contributes +1. If at any time the sum is negative, stop the scan and return an error of unmatched parentheses. If the parentheses sum is non-zero when the scan completes, likewise report an unmatched parenthesis error. (b) If any Binary or Unary Boolean operator is immediately followed by a closing parenthesis, or ends an expression, report an error. (c) If any Binary boolean operator is preceded with an opening parenthesis, or begins an expression, report an error. (d) If any two Binary operators follow each other with no intervening expression, report an error. (e) If the Unary operator NOT is immediately followed by any boolean operator except FOLLOWED BY report an error. If NOT FOLLOWED BY is encountered as the NOT Unary operator followed by the FOLLOWED BY Binary operator, replace the combination with the equivalent single Binary operator. (f) If the Unary operator NOT is followed by any other operator, report an error.
(ii) Initialize the parenthesis count to zero.
(iii) Scan the CE string from left to right identifying each boolean operator and its precedence. Identify one with the highest precedence and store it in Op.
(iv) If Op is a Unary operator skip this step. If Op is a binary operator scan characters to the left of Op accumulating the scanned characters and storing them in A (in the same direction as they occur in the string CE, even though scanning is from right to left, that is, reverse order) accumulate also the count of parentheses by counting each closing parenthesis encountered as −1 and each opening parenthesis as +1, until the first one of the following three possibilities occurs: (a) The beginning of the string is reached; (b) a boolean operator is encountered when the parenthesis total count is zero; (c) an opening parenthesis is encountered which, when added to the parenthesis count total, makes the total +1. At that point the left operand is A which excludes the last opening parenthesis, if present, when condition (c) is satisfied, and excludes any operator which caused condition (b) to be satisfied. Re-set the parenthesis count to zero.
(v) If Op is a binary or a unary operator scan characters to the right of Op accumulating the scanned characters and storing them in B. Accumulate also the count of parentheses by counting each closing parenthesis as −1 and each opening parenthesis as +1, until the first one of the following three possibilities occurs: (a) The end of the CE string is reached; (b) a boolean operator is encountered when the parenthesis total count is zero; (c) a closing parenthesis is encountered making the parenthesis count total −1. At that point the right operand is B which excludes the last closing parenthesis, if present, when condition (c) is satisfied, and excludes any boolean operator which caused condition (b) to be satisfied. Re-set the parenthesis count to zero.
The result is an extended GREP expression and this is passed to the extended GREP engine to parse and carry out the search.
The following table is used in the replacement of booleans with GREP expressions. The symbols <AND>, <NOT>, etc. represent boolean operators. The expression "Or" is the GREP disjunctive. The uppercase letters A, B, C, stand for any Extended Regular Expressions. The parentheses are for grouping and indicating order of evaluation. The other symbols stand for the Extended Regular Expression whose meanings are listed in the previous section. They are not to be confused with the literal meanings of the characters. When the resulting ERE is passed to the ERE parser, that distinction is maintained by that parser.
Quite often, particularly for automated taxonomy applications described below, it is useful to be able to search for any one of a long list of Search Patterns. In that case it is very convenient to add an explicit feature, which we shall call the List Search feature, rather than have to type the list using the binary disjunctive operator OR between the words in the list.
When the user chooses this feature from a menu, a special window opens allowing the user to enter the list (by either typing or choosing from a vocabulary list) without the need to add the OR boolean operator between the words. The user can then name each such list and save any number of such lists for later recall and use. Once named, the name of the list would identify it in the Find window.
Treating these lists as special cases allows both an improvement of the interface and a speed-up of the search.
Several different ways to speed-up searching can be devised. First is the ability to combine similar patterns.
When searching for any one of a number of Search Patterns defined by such a list, it is possible to optimize the search engine in the following way.
The list of Search Patterns is first scanned for any similarities. Quite often, parts of these patterns will be similar to one another. In that case it is relatively easy to create a more optimal search pattern by combining those Search Patterns which have a significant portion of their sub-patterns in common. For example, if we were making up a list that would find articles on searching algorithms for programming search engines a possible partial set of three of the patterns in such a list would be the following:
search engine algorithms−
programming search engines
searching algorithms−
These could be combined into the following single Search Pattern, to which we shall refer as the "Hybrid Pattern:"
Although this Hybrid Pattern covers the three given Search Patterns, it also covers other hybrids of the patterns given. For example it would also find the text: "programming searching algorithms." Although this is not one of the stipulated Search Patterns, it certainly makes sense to have it be part of the list. However, in general, the user should be given the chance to choose to either include all such hybrid patterns or exclude them.
If the user chooses to exclude the hybrid matches that are not explicitly in the list (refer to these as the "introduced hybrids") the search engine would still use the more optimal search pattern but after finding a match, would double check if the match was included in the original list. Such a procedure will almost always be faster than using the original list for the following reason.
Using the original list, the engine would have to check each part of the text for every one of the patterns. Using the Hybrid Pattern therefore saves considerable time and once a match is found, only a much smaller portion of text, the Matched Text, would need to be checked against the small sub-list of those Search Patterns that were combined to form the Hybrid Pattern.
The second alternative speed-up process would use a simple hashing function to reduce each of the listed words to say a 16 bit number. A simple sum-of-bytes hash function would work. Then each word of the text being searched would then be similarly hashed and the result compared to each of the hashes of the words in the list. In that way, each word comparison is reduced to a two-byte comparison, speeding up the process at the slight expense of hashing each word of the text being searched. The expense would be unimportant for the case of static text as the text can also be stored as a sequence of two-byte hashes ahead of the time a search is needed.
A search engine with these capabilities can be suitably interfaced (following the example of Nisus Writer's PowerFind) to allow the end user to specify their text content searches, using menu lists, with just as much precision as desired.
Such a search engine can also be used as the basis for an automated system for categorizing textual content, a field known in the industry as Taxonomy.
For example, a set of key descriptive words, called categories, can be used to describe a database of textual information.
The user defines a set of simple or complex Search Patterns for each pre-defined category. The search engine then scans the text database. Each file or document, found to contain any one of these search patterns within the target, is automatically assigned the associated category.
In addition, any sub pattern within the Search Pattern parenthesized using the Referencing Parentheses, would be designated as a category creating pattern. When such a sub-pattern is matched as part of the whole defined Search Pattern, the referenced text match would be used to create a new category (if it did not already exist) and assign it to the found object.
In that way, users can easily program the search engine for automated taxonomy of text databases.
Such a high level programming tool is a very valuable invention for use in taxonomy because of the ease with which changes can be made in the categorizing Search Patterns. Such changes would make it possible for continual and easy refinement of the pattern matching expressions.
The combination of a full extended boolean search with a full text pattern description language creates a very powerful advanced search engine with numerous applications.
In summary, the invention generalizes the Search Pattern description language to combine the existing Extended Regular Expression symbol set with a fully extended Boolean operator set and additionally provides the user with a choice of Search Targets. Extensions include the boolean binary operator FOLLOWED BY, its opposite NOT FOLLOWED BY, the definition of concatenation of boolean expressions, and the LIST SEARCH features.
Patent Citations
Non-Patent Citations
Referenced by
Legal Events
Original Image


text:
Regulator investigates controls at Deutsche Bank commodities unit
19 June 2014
Germany's top financial regulator recently investigated internal controls at Deutsche Bank's commodities unit, according to a person familiar with the probe.
Become a financial news subscriber
Contact our Licensing team to discuss corporate subscription options on:
+44 (0) 20 7572 3499
Breaking news
Get exclusive access to breakng news, analysis and comment on the wholesale financial industry.
Join 37,000 subscriber including your clients, competitors and business partners
On the go
Available online, in print, and on mobile for access wherever and whenever you need it.
Provides in-depth analysis and context so that you benefit from an unique view of the entire wholesale financial industry.