JeromeDL/SearchServiceComponent

From Corrib Clan Wiki

Jump to: navigation, search

Contents

Search Service Component

Articles

The search engine in JeromeDL is described in Kruk, Zaremba, Zimmermann: Semantically Enhanced Search Services for Digital Libraries.

Query Object XML Schema
Toggle line numbersToggle line numbers
  1 <?xml version="1.0" encoding="UTF-8"?>
  2  
 28 
 31 <!DOCTYPE xs:schema SYSTEM "file:///www/webapps/JeromeDL/xml/dtd/namespaces.dtd">
 32 <xs:schema xmlns:elvis="&elvis;" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rdfs="&rdfs;" elementFormDefault="qualified">
 33   <xs:element name="Query">
 34     <xs:complexType>
 35       <xs:sequence>
 36         <xs:element ref="Property" minOccurs="0" maxOccurs="unbounded" rdfs:label="property of resource" rdfs:comment="Define possible values for this property of the resource you are looking for"/>
 37         <xs:element ref="FullText" minOccurs="0" maxOccurs="unbounded" rdfs:label="fulltext search" rdfs:comment="List of word that should be found in the resoure content or abstract"/>
 38       </xs:sequence>
 39       <xs:attribute name="isAdvanced" type="xs:boolean" use="required" default="true" rdfs:label="simple search" rdfs:comment="Simple searching with one field (the value is copied to another properties in the Query object)" elvis:type="hidden"/>
 40       <xs:attribute name="isSemantic" type="xs:boolean" use="optional" default="false" rdfs:label="semantic search" rdfs:comment="Advance searching with semantic query expansion" elvis:type="checkbox"/>
 41       <xs:attribute name="isConjunction" type="xs:boolean" use="optional" default="false" rdfs:label="is conjunction" rdfs:comment="Do all the results must conform given properties" elvis:type="checkbox"/>
 42     </xs:complexType>
 43   </xs:element>
 44   <xs:element name="Property">
 45     <xs:complexType>
 46       <xs:sequence>
 47         <xs:element ref="Value" maxOccurs="unbounded"/>
 48       </xs:sequence>
 49       <xs:attribute name="rank" type="xs:integer" use="required"/>
 50       <xs:attribute name="id" type="xs:string" use="required"/>
 51     </xs:complexType>
 52   </xs:element>
 53   <xs:element name="FullText">
 54     <xs:complexType>
 55       <xs:sequence>
 56         <xs:element ref="Value" maxOccurs="unbounded"/>
 57       </xs:sequence>
 58     </xs:complexType>
 59   </xs:element>
 60   <xs:element name="Value">
 61     <xs:complexType>
 62       <xs:simpleContent>
 63         <xs:extension base="xs:string">
 64           <xs:attribute name="function" use="required">
 65             <xs:simpleType>
 66               <xs:restriction base="xs:string">
 67                 <xs:enumeration value="default"/>
 68                 <xs:enumeration value="mustExist"/>
 69                 <xs:enumeration value="mustNotExist"/>
 70                 <xs:enumeration value="proximity"/>
 71                 <xs:enumeration value="boost"/>
 72               </xs:restriction>
 73             </xs:simpleType>
 74           </xs:attribute>
 75           <xs:attribute name="functionAttribute" type="xs:string"/>
 76           <xs:attribute name="escaped" type="xs:boolean"/>
 77         </xs:extension>
 78       </xs:simpleContent>
 79     </xs:complexType>
 80   </xs:element>
 81 </xs:schema>


The definition of Query Object in XML Schema


Result Object XML Schema
Toggle line numbersToggle line numbers
  1 <?xml version="1.0" encoding="UTF-8"?>
  2  
 28 
 31 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
 32   <xs:element name="Author">
 33     <xs:complexType>
 34       <xs:simpleContent>
 35         <xs:extension base="xs:string">
 36           <xs:attribute name="uri" type="xs:anyURI" use="required"/>
 37         </xs:extension>
 38       </xs:simpleContent>
 39     </xs:complexType>
 40   </xs:element>
 41   <xs:element name="Book">
 42     <xs:complexType>
 43       <xs:sequence>
 44         <xs:element ref="Title"/>
 45         <xs:element ref="Author" maxOccurs="unbounded"/>
 46         <xs:element ref="Domain" minOccurs="0" maxOccurs="unbounded"/>
 47         <xs:element ref="Keyword" minOccurs="0" maxOccurs="unbounded"/>
 48         <xs:element ref="Digest"/>
 49       </xs:sequence>
 50       <xs:attribute name="id" type="xs:string" use="required"/>
 51       <xs:attribute name="bookType" use="required">
 52         <xs:simpleType>
 53           <xs:restriction base="xs:string">
 54             <xs:enumeration value="book"/>
 55             <xs:enumeration value="publication"/>
 56             <xs:enumeration value="script"/>
 57             <xs:enumeration value="oldbook"/>
 58           </xs:restriction>
 59         </xs:simpleType>
 60       </xs:attribute>
 61       <xs:attribute name="type" type="xs:string" use="required"/>
 62       <xs:attribute name="rank" type="xs:unsignedLong" use="optional" default="0"/>
 63     </xs:complexType>
 64   </xs:element>
 65   <xs:element name="Results">
 66     <xs:complexType>
 67       <xs:sequence>
 68         <xs:element ref="Book" minOccurs="0" maxOccurs="unbounded"/>
 69         <xs:element ref="Info"/>
 70         <xs:element ref="History"/>
 71       </xs:sequence>
 72     </xs:complexType>
 73   </xs:element>
 74   <xs:element name="Title" type="xs:string"/>
 75   <xs:element name="Info">
 76     <xs:complexType>
 77       <xs:sequence>
 78         <xs:element ref="Message" maxOccurs="unbounded"/>
 79       </xs:sequence>
 80     </xs:complexType>
 81   </xs:element>
 82   <xs:element name="History">
 83     <xs:complexType>
 84       <xs:sequence>
 85         <xs:element ref="Message" maxOccurs="unbounded"/>
 86       </xs:sequence>
 87     </xs:complexType>
 88   </xs:element>
 89   <xs:element name="Message">
 90     <xs:complexType>
 91       <xs:sequence>
 92         <xs:element ref="Try" minOccurs="0" maxOccurs="unbounded"/>
 93       </xs:sequence>
 94       <xs:attribute name="type" type="xs:string" use="required"/>
 95       <xs:attribute name="action" type="xs:string" use="required"/>
 96 
 97       <xs:attribute name="name" type="xs:string" use="optional"/>
 98       <xs:attribute name="uri" type="xs:anyURI" use="optional"/>
 99     </xs:complexType>
100   </xs:element>
101   <xs:element name="Try" nillable="false">
102     <xs:complexType>
103       <xs:simpleContent>
104         <xs:extension base="xs:string">
105           <xs:attribute name="uri" type="xs:anyURI" use="required"/>
106         </xs:extension>
107       </xs:simpleContent>
108     </xs:complexType>
109   </xs:element>
110   <xs:element name="Domain">
111     <xs:complexType>
112       <xs:simpleContent>
113         <xs:extension base="xs:string">
114           <xs:attribute name="uri" type="xs:anyURI" use="required"/>
115         </xs:extension>
116       </xs:simpleContent>
117     </xs:complexType>
118   </xs:element>
119   <xs:element name="Keyword">
120     <xs:complexType>
121       <xs:simpleContent>
122         <xs:extension base="xs:string">
123           <xs:attribute name="uri" type="xs:anyURI" use="required"/>
124         </xs:extension>
125       </xs:simpleContent>
126     </xs:complexType>
127   </xs:element>
128   <xs:element name="Digest" type="xs:string"/>
129 </xs:schema>


The definition of Result Object in XML Schema


Java Implementation

You can also find the detailed description of the search service component API in CVS module javadoc of JeromeDL project at sourceforge. See the PDF generated from this JavaDoc.

Facts about JeromeDL/SearchServiceComponent — Click + to find similar pages.RDF feed
Personal tools

Corrib cluster project is supported by Enterprise Ireland under Grant No. ILP/05/203, Science Foundation Ireland under Grant No. SFI/02/CE1/I131.
Hosted at DERI, NUI Galway.