Changeset 827 for MDRepository


Ignore:
Timestamp:
11/01/10 23:30:16 (14 years ago)
Author:
vronk
Message:

adding build (for tests) + basic version of the test-queries file;
minor but important correction in cmd-model.xqm

Location:
MDRepository/trunk/xquery
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • MDRepository/trunk/xquery/README

    r815 r827  
    5050       
    5151       
    52        
     52== test suite ==
     53THIS IS CURRENTLY BEING DEVLEOPED! NOT SAFELY USABLE YET!
     54
     55own build-file: build-tests.xml
     56based on exist's performance.xml sub-build-file
     57imports main exist build-file.
     58This yields problems with basedir for the imported build-files
     59
     60The simplest solution I could find is to set the basedir as property on command line:
     61
     62ant -f build-tests.xml -Dbasedir=C:/apps/exist benchmark
     63
     64The other options are to be set in build-tests.properties!
     65
     66actual queries for testing/benchmarking are written in cmd-test.xml
  • MDRepository/trunk/xquery/cmd-model.xqm

    r826 r827  
    117117      return
    118118        util:eval(fn:concat("$collection/ft:query(descendant::IsPartOf, <query><term>", xdb:decode($coll), "</term></query>)/ancestor-or-self::CMD/descendant-or-self::", $path))
    119     return
    120       cmd-model:elem-r($path-nodes, $path, $depth, $depth)
     119   
     120                let $entries := cmd-model:elem-r($path-nodes, $path, $depth, $depth),
     121                        $coll-names-value := if (fn:empty($collections)) then () else attribute colls {fn:string-join($collections, ",")},
     122                $result := element {$cmd-model:docTypeTerms} {
     123                                                                                                        $coll-names-value,
     124                                                                                                            attribute depth {$depth},                                                                                                       
     125                                                                                                            attribute created {fn:current-dateTime()},
     126                                                                                                            $entries 
     127                                                                                                }
     128    return $result             
    121129};
    122130
  • MDRepository/trunk/xquery/cmd-stats.xql

    r654 r827  
    11let $doc-name := xmldb:store("/db/cmdi-mirror", "stats.xml", <result></result>),
    22$doc := doc($doc-name),
    3 $items := (<item label="CMD" >count(//CMD)</item>,
    4 <item label="CMD with Resource" >count(//CMD[.//ResourceType='Resource'])</item>,
    5 <item label="CMD with Metadata" >count(//CMD[.//ResourceType='Metadata'])</item>,
    6 <item label="ResourceProxy - Resource" >count(//ResourceProxy[ResourceType='Resource'])</item>,
    7 <item label="ResourceProxy - Metadata" >count(//ResourceProxy[ResourceType='Metadata'])</item>,
    8 <item label="CMD with MD and Res (fixme!)" >count((//CMD[.//ResourceType='Resource'], //CMD[.//ResourceType='Metadata']))</item>,
    9 <item label="CMD without " >count(//CMD[not(.//ResourceType='Resource')][not(.//ResourceType='Metadata')])</item>,
    10 <item label="CMD with relative Resource (starts-with('.'))" >count(//CMD[.//ResourceType='Resource'][starts-with(.//ResourceRef,'.')])</item>,
    11 <item label="CMD with http-uri Resource" >count(//CMD[.//ResourceType='Resource'][starts-with(.//ResourceRef,'http')])</item>,
    12 <item label="CMD with relative MD" >count(//CMD[.//ResourceType='Metadata'][starts-with(.//ResourceRef,'.')])</item>,
    13 <item label="CMD with http-uri MD" >count(//CMD[.//ResourceType='Metadata'][starts-with(.//ResourceRef,'http')])</item>,
    14 <item label="CMD - Resource not relative, not http" >count(//CMD[.//ResourceType='Resource'][not(starts-with(.//ResourceRef,'.'))][not(starts-with(.//ResourceRef,'http'))])</item>,
    15 <item label="CMD - Resource only filename (text, no '/')" >count(//CMD[.//ResourceProxy[ResourceType='Resource'][ResourceRef[not(. = "")][not(contains(.,'/'))]]])</item>,
    16 <item label="CMD - only filename (text, no '/')" >count(//CMD[.//ResourceRef[not(. = "")][not(contains(.,'/'))]])</item>,
    17 <item label="ResourceRef only filename (text, no '/')" >count(//ResourceRef[not(. = "")][not(contains(.,'/'))])</item>,
    18 <item label="CMD - empty ResourceRef">count(//CMD[.//ResourceRef[. = ""]])</item>,
    19 <item label="ResourceRef empty">count(//ResourceRef[. = ""])</item>,
    20 <item label="CMD - empty and non-empty ResourceRef">count((//CMD[.//ResourceRef[. = ""]], //CMD[.//ResourceRef[not(. = "")]]))</item>)
     3$items := (
     4<item key="C" label="CMD" >count(//CMD)</item>,
     5<item key="C.0" label="CMD without " >count(//CMD[not(.//ResourceType='Resource')][not(.//ResourceType='Metadata')])</item>,
     6<item key="C.R+M" label="CMD with MD and Res" >count((//CMD[.//ResourceType='Resource'][.//ResourceType='Metadata']))</item>,
     7<item key="C.R" label="CMD with Resource" >count(//CMD[.//ResourceType='Resource'])</item>,
     8<item key="C.R.0" label="CMD - with Resource empty">count(//CMD[.//ResourceType='Resource'][.//ResourceRef[. = ""]])</item>,
     9<item key="C.R.1" label="CMD with relative Resource (starts-with('.'))" >count(//CMD[.//ResourceType='Resource'][starts-with(.//ResourceRef,'.')])</item>,
     10<item key="C.R.2" label="CMD with http-uri Resource" >count(//CMD[.//ResourceType='Resource'][starts-with(.//ResourceRef,'http')])</item>,
     11<item key="C.R.1+2" label="CMD - with relative and http Resource">count(//CMD[.//ResourceType='Resource'][starts-with(.//ResourceRef,'.')][starts-with(.//ResourceRef,'http')])</item>,
     12<item key="C.R.3" label="CMD - Resource only filename (not empty, no '/')" >count(//CMD[.//ResourceProxy[ResourceType='Resource'][ResourceRef[not(. = "")][not(contains(.,'/'))]]])</item>,
     13<item key="RP.R" label="ResourceProxy - Resource" >count(//ResourceProxy[ResourceType='Resource'])</item>,
     14
     15<item key="C.M" label="CMD with Metadata = Collections" >count(//CMD[.//ResourceType='Metadata'])</item>,
     16<item key="C.M.1" label="CMD with relative MD" >count(//CMD[.//ResourceType='Metadata'][starts-with(.//ResourceRef,'.')])</item>,
     17<item key="C.M.2" label="CMD with http-uri MD" >count(//CMD[.//ResourceType='Metadata'][starts-with(.//ResourceRef,'http')])</item>,
     18
     19<item key="RP.M" label="ResourceProxy - Metadata" >count(//ResourceProxy[ResourceType='Metadata'])</item>,
     20
     21<item key="C..3" label="CMD - only filename (not empty, no '/')" >count(//CMD[.//ResourceRef[not(. = "")][not(contains(.,'/'))]])</item>,
     22<item key="RR.3" label="ResourceRef only filename (not empty, no '/')" >count(//ResourceRef[not(. = "")][not(contains(.,'/'))])</item>,
     23<item key="C..RR.0" label="CMD - empty ResourceRef">count(//CMD[.//ResourceRef[. = ""]])</item>,
     24<item key="RR.0 label="ResourceRef empty">count(//ResourceRef[. = ""])</item>,
     25<item key="C..RR.0+1" label="CMD - empty and non-empty ResourceRef">count((//CMD[.//ResourceRef[. = ""]][.//ResourceRef[not(. = "")]]))</item>)
    2126return
    2227 for $item in $items
    2328 let $answer := util:eval($item/text())
    24 return update insert <item label="{$item/@label}">{$answer}</item> into $doc/result
     29return update insert <item key="{$item/@key}" label="{$item/@label}">{$answer}</item> into $doc/result
     30
     31(: <item key="C.R.3" label="CMD - Resource not empty, not relative, not http">5100</item>         
     32  <item label="CMD - Resource not relative, not http" >count(//CMD[.//ResourceType='Resource'][not(starts-with(.//ResourceRef,'.'))][not(starts-with(.//ResourceRef,'http'))])</item>,
     33 :)
  • MDRepository/trunk/xquery/cmd-test.xml

    r807 r827  
    33    <configuration>
    44        <!--  <connection id="con" user="admin" password="" base="xmldb:exist://embedded-eXist-server"/> -->
    5         <connection id="con" user="admin" password="" base="xmldb:exist://localhost:8680/exist/xmlrpc/"/>
     5        <connection id="con" user="admin" password="pwd" base="xmldb:exist://localhost:8680/exist/xmlrpc/"/>
    66        <action name="sequence" class="org.exist.performance.ActionSequence"/>
    77        <action name="create-collection" class="org.exist.performance.actions.CreateCollection"/>
     
    1313    </configuration>
    1414   
    15    <group name="cmdi-tests-getCollections">
    16             <!--
    17        <setup connection="con">
    18             <create-collection parent="/db/common" name="clarin"/>
    19             <store-files dir="tests" includes="*.cmdi" collection="/db/common/clarin"/>
    20        
    21             <create-collection parent="/db/system/config" name="db"/>
    22             <store collection="/db/system/config/db" name="collection.xconf">
    23                 <collection xmlns="http://exist-db.org/collection-config/1.0">
    24                     <index>
    25                         <fulltext default="none" attributes="false">
    26                         </fulltext>
    27                        
    28                         <create path="//book/@id" type="xs:string"/>
    29                         <create path="//book/@n" type="xs:integer"/>
    30                         <create path="//section/@id" type="xs:string"/>
    31                
    32                                 <lucene>
    33                                                         <text qname="p"/>
    34                                                         <text qname="l"/>
    35                                                         <text qname="head"/>
    36                                                         <text qname="cell"/>
    37                                                 </lucene
    38                     </index>
    39                 </collection>
    40                
    41             </store>
    42         </setup>
    43                                 -->
     15   <group name="cmdi-tests-getCollections">           
    4416                                <thread name="thread1" connection="con">
    45             <sequence repeat="20" description="query imdi resources (no index)">
    46               <!-- Number 1: 375 -->
    47                                         <xquery collection="/db/cmdi-mirror" query="" />
     17            <sequence repeat="20" description="basic test of get-collections API-function">           
     18                                        <xquery collection="/db/cmdi-mirror" query="" >
     19                                                import module namespace cmd-model = "http://spraakbanken.gu.se/clarin/xquery/model"
     20                                                                        at "xmldb:exist:///db/clarin/cmd-model.xqm";
     21                                                cmd-model:get-collections('root', 'xml', 1)                                             
     22                                        </xquery>
    4823                        </sequence>
    4924                                </thread>
    5025           </group>
    5126
    52 
    5327                <group name="cmdi-tests-queryModel">
    5428                                <thread name="thread1" connection="con">
    55             <sequence repeat="20" description="query imdi resources (no index)">
    56               <!-- Number 1: 375 -->
     29            <sequence repeat="20" description="basic test of query-model API-function">       
    5730                                        <xquery collection="/db/cmdi-mirror" >
    5831                                                import module namespace cmd-model = "http://spraakbanken.gu.se/clarin/xquery/model"
    5932                                                                        at "xmldb:exist:///db/clarin/cmd-model.xqm";
    60                                                                        
    6133                                                cmd-model:query-model('Components', '/db/cmdi-mirror', 'xml', 1)
    6234                                                                </xquery>
     
    6739                <group name="cmdi-tests-searchRetrieve">
    6840                                <thread name="thread1" connection="con">
    69             <sequence repeat="20" description="query imdi resources (no index)">
    70               <!-- Number 1: 375 -->
     41            <sequence repeat="20" description="query imdi resources (no index)">             
    7142                                        <xquery collection="/db/cmdi-mirror" query=""></xquery>
    7243                        </sequence>
     
    7647                <group name="cmdi-tests-cc">
    7748                                <thread name="thread1" connection="con">
    78             <sequence repeat="20" description="query imdi resources (no index)">
    79               <!-- Number 1: 375 -->
     49            <sequence repeat="20" description="consistency checks">           
    8050                                        <xquery collection="/db/cmdi-mirror" query="count(//IsPartOf[IsPartOf])" />
     51                                        <xquery collection="/db/cmdi-mirror" query="count(/CMD/Header/MdSelfLink[.=''])" />
    8152                        </sequence>
    8253                                </thread>
Note: See TracChangeset for help on using the changeset viewer.