Main > Free Download Search >

Free pattern matching software for linux

pattern matching

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1349
Array::PatternMatcher 0.04

Array::PatternMatcher 0.04


Array::PatternMatcher is a pattern matching for arrays. more>>
Array::PatternMatcher is a pattern matching for arrays.

SYNOPSIS

This section inlines the entire test suite. Please excuse the ok()s.

use Array::PatternMatcher;

Matching logical variables to input stream

# 1 - simple match of logical variable to input
my $pattern = AGE ;
my $input = 969 ;
my $result = pat_match ($pattern, $input, {} ) ;
ok($result->{AGE}, 969) ;

# 2 - if binding exists, it must equal the input
$input = 12;
my $new_result = pat_match ($pattern, $input, $result) ;
ok(!defined($new_result)) ;

# 3 - bind the pattern logical variables to the input list

$pattern = [qw(X Y)] ;
$input = [ 77, 45 ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok($result->{X}, 77) ;
Matching segments (quantifying) portions of the input stream
# 1
{
my $pattern = [a, [qw(X *)], d] ;
my $input = [a, b, c, d] ;

my $result = pat_match ($pattern, $input, {} ) ;
ok ("@{$result->{X}}","b c") ;
}

# 2
{

my $pattern = [a, [qw(X *)], [qw(Y *)], d] ;
my $input = [a, b, c, d] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("@{$result->{Y}}","b c") ;

}
# 3
{
my $pattern = [a, [qw(X +)], d] ;
my $input = [a, b, c, d] ;
ok ("@{$result->{X}}","b c") ;
}
# 4
{
my $pattern = [ a, [qw(X ?)], c ] ;
my $input = [ a, b, c ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("$result->{X}","b") ;
}
# 5
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 7) ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ($result) ;
}
Single-matching:
Take a single input and a series of patterns and decide which pattern
matches the input:

# 1 - Here all input patterns must match the input

{
my @pattern ;
push @pattern, [ qw(X Y) ] ;
push @pattern, [ qw(22 Z ) ] ;
push @pattern, [ qw(M 33) ] ;

my $input = [ qw(22 33) ] ;

my $meta_pattern = [ AND?, @pattern ] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok ($result->{Z},33) ;
}

# 2 - Here, any one of the patterns must match the input

{
my @pattern ;
push @pattern, [ qw(99 22) ] ;
push @pattern, [ qw(33 22) ] ;
push @pattern, [ qw(44 3) ] ;
push @pattern, [ qw(22 Z) ] ;

my $input = [ qw(22 33) ] ;

my $meta_pattern = [ OR?, @pattern ] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok ($result->{Z},33) ;
}

# 3 - Here, none of the patterns must match the input

{
my @pattern ;
push @pattern, [ qw(99 22) ] ;
push @pattern, [ qw(33 22) ] ;
push @pattern, [ qw(44 3) ] ;
push @pattern, [ qw(22 Z) ] ;

my $input = [ qw(22 33) ] ;

my $meta_pattern = [ NOT?, @pattern ] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok (scalar keys %$result == 0) ;
}

# 4 - here the input must satisfy the predicate
{
sub numberp { $_[0] =~ /d+/ }

my $pattern = [ qw(X age), [qw(IS? N), νmberp] ] ;
my $input = [ qw(Mary age), thirty-four ] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
ok (!defined($result));
}

# 5 - same thing, but this time a failing result ---
# not undef because it is the return val of numberp
{
sub numberp { $_[0] =~ /d+/ }

my $pattern = [ qw(X age), [qw(IS? N), νmberp] ] ;
my $input = [ qw(Mary age), 34 ] ;
my $result = pat_match ($pattern, $input, {} ) ;

ok ($result->{N},34) ;
}
Segment-matching:
Match a chunk of the input stream using *, +, ?

# 1 - * is greedy in this case, but not with 2 consecutve * patterns
{
my $pattern = [a, [qw(X *)], d] ;
my $input = [a, b, c, d] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "X*RETVAL: %s", Data::Dumper::Dumper($result) ;
ok ("@{$result->{X}}","b c") ;
}
# 2 - X* gets nothing, Y* gets all it can:
{

my $pattern = [a, [qw(X *)], [qw(Y *)], d] ;
my $input = [a, b, c, d] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "X*Y*RETVAL: %s", Data::Dumper::Dumper($result) ;
ok ("@{$result->{Y}}","b c") ;

}
# 3 - samething , but require at least one match for X
{
my $pattern = [a, [qw(X +)], d] ;
my $input = [a, b, c, d] ;

my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "RETVAL: @{$result->{X}}" ;
ok ("@{$result->{X}}","b c") ;
}
# 4 - require 0 or 1 match for X
{
my $pattern = [ a, [qw(X ?)], c ] ;
my $input = [ a, b, c ] ;


my $result = pat_match ($pattern, $input, {} ) ;

ok ("$result->{X}","b") ;
}
# 5 - evaluate a sub on the fly after match
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 7) ] ;

my $result = pat_match ($pattern, $input, {} ) ;

ok ($result) ;
}
# --- 6 same thing, but fail
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 8) ] ;

my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "IF_RETVAL2: *%s*", Data::Dumper::Dumper($result);
ok ($result eq ) ;
}

<<less
Download (0.006MB)
Added: 2007-07-12 License: Perl Artistic License Price:
836 downloads
Pattern Classification Program 2.2

Pattern Classification Program 2.2


Pattern Classification Program is a machine learning program for pattern classification. more>>
Pattern Classification Program is an open-source machine learning program for supervised and unsupervised classification of patterns (vectors of measurements). Pattern Classification Program implements the following algorithms and methods:
- k-means clustering
- Fishers linear discriminant
- dimension reduction using Singular Value Decomposition
- Principal Component Analysis
- feature subset selection
- Bayes error estimation
- parametric classifiers (linear and quadratic)
- least-squares (pseudo-inverse) linear discriminant
- k-Nearest Neighbor
- neural networks (Multi-Layer Perceptron)
- Support Vector Machine algorithm
- cross-validation
- bagging (committee) classification
The program supports interactive and batch processing. Commands are issued through a keyboard-driven menu system in the interactive mode, or in a batch file in the batch mode. It is a binary executable and does not need any special run-time environment. PCP uses tab-delimited text files for input data. The results are displayed on the screen and saved in text files.
PCP runs under Linux and Windows operating systems (under Cygwin environment), on i386 architecture CPUs such as Intel Pentium or AMD Athlon. PCP has been developed and tested on RedHat Linux 9.0 distribution. It has also been tested on SUSE Linux 9.1 and Fedora Core 2 and verified to run on Knoppix 3.7 and Windows XP.
Enhancements:
- This release supports model selection for the linear SVM kernel and an option to build SVD transforms using training and test datasets (as opposed to just training data).
- P-errors are now reported in SVM model selection.
- The build process was simplified.
<<less
Download (4.3MB)
Added: 2006-05-25 License: BSD License Price:
1253 downloads
Pattern-lab 0.4.0

Pattern-lab 0.4.0


Pattern-lab is a pattern recognition program. more>>
Pattern-lab is a pattern recognition program. Pattern-lab project is optimized for OCR, but not constrained to it. The method used is mainly pattern matching. Separation of merged patterns is one of the main goals. It is currently under development.
Enhancements:
- This release adds the Standardizing Transformation (ST) embedding IMage Euclidean Distance (IMED) in the preprocessing phase.
- Positive and negative effects of the new feature are explained in the manual.
<<less
Download (2.5MB)
Added: 2007-03-21 License: GPL (GNU General Public License) Price:
950 downloads
Linux Layer7 Switching 0.1.2

Linux Layer7 Switching 0.1.2


Linux Layer7 Switchings main goal is to provide a performant framework for Layer7 switching. more>>
Linux Layer7 Switchings main goal is to provide a performant framework for Layer7 switching. Layer7 switching is driving a low-level engine using networking design to speed-up forwarding of data stream. Implementation in this project is split into a userspace daemon and a low-level kernelspace forwarding engine.
Userspace daemon is responsible for scheduling and switching decisions. Kernelspace forwarding engine is responsible for forwarding stream and using TCP-Splicing scheme.
TCP-Splicing is the postponement of the connection between the client and the server in order to obtain sufficient information to make a routing decision. This project is close to Linux Virtual Server project since lot of discusions on this topics have been made online and offline LVS project.
Why using L7SW ?
This project will provide you a way to switch incoming clients requests using pattern matching. A quick example is to drive a web server farm by locating specific content on dedicated servers (video, audio, images, ...) while virtual server exported to end user is uniq.
Enhancements:
- The kernel module was backported to Linux version 2.4.
- The Linux 2.6 kernel module was extended to support kernel versions lower than 2.6.19.
- libtcpsplice has been extended to export more helpers.
- A locking issue has been fixed while splicing sockets.
- HAProxy has been extended to support tcp_splicing module.
<<less
Download (0.042MB)
Added: 2007-01-16 License: GPL (GNU General Public License) Price:
1017 downloads
Knitting Pattern Generator 0.3

Knitting Pattern Generator 0.3


Knitting Pattern Generator is a Python script to convert image files (PNG, GIF, BMP, etc.) into knitting patterns. more>>
Knitting Pattern Generator is a Python script to convert image files (PNG, GIF, BMP, etc.) into knitting patterns.

Usage:

python kpg.py myimage.png

<<less
Download (0.008MB)
Added: 2007-04-25 License: GPL (GNU General Public License) Price:
923 downloads
Isotopic Pattern Calculator 1.4

Isotopic Pattern Calculator 1.4


Isotopic Pattern Calculator is a calculates isotopic distributions. more>>
IPC is a program that calculates the isotopic distribution of a given chemical formula. It gives the rel. intensities and the propability of the masses belonging to a molecule ion, fragment or whatever is represented by the given chemical formula.
Furthernmore it can use GNUPlot to visualize the result. Only masses with a rel. Intensity bigger then 0.009% are shown. Additionaly ipc prints the overall number of peaks and the needed computation time.
The program uses an algorithm which computes the exact isotopic distribution. This leads to a large number of peaks which have very low rel. abundances. Even for a small molecule as Acetylsalicylic acid ( C9H8O4, Mr=180.15) there are 1350 peaks but only nine of them have a rel. abundance higher then 0.01%.
Enhancements:
- A complete list of elements and isotopes is now used.
- The list of elements is taken from the NIST.
<<less
Download (0.070MB)
Added: 2005-08-15 License: GPL (GNU General Public License) Price:
1531 downloads
Sub::PatMat 0.01

Sub::PatMat 0.01


Sub::PatMat can call a version of subroutine depending on its arguments. more>>
Sub::PatMat can call a version of subroutine depending on its arguments.
SYNOPSIS
use Sub::PatMat;
# basics:
sub fact : when($_[0] $b) { 1 }
print join ", ", sort mysort (3,1,2);
# intuiting parameter names:
sub dispatch : when($ev eq "help") { my ($ev) = @_; print "helpn" }
sub dispatch : when($ev eq "blah") { my ($ev) = @_; print "blahn" }
dispatch("help");
dispatch("blah");
# no fallback, this will die:
dispatch("hest"); # dies with "Bad match"
# silly
sub do_something : when(full_moon()) { do_one_thing() }
sub do_something { do_something_else() }
The Sub::PatMat module provides the programmer with the ability to define a subroutine multiple times and to specify what version of the subroutine should be called, depending on the parameters passed to it (or any other condition).
This is somewhat similar to argument pattern matching facility provided by many programming languages.
To use argument pattern matching on a sub, the programmer has to specify the when attribute. The parameter to the attribute must be a single Perl expression.
When the sub is called, those expressions are evaluated consequitively until one of them evaluates to a true value. When this happens, the corresponding version of a sub is called.
If none of the expressions evaluates to a true value, a Bad Match exception is thrown.
It is possible to specify a fall-back version of the function by doing one of the following:
specifying when without an expression
specifying when with an empty expression
not specifying the when attribute at all
Please note that it does not make sense to specify any non-fall-back version of the sub after the fall-back version, since such will never be called.
There is an additional limitation for the last form of the fall-back version (the one without the when attribute at all), namely, it must be the last version of the sub defined.
It is possible to specify named sub parameters in the when-expression. This facility is highly experimental and is currently limited to scalar parameters only. The named sub parameters are extracted from expressions of the form
my (parameter list) = @_;
anywhere in the body of the sub.
Version restrictions:
- The ability to intuit parameter names is very limited and without doubts buggy.
- The when attribute condition is limited to a single Perl expression.
Enhancements:
- Perl
<<less
Download (0.014MB)
Added: 2007-08-07 License: Perl Artistic License Price:
808 downloads
Perl::Critic::Config 1.061

Perl::Critic::Config 1.061


Perl::Critic::Config is a Perl module to find and load Perl::Critic user-preferences. more>>
Perl::Critic::Config is a Perl module to find and load Perl::Critic user-preferences.

Perl::Critic::Config takes care of finding and processing user-preferences for Perl::Critic. The Config object defines which Policy modules will be loaded into the Perl::Critic engine and how they should be configured. You should never really need to instantiate Perl::Critic::Config directly because the Perl::Critic constructor will do it for you.

CONSTRUCTOR

new( [ -profile => $FILE, -severity => $N, -theme => $string, -include => @PATTERNS, -exclude => @PATTERNS, -single-policy => $PATTERN, -top => $N, -only => $B, -strict-profile => $B, -force => $B, -verbose => $N, -color => $B ] )
new()

Returns a reference to a new Perl::Critic::Config object. The default value for all arguments can be defined in your .perlcriticrc file. See the "CONFIGURATION" section for more information about that. All arguments are optional key-value pairs as follows:

-profile is a path to a configuration file. If $FILE is not defined, Perl::Critic::Config attempts to find a .perlcriticrc configuration file in the current directory, and then in your home directory. Alternatively, you can set the PERLCRITIC environment variable to point to a file in another location. If a configuration file cant be found, or if $FILE is an empty string, then all Policies will be loaded with their default configuration. See "CONFIGURATION" for more information.
-severity is the minimum severity level. Only Policy modules that have a severity greater than $N will be loaded into this Config. Severity values are integers ranging from 1 (least severe) to 5 (most severe). The default is 5. For a given -profile, decreasing the -severity will usually result in more Policy violations. Users can redefine the severity level for any Policy in their .perlcriticrc file. See "CONFIGURATION" for more information.
-theme is special string that defines a set of Policies based on their respective themes. If -theme is given, only policies that are members of that set will be loaded. See the "POLICY THEMES" section for more information about themes. Unless the -severity option is explicitly given, setting -theme causes the -severity to be set to 1.
-include is a reference to a list of string @PATTERNS. Policies that match at least one m/$PATTERN/imx will be loaded into this Config, irrespective of the severity settings. You can use it in conjunction with the -exclude option. Note that -exclude takes precedence over -include when a Policy matches both patterns.
-exclude is a reference to a list of string @PATTERNS. Polices that match at least one m/$PATTERN/imx will not be loaded into this Config, irrespective of the severity settings. You can use it in conjunction with the -include option. Note that -exclude takes precedence over -include when a Policy matches both patterns.
-single-policy is a string PATTERN. Only the policy that matches m/$PATTERN/imx will be used. This value overrides the -severity, -theme, -include, -exclude, and -only options.
-top is the maximum number of Violations to return when ranked by their severity levels. This must be a positive integer. Violations are still returned in the order that they occur within the file. Unless the -severity option is explicitly given, setting -top silently causes the -severity to be set to 1.
-only is a boolean value. If set to a true value, Perl::Critic will only choose from Policies that are mentioned in the users profile. If set to a false value (which is the default), then Perl::Critic chooses from all the Policies that it finds at your site.
-strict-profile is a boolean value. If set to a true value, Perl::Critic will make certain warnings about problems found in a .perlcriticrc or file specified via the -profile option fatal. In particular, Perl::Critic normally only warns about profiles referring to non-existent Policies, but this option makes this situation fatal.
-force controls whether Perl::Critic observes the magical "## no critic" pseudo-pragmas in your code. If set to a true value, Perl::Critic will analyze all code. If set to a false value (which is the default) Perl::Critic will ignore code that is tagged with these comments. See "BENDING THE RULES" for more information.
-verbose can be a positive integer (from 1 to 10), or a literal format specification. See Perl::Critic::Violations for an explanation of format specifications.
-color is not used by Perl::Critic but is provided for the benefit of perlcritic.

<<less
Download (0.24MB)
Added: 2007-08-01 License: Perl Artistic License Price:
814 downloads
XML::Filter::Dispatcher 0.52

XML::Filter::Dispatcher 0.52


XML::Filter::Dispatcher is a path based event dispatching with DOM support. more>>
XML::Filter::Dispatcher is a path based event dispatching with DOM support.

SYNOPSIS

use XML::Filter::Dispatcher qw( :all );

my $f = XML::Filter::Dispatcher->new(
Rules => [
foo => &handle_foo_start_tag,
@bar => &handle_bar_attr,

## Send any elts and their contents to $handler
snarf//self::node() => $handler,

## Print the text of all elements
description
=> [ string() => sub { push @out, xvalue } ],
],

Vars => {
"id" => [ string => "12a" ],
},
);

WARNING: Beta code alert.

A SAX2 filter that dispatches SAX events based on "EventPath" patterns as the SAX events arrive. The SAX events are not buffered or converted to an in-memory document representation like a DOM tree. This provides for low lag operation because the actions associated with each pattern are executed as soon as possible, usually in an elements start_element() event method.

This differs from traditional XML pattern matching tools like XPath and XSLT (which is XPath-based) which require the entire document to be built in memory (as a "DOM tree") before queries can be executed. In SAX terms, this means that they have to build a DOM tree from SAX events and delay pattern matching until the end_document() event method is called.

<<less
Download (0.086MB)
Added: 2006-09-16 License: Perl Artistic License Price:
1133 downloads
Mptn 0.3.0

Mptn 0.3.0


Mptn is a library providing a pattern matching mechanism similar to regular expressions. more>>
Mptn project is a library providing a pattern matching mechanism similar to regular expressions, but with several differences making it more suitable for building a morphological analyzer.
Differences are:
- The whole string is matched against the pattern; thus the emphasis is on finding appropriate variable assignments, not on quick search. (This also means mptns will generally work slower than regexps, since they cannot in general be described by finite state automata)
- All the possible variable assignments are iterated over, not just one.
- Named variables make patterns more readable. In addition, a pattern may be associated with a variable name, restricting the possible values of the variable. Thus, you can use, for example, {c1}{v}{c2}? to match a syllable of CV/CVC structure (consonant-vowel-consonant).
- "Matcher" mechanism to extend the matching process with arbitrary procedures.
<<less
Download (0.10MB)
Added: 2006-08-28 License: LGPL (GNU Lesser General Public License) Price:
1152 downloads
VSTRING 20050428

VSTRING 20050428


VSTRING is a C++ string manipulation library. more>>
VSTRING library provides vast set of string manipulation features including dynamic string object that can be freely exchanged with standard char* type, so there is no need to change function calls nor the implementation when you change from char* to String (and vice versa).

The main difference from other similar libs is that the dynamic String class has no visible methods (except operators) so you will use it as a plain char* but it will expand/shrink as needed.

VSTRING (VSTRLIB) also provides Perl-like arrays and hashes (VArray and VTrie). There is and VRegexp class which automates regexp pattern matching.

NOTE: vstring is loosely based on `cxstring lib (c) Ivo Baylov 1998.
NOTE: vstring is distributed standalone as well as a part from vslib.
<<less
Download (0.12MB)
Added: 2005-12-14 License: GPL (GNU General Public License) Price:
1409 downloads
Streamline 1.7.2

Streamline 1.7.2


Streamline is a high-speed networking subsystem for commodity operating systems. more>>
Streamline is a high-speed networking subsystem for commodity operating systems. It increases performance by moving processing tasks to the fastest location. Streamline supports in-kernel execution, but also dedicated hardware (NICs) and even remote machines. An implementation of Streamline for Linux 2.6.13 and higher is made publicly available.
The goal of Streamline is to make fast network processing viable for common tasks. Many advanced processing schemes so far fail to make it into OSes, because they are difficult to combine with the socket(..) API or only applicable in a few situations. Our goal is to integrate known as well as develop new methods that replace sockets(..). without burdening application developers and end-users. Streamline achieves this by constructing a tailored dataplane for each application at runtime from an extensible set of functions.
Applications request information streams by specifying a series of abstract functions that need to be performed on incoming data (e.g., select tcp packets for port 80, reassemble into a stream, filter out known attacks). At runtime, streamline searches for implementations of these functions. These can be found in the kernel, in the application library, or in dedicated hardware such as programmable network cards or asymmetric multicores. When all functions are found, interconnecting datapaths are setup. Paths may need to cross the PCI bus, userspace/kernelspace barrier or even LANs. Optimisation of these paths is one of the factors that contributes to Streamlines performance.
The base system comes bundled with functions for pattern matching (Aho Corasick, RegEx), accounting, filtering (among others BPF), stream reassembly, rewriting, inspection, and more. Obvious uses are intrusion detection, network address translation, media streaming and realtime (pre)processing of scientific data.
Enhancements:
- This is mostly a stabilization release, which adds support for Linux kernels up to 2.6.22 and Fedora Core installations.
- The only truly new feature is a virtual filesystem interface (like sysfs) to streamline.
- With this "netmonfs" you can inspect live datastreams as if youre reading local files.
- Setting up streams and filters is easily accomplished through mkdir, open, and other well-known tools.
- Note that netmonfs is still beta quality software.
<<less
Download (0.82MB)
Added: 2007-08-23 License: LGPL (GNU Lesser General Public License) Price:
809 downloads
hachoir-regex 1.0

hachoir-regex 1.0


hachoir-regex application is regex manipulation Python library. more>>
hachoir-regex application is regex manipulation Python library. Its used by hachoir-subfile for fast pattern matching (find file header).
Examples
Regex creation
>>> from hachoir_core.regex import parse, createString
>>> createString("bike") | createString("motor")
< RegexOr (bike|motor) >
>>> createString("big ") + createString("bike")
< RegexString big bike >
>>> r=parse((cat|horse))
>>> r.minLength(), r.maxLength()
(3, 5)
Optimizations
>>> from hachoir_core.regex import parse, createString
>>> parse("(ma|mb|mc)")
< RegexAnd m[a-c] >
>>> createString("moto") | parse("mot.")
< RegexAnd mot. >
Pattern matching
from hachoir_core.regex import PatternMatching
p = PatternMatching()
p.addString("un", 1)
p.addString("deux", 2)
p.addRegex("(trois|three)", 3)
for start, end, item in p.search("un deux trois"):
print "%r at %s: user=%r" % (item, start, item.user)
find
< StringPattern un > at 0: user=1
< StringPattern deux > at 3: user=2
< RegexPattern t(rois|hree) > at 8: user=3
Enhancements:
- This version supports most regex structures and a lot of regex optimization, but keeps regex order.
<<less
Download (0.020MB)
Added: 2007-07-03 License: GPL (GNU General Public License) Price:
844 downloads
Esper 0.8.0

Esper 0.8.0


Esper is a 100% Java component for CEP and ESP applications. more>>
Esper project is a 100% Java component for CEP and ESP applications.
Main features:
- Event Pattern Matching
- Logical and temporal event correlation
- Crontab-like timer at operator
- Lifecyle of pattern can be controlled by timer and via operators
- Pattern-matched events provided to listeners
- Event Stream Processing
- Time-based, interval-based and lenght-based event windows
- Grouping, aggregation, sorting, filtering
- Tailored SQL-like query language using select and where clause
- Inner-Join of two or more event streams, outer joins
- Dynamically generated indexes
- Supports both listener (push) and consumer (pull) model
- Supports event-type inheritance and polymorphism as provided by the Java language
- Event properties can be simple, indexed, mapped or nested
- Supports externally-supplied time as well as Java system time
- Supports multiple independent Esper engines per JavaVM. Each engine instance itself is NOT multithread-safe, requiring workload structuring per engine if necessary (also see FAQ on multithread-safety).
Version restrictions:
- Esper requires a Java Virtual Machine version 5.0 runtime, or above.
- Esper will not work with JavaVM versions 1.4.2 or below.
- A Esper engine instance itself is NOT multithread-safe, i.e. 2 or more threads sending events to the same engine instance is not supported. However multiple engine instances with a maximum of one thread per engine instance is supported.
<<less
Download (4.6MB)
Added: 2006-03-27 License: LGPL (GNU Lesser General Public License) Price:
1309 downloads
Cypher 0.7.8

Cypher 0.7.8


Cypher generates the .rdf (RDF graph) and .serql (SeRQL query) representation of a plain language input. more>>
Cypher generates the .rdf (RDF graph) and .serql (SeRQL query) representation of a plain language input.
With robust definition languages, its grammar and lexicon can quickly and easily be extended to process highly complex sentences and phrases of any natural language, and can cover any vocabulary.
Programmers can build next generation semantic Web applications that harness natural language.
Main features:
- Morpholgical Processing
- Word Sense Disambiguation
- Part of speech tagging
- Phrase Structure Grammar parser (phrase tree output)
- High Speed pattern matching algorithm
- Robust templating for RDF, and SeRQL output
- Easy to learn phrase description language , lexicon and framenet definition language
Enhancements:
- Change were made to the pattern element parser.
- Now either store or root may be specified as an attribute to determine if a pattern will be output.
- Setting to false prevents the pattern from being output if the pattern is the root pattern.
<<less
Download (6.2MB)
Added: 2006-09-07 License: Free for non-commercial use Price:
1228 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5