Dear all,
A new Summer Edition of BaseX is available! Our XML database system
and XQuery 3.1 processor provides the following new stunning features:
DATABASE JOBS
- all registered database jobs are now centrally administered
- jobs can be scheduled (periodical execution, start/end time)
- job results can be cached and retrieved later on
- new Jobs Module: XQuery functions for managing jobs
- new commands: JOBS [LIST|RESULT|STOP]
- DBA: visualization of currently registered jobs
XQUERY
- parallel execution via xquery:fork-join (thank you, James Wright!)
- alignments with the latest changes in the XQuery 3.1 specification
- easy chaining of update operations with the 'update' keyword
- numerous optimizations, smarter rewritings and heuristics
XQUERY MODULES
- File, Conversion, Fetch Module: handling of invalid XML characters
- Inspection Module: inspect:function-annotations added
OPTIONS
- LOGPATH: custom path for logging data
- CACHETIMEOUT: timeout for dropping cached job results
- AUTHMETHOD: `custom` added to skip authentication
Visit http://basex.org to find the latest release, and check out
http://docs.basex.org/ to get more information. Have fun,
Christian
BaseX Team
I have BaseX installed and running happily on my desktop and trying to
connect from java on my laptop to port 1984 (unchanged). Using the web
interface (http://192.168.17.28:8984/dba/login) works happily enough,
however I just get "connect timed out" when using the java API.
I can't see anything in the config that indicate I need to "enable"
remote access (unlike MySQL which only binds to localhost initially), so
I was expecting this to just "work out the box".
Am I missing something obvious?
The information contained in the email and any files transmitted with it is confidential and intended for the addressee only. If you have received this email in error please accept our apologies and notify the originator. Any disclosure, copying, distribution or any other use of this communication is strictly prohibited and may be unlawful. We reserve the right to monitor and intercept communications for lawful business purposes.
Wireless Innovation Ltd , Unit D2, Churcham Business Park, Churcham, Gloucestershire, GL2 8AX, Great Britain.
Company Registration Number 5240202, Place of Registration Companies House Cardiff.
Hi,
I am using BaseX 8.4.3.
I found some discriminating results while executing following query in two
different ways :
Query : round(((( $V1 * $V2 )+( $V3 * $V4 )+( $V5 * $V6 ))div( $V1 + $V3
+ $V5 ))*10000) div 10000
1. Type 1 (standalone values)
let $V1 := 1500000000
let $V2 := 0.0926
let $V3 := 1000000000
let $V4 := 0.082
let $V5 := 500000000
let $V6 := 0.0931
let $V7 := 0.0892
return round(((( $V1 * $V2 )+( $V3 * $V4 )+( $V5 * $V6 ))div( $V1 + $V3 +
$V5 ))*10000) div 10000
Output : 0.0892
2 : Type 2 (values from input xml attached in this mail - val.xml)
let $V1 := data/V1
let $V2 := data/V2
let $V3 := data/V3
let $V4 := data/V4
let $V5 := data/V5
let $V6 := data/V6
let $V7 := data/V7
return round(((( $V1 * $V2 )+( $V3 * $V4 )+( $V5 * $V6 ))div( $V1 + $V3 +
$V5 ))*10000) div 10000
Output : 0.0891
Is this a bug or am I doing something wrong?
Thanks,
Prasad Gavhane.
Hi there BaseX people!
Original post on StackOverflow:
http://stackoverflow.com/questions/38086358/starting-multiple-sessions-in-ba
sex-with-perl-compilation-failed-at-carp-pm
I wanted to see if I could start multiple BaseX sessions (on a single
server) to try some things out, but I can't even get the sessions to launch
- heck, I can't even get the Perl script to compile! This is odd to me,
because the same code works perfectly without multiple sessions.
Let's say I have a subroutine that creates sessions given an amount. E.g.
the following code would create 3 sessions (variables for dbhost, user and
password left out):
CreateSessions(3);
# For testing
my $session = $sessions[0];
sub CreateSessions {
my ($amountofsessions) = @_;
our @sessions = ();
for (my $i = 0; $i < $amountofsessions; $i++) {
my $session = Session->new($dbhost, 1950, $usr, $pw);
push(@sessions, $session);
}
}
I also tried other approaches, e.g. creating each session individually and
assigning it to a variable, and then building an array with these variables.
The same problem occurs:
Compilation failed in require at /usr/share/perl5/Carp.pm line 33.
When I look up that file and that line, it states:
eval { require Carp::Heavy };
Which, I guess, means that I don't have the Carp module installed? But I do
not understand why I would need this, and why that the Perl script works
when I only create one session.
Is it possible to launch multiple sessions from Perl that can work
simultaneously, and if so, how do you launch these sessions and access them?
It's important to note that in PHP, for another project but the same
database, having multiple sessions does work. In other words, there I can
have multiple sessions that run in parallel.
We're on BaseX 7.9 and Perl 5.10.1. (Old, I know, but I can't change it.)
Thank you for your time!
Bram
Hello!
I'm writing an article about my work on retro-digitizing a dictionary.
The work has been a very enjoyable process using BaseX and Xquery since
an original XML of the printed dictionary could be retrieved from the
print files. If some one else on this list has experience of similar
work, I'd be glad to read about it.
Now to my question: How should I cite BaseX? I can't find it in the wiki
nor on the main publications page...
Best regards
Kristian
I am experiencing unexpected behavior with a database I am
working with in BaseX 8.3.1. The database is a collection of
information about trials in the late Roman Republic (see
http://tlrr.blackmesatech.com/ for more information), and
while the upper-level elements have only element content,
most of the actual data values are mixed content.
I reloaded the data the other day, having run some cleanup
processes on it to regularize the whitespace and make the
XML source more readable. In one trial record, for example,
the information about the defendant looks like this:
<defGrp>
<defendant>
<namelist>
<person-entry>
<person pid="pSulpicius58Ser.Galba"
ix="2"
form="Sulpicius (+58), Ser. Galba"
>Ser. Sulpicius Galba (58)</person> cos. 144 spoke <i>pro se</i> (<i>ORF</i> 19.II, III)</person-entry>
</namelist>
</defendant>
</defGrp>
(This says that the defendant in the case was one Servius Sulpicius
Galba, whose biography is given as the 58th entry under "Galba" in
the Pauly/Wissowa Reallexikon, that this man was consul in
144 BC, that he spoke on his own behalf, and that the extant
fragments of his speech are printed in the collection Oratorum
Romanorum Fragmenta (ORF) as items 19.II and 19.III.)
After a little research, I learned (I think) how to make the default
settings for the database have the value CHOP = false (I call
db:create($dbname,(),(), map{ "chop": false{}) to create the db), and
also (redundantly, I hope) to specify CHOP = false as an option
on the db:add() and db:replace() calls I am using to reload records
in the database.
When the web front end retrieves the individual trial record
whose defendant information is shown above, I get a result
that looks essentially like what is shown above. When a
different query retrieves just portions of the trial record, using
the expression
<trial id="{$e/@id}"
tlrr1="{$e/@tlrr1}"
doc="{document-uri(root($e))}">{
$e/date,
$e/ccGrp,
$e/defGrp(: /defendant :),
$e/ppGrp(: /prosecutor :),
$e/partiesGrp,
$e/advGrp
}</trial>
the defendant information looks like this, according to both
Safari and Opera:
<defGrp>
<defendant>
<namelist>
<person-entry>
<person pid="pSulpicius58Ser.Galba" ix="2" form="Sulpicius (+58), Ser. Galba">Ser. Sulpicius Galba (58)</person>cos. 144 spoke<i>pro se</i>(<i>ORF</i>19.II, III)</person-entry>
</namelist>
</defendant>
</defGrp>
Note that within the person-entry element, the whitespace adjacent
to the 'person' and 'i' elements has disappeared.
It looks almost as if some queries were stripping whitespace as part
of the query, or as part of returning a result. To confuse me even
further, dynamic queries using the dba application on the server
return data with the whitespace chopped.
Is there something obvious I am overlooking or doing wrong?
Actually, I guess i have two questions: first, I'd like to figure out
why BaseX is currently behaving as it does. And then I'd like to
make it behave differently.
I realize now that the documents I just updated all had
xml:space="preserve" on their root elements, because I couldn't
make this work last time I tried, either. I would much much
rather avoid resorting to that again, if I can, since it feels like a
hack and it complicates processing of the data.
I will try to construct a minimum repeatable example that illustrates
the problem, but I have not done so yet.
thanks for any help anyone on the list can provide,
Michael
--
****************************************************************
* C. M. Sperberg-McQueen, Black Mesa Technologies LLC
* http://www.blackmesatech.com
* http://cmsmcq.com/mib
* http://balisage.net
****************************************************************
Can any readers of this list recommend some reasonably prudent
technique for handling passwords that an XQuery module will need
to retrieve things via http?
I suppose there are two questions: (1) where do people store such
userid/password pairs? and (2) what's the best way to use them?
For storing, it has occurred to me that I can:
- hard-code them in the XQuery source
- store them in an admin-info document in the XQuery database
and look them up when needed
- don't store them at all but require the request to pass them in
as parameters (which offloads the burden of storing these things
onto the client)
The simplest way to use them is of course to inject them into the
URL, but I recall being warned that this means they can show up
in logs, so it's not a recommended practice.
Probably it is better to use http:send-request() with username
and password specified as attributes on the http:request method;
anyone who can confirm or deny this, please do.
I will be grateful for any and all guidance.
--
****************************************************************
* C. M. Sperberg-McQueen, Black Mesa Technologies LLC
* http://www.blackmesatech.com
* http://cmsmcq.com/mib
* http://balisage.net
****************************************************************
Hello everybody,
is anyone have a system or solution which can be available for comparing result with another retrieval system based on xquery.
Thanks for all.
Hi,
Do you know if there is a simple way to install the tagsoup parser in the
basex web app servlet - If so, is there an instruction set?
Also, are there any plans to update the Ubuntu repositories with the latest
versions?
Many thanks
Ben