Asking unrelated questions on a thread is risky - people don't necessarily read the thread if the subject is not of interest to them. Especially here when it is about the (extremely!) fine detail of how XSD durations work and have evolved over versions.

The reason why public query benchmarks have faded is the realisation that useful numbers come from (1) significant attention to the runtime environment and (2) the use case of interest.

A benchmark execute by someone else on their use case and data has only so much use.

Ultimately the question becomes "is it fast enough for my usage with the configuration I want in the environment I will be using?" and the way to know, is to try.

The same is true in the SQL world with TPC.
The fastest databases aren't the ones growing in usage like crazy at the moment.

BSBM is better than LUMB in being a bit more realistic (LUBM is, as the original authors have said, no longer that helpful) but it is quite small and focuses on pattern-filter queries. There are two optimizations that ARQ does that determine the efficiency - all the other optimizations don't have much effect on the queries+data of BSBM but do elsewhere.

Straight loads tests are more reliable as loading has less dimensions - the shape of the data does matter but in query there is the whole universe of query possibilities and features.

LDBC publish some benchmarks (data and query sets) by use case and they do run professional benchmarking. It is on a pay-to-participate basis for certified results (think TPC).

What are you interested in?
Inference?
Data publishing or data analytics?
...

    Andy

On 28/01/2021 02:01, Fang, Xiao Shan wrote:
Dear all,

Does TDB has a latest benchmarking performance test result?  I found a Berlin 
sparql test benchmarking result. But it reports on 2008.

Thanks,
-xiaoshan


-----Original Message-----
From: Andy Seaborne [mailto:a...@apache.org]
Sent: 2021年1月28日 6:26
To: users@jena.apache.org
Subject: Re: XPath Duration functions in Jena

Hi Harri,

https://www.w3.org/TR/xpath-functions-3/#func-subtract-dates

The difference of two dates is the duration bwteeen the dates as points on the 
timeline as a xs:dayTimeDuration.

?age is "P14484DT0H0M0.000S"^^xsd:dayTimeDuration

not PnnYnnMnnD

A duration is a defined, fixed length of time.


There two kinds of durations xs:dayTimeDuration and xs:yearMonthDuration 
https://www.w3.org/TR/xpath-functions-3/#duration-subtypes

where arithmetic and ordering can be meaningfully defined at all.

A combination of months and days is not a fixed interval of time because the 
number of days in a month isn't the same for all months.

Only xs:dayTimeDuration defines a duration that is of a well-defined difference 
of two points on the timeline (ignoring negative leap seconds).

Once "xsd:date - xsd:date" is calculated, the duration is a fixed length of 
time and does not tie back to which dates were used in the calculation.

So "P14484D.." is right not "P44Y6m??D"

[[
Confusingly the difference of two Gregorian year-months (gYearMonth) is also an 
xs:dayTimeDuration, and not a xs:yearMonthDuration, not that it is really 
defined on gYearMonth (section 9.1), because gYearMonth maps to a point on the 
timeline and the difference is of two points on the timeline.
]]


With ?age is "P14484DT0H0M0.000S"^^xsd:dayTimeDuration

For the casting to xsd:yearMonthDuration: (had to check this one!)

Casting xsd:dayTimeDuration to xsd:yearMonthDuration is defined.

https://www.w3.org/TR/xpath-functions-31/#casting-from-primitive-to-primitive

https://www.w3.org/TR/xpath-functions-31/#casting-to-durations
"""
If ST is xs:yearMonthDuration and TT is xs:dayTimeDuration, the cast is 
permitted and returns a xs:dayTimeDuration with value 0.0 seconds.
"""
ST is "source type" TT is target type".

I don't know the rationale - (a guess - treat like it is selecting fields from 
PnnYnnMnnDT..)

      Andy


On 27/01/2021 17:16, Harri Kiiskinen wrote:
Dear all,

This example run with Fuseki 3.17:

--------------------------------------------------------------------
PREFIX fn: <http://www.w3.org/2005/xpath-functions#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT ?y ?d (xsd:dayTimeDuration(?age) as ?a1)
               (xsd:yearMonthDuration(?age) as ?a2) where {
    bind ( xsd:date("1984-12-01") as ?y)
    bind ( xsd:date("1944-05-06") as ?d)
    bind ((?y-?d) as ?age )
}
-------------------------------------------------------------------

Gives unexpected results:

------------------------------------------------------------------
y,d,a1,a2
1984-12-01,1944-05-06,P14484DT0H0M0.000S,P0M
------------------------------------------------------------------

I was expecting the variable "a2" to contain the duration expressed in
Years and Months, but instead it is zero.


What am I doing wrong here?

Best,

Harri Kiiskinen

Reply via email to