URLREWRITE_CREATE_REGEX_RULE
Creates regex rules.
URLREWRITE_CREATE_REGEX_RULE
(in rule_iri varchar,
in allow_update integer,
in nice_match varchar,
in nice_params any,
in nice_min_params integer,
in target_compose varchar,
in target_params any,
in target_expn varchar,
in accept_pattern varchar,
in do_not_continue integer,
in http_redirect_code integer);
Parameters
rule_iri –
The rule's name / identifier
allow_update –
Indicates whether the rule can be updated. 1 indicates yes; 0 indicates no. The update is subject to the following rules:
If the given rule_iri is already in use as a rule list identifier, an error is signaled.
If the given rule_iri is already in use as a rule identifier and allow_update for the existing rule is zero, an error is signalled.
If the given rule_iri is already in use as a rule identifier and allow_update for the existing rule is non-zero, the existing rule is updated.
nice_match –
A regex match expression to parse the URL into a vector of occurrences.
nice_params –
A vector of the names of the parsed parameters. The length of the vector should be equal to the number of '(...)' specifiers in the format string.
nice_min_params –
Used to specify the minimum number of sprintf format patterns to be matched in order to trigger the given rule. In existing versions of Virtuoso it only affects sprintf rules and has no effect for regex rules.
target_compose –
A regex compose expression for the URL of the destination page.
target_params –
A vector of names of parameters that should be passed to the compose expression (target_compose) as $1, $2 and so on.
Special names can be used in addition to names from nice_params. That names start and end with asterisk.
Name '*accept*' is for required MIME type string, other names of the sort refer to values from HTTP request header lines.
Note that '*Accept*' will return the whole "Accept:" line whereas '*accept*' is for the part that matches accept_pattern.
target_expn –
Optional SQL text that should be executed instead of a regex compose call.
accept_pattern –
A regex expression to match the HTTP Accept header
do_not_continue –
If the given rule satisfies the match conditions, 1 signifies do not try the next rule from same rule list, and 0 signifies try the next rule.
http_redirect_code –
NULL or the integer values 301, 302, 303, or 406, are currently allowed. If a 3xx redirect code is given, an HTTP redirect response will be sent back to client. If NULL is specified, the server will process the redirect internally.
Return Types
The return value is not specified.
Examples
DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
'demo_nw_rule2',
1,
'(/[^#]*)',
vector('path'),
1,
'/sparql?query=CONSTRUCT+{+%%3Chttp%%3A//^{URIQADefaultHost}^%U%%23this%%3E+%%3Fp+%%3Fo+}+FROM+%%3Chttp%%3A//^{URIQADefaultHost}^/Northwind%%3E+WHERE+{+%%3Chttp%%3A//^{URIQADefaultHost}^%U%%23this%%3E+%%3Fp+%%3Fo+}&format=%U',
vector('path', 'path', '*accept*'),
null,
'(text/rdf.n3)|(application/rdf.xml)',
0,
null
);