2016-11-09 66 views
0

我有這方面的XQuery:這些Xqueryies怎麼沒有工作?

for $x in doc("oblig3.xml")/bøker/bok 
where $x/fagfelt="Databaser" 
order by $x/title 
return $x/title 


for $x in doc("oblig3.xml")/bøker/bok 
where $x/fagfelt="XML" 
order by $x/forfatter 
return $x/forfatter 


for $x in doc("oblig3.xml")/bøker/bok 
where $x/fagfelt="databaser" and $x/fagfelt="programmering" 
order by $x/@isbn 
return $x/@isbn 


doc("oblig3.xml") 
//forlag[parent::bok[child::fagfelt='programmering' and child::fagfelt='databaser']] 

,所有的工作在一個點上,他們仍然生效,但不會從查詢我的XML東西。任何想法爲什麼這不會返回任何東西?

XML:

<?xml version="1.0" encoding="UTF-8"?> 
<?oxygen RNGSchema="compact_oblig3.rnc" type="compact"?> 

<bøker> 
    <bok isbn="1111"> 
     <tittle>Objects first with java</tittle> 
     <utgave>6</utgave> 
     <forfatter>David J. Barnes</forfatter> 
     <utgivelsesår>2016</utgivelsesår> 
     <fagfelt>Programmering</fagfelt> 
     <fagfelt>Databaser</fagfelt> 
     <innholdsfortegnelse> 
      <komponent>En komponent</komponent> 
     </innholdsfortegnelse> 
     <forlag>Pearson Education Limited 
      <url>http://www.pearsoned.co.uk/</url> 
      <kontaktinfo> 
       <telefon>08456301111</telefon> 
       <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="9780321197849"> 
    <tittle>An Introduction to Database Systems</tittle> 
    <utgave>8</utgave> 
    <forfatter>C.J.Date</forfatter> 
    <utgivelsesår>2004</utgivelsesår> 
    <fagfelt>Databaser</fagfelt> 
    <innholdsfortegnelse> 
     <komponent> Continuing in the eighth edition, An Introduction to Database Systems 
      provides a comprehensive introduction to the now very large field of database 
      systems by providing a solid grounding in the foundations of database technology 
      while shedding some light on how the field is likely to develop in the future. This 
      new edition has been rewritten and expanded to stay current with database system 
      trends. </komponent> 
    </innholdsfortegnelse> 
    <forlag> Pearson Education 
      <url>https://www.pearsonhighered.com/program/Date-An-Introduction-to-Database-Systems-8th-Edition/PGM274345.html</url> 
    </forlag> 
</bok> 

<bok isbn="9788215015224"> 
    <tittle>Databasesystemer</tittle> 
    <utgave>2</utgave> 
    <forfatter>Bjørn Kristoffersen</forfatter> 
    <utgivelsesår>2009</utgivelsesår> 
    <fagfelt>Databaser</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> 「Universitetsforlaget」 
      <url>http://www.bokkilden.no/SamboWeb/produkt.do?produktId=4136282</url> 
     <kontaktinfo> 
      <telefon>24147500</telefon> 
      <epost>[email protected]</epost> 
      <adresse> 
       <gate>Sehesteds gate</gate> 
       <gatenmr>3</gatenmr> 
       <postnmr>0164</postnmr> 
      </adresse> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="032141506"> 
    <tittle>Fundamentals of Database Systems</tittle> 
    <utgave>5</utgave> 
    <forfatter>Elmasri</forfatter> 
    <forfatter>Navathe</forfatter> 
    <utgivelsesår>2007</utgivelsesår> 
    <fagfelt>Databaser</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Pearson Education 
      <url>https://www.pearsonhighered.com/product/Elmasri-Fundamentals-of-Database-Systems-5th-Edition/9780321369574.html</url> 
    </forlag> 
</bok> 

<bok isbn="9780195138573"> 
    <tittle>Mindware</tittle> 
    <forfatter>Andy Clark</forfatter> 
    <utgivelsesår>2001</utgivelsesår> 
    <fagfelt>Filosofi</fagfelt> 
    <fagfelt>Kognitiv vitenskap</fagfelt> 
    <innholdsfortegnelse> 
     <komponent> Mindware: An Introduction to the Philosophy of Cognitive Science invites 
      readers to join in up-to-the-minute conceptual discussions of the fundamental 
      issues, problems, and opportunities in cognitive science. Written by one of the most 
      renowned scholars in the field, this vivid and engaging introductory text relates 
      the story of the search for a cognitive scientific understanding of mind. This 
      search is presented as a no-holds-barred journey from early work in artificial 
      intelligence, through connectionist (artificial neural network) counter-visions, and 
      on to neuroscience, artificial life, dynamics, and robotics. The journey ends with 
      some wide-ranging and provocative speculation about the complex coadaptive dance 
      between mind, culture, and technology. Each chapter opens with a brief sketch of a 
      major research tradition or perspective, followed by short yet substantial critical 
      discussions dealing with key topics and problems. Ranging across both standard 
      philosophical territory and the landscape of cutting-edge cognitive science, Clark 
      highlights challenging issues in an effort to engage readers in active debate. 
      Topics covered include mental causation; machine intelligence; the nature and status 
      of folk psychology; the hardware/software distinction; emergence; relations between 
      life and mind; the nature of perception, cognition, and action; and the continuity 
      (or otherwise) of high-level human intelligence with other forms of adaptive 
      response. Numerous illustrations, text boxes, and extensive suggestions for further 
      reading enhance the text's utility. Helpful appendices provide background 
      information on dualism, behaviorism, identity theory, consciousness, and more. An 
      exceptional text for introductory and more advanced courses in cognitive science and 
      the philosophy of mind, Mindware is also essential reading for anyone interested in 
      these fascinating and ever-changing fields. </komponent> 
    </innholdsfortegnelse> 
    <forlag> 「Oxford University Press」 <url>https://global.oup.com/academic/</url> 
     <kontaktinfo> 
      <telefon>4401865556767</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="9780631229193"> 
    <tittle>Philosophy of computing and information</tittle> 
    <redaktør>Luciano Floridi</redaktør> 
    <utgivelsesår>2004</utgivelsesår> 
    <fagfelt>Filosofi</fagfelt> 
    <fagfelt>Kunnskapsrepresentasjon</fagfelt> 
    <fagfelt>Kunstig Intelligens</fagfelt> 
    <fagfelt>Programmering</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> 「Wiley」 
      <url>http://www.wiley.com/WileyCDA/WileyTitle/productCd-0631229191.html</url> 
     <kontaktinfo> 
      <telefon>4962016060</telefon> 
      <epost>[email protected]</epost> 
      <adresse> 
       <gate>Boschstrasse</gate> 
       <gatenmr>12</gatenmr> 
       <postnmr>69469</postnmr> 
      </adresse> 
     </kontaktinfo> 
    </forlag> 
</bok>   

<bok isbn="9780631218685"> 
    <tittle>Philosophy of Logic</tittle> 
    <forfatter>Jacquette Dale</forfatter> 
    <utgivelsesår>2002</utgivelsesår> 
    <fagfelt>Filosofi</fagfelt> 
    <fagfelt>Logikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> 「Wiley」 
      <url>http://www.wiley.com/WileyCDA/WileyTitle/productCd-0631218688.html</url> 
     <kontaktinfo> 
      <telefon>4962016060</telefon> 
      <epost>[email protected]</epost> 
      <adresse> 
       <gate>Boschstrasse</gate> 
       <gatenmr>12</gatenmr> 
       <postnmr>69469</postnmr> 
      </adresse> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="9780198752530"> 
    <tittle>A Survey of Metaphysics</tittle> 
    <forfatter>E.J.Lowe</forfatter> 
    <utgivelsesår>2002</utgivelsesår> 
    <fagfelt>Filosofi</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> 「Oxford University Press」 
      <url>https://global.oup.com/academic/</url> 
     <kontaktinfo> 
      <telefon>4401865556767</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="9780262024754"> 
    <tittle>Knowledge and Mind: A Philosophical Introduction</tittle> 
    <utgave>1</utgave> 
    <forfatter>Robert. J. Stainton</forfatter> 
    <forfatter>Andrew Brook</forfatter> 
    <utgivelsesår>2000</utgivelsesår> 
    <fagfelt>Filosofi</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> A Bradford Book <url>https://mitpress.mit.edu/category/imprint/bradford-book</url> 
    </forlag> 
</bok> 


<bok isbn="9781412925686"> 
    <tittle>Cognitive Science</tittle> 
    <utgave>1</utgave> 
    <forfatter>Jay Friedenberg</forfatter> 
    <forfatter>Gordon Silverman</forfatter> 
    <utgivelsesår>2006</utgivelsesår> 
    <fagfelt>Kognitiv vitenskap</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Sage Publications, Inc 
     <url>https://uk.sagepub.com/en-gb/eur</url> 
     <kontaktinfo> 
      <telefon>4402073248500</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 


<bok isbn="9780262122320"> 
    <tittle>The logic of knowledge bases </tittle> 
    <utgave>1</utgave> 
    <forfatter>GerhaldLakemeyer</forfatter> 
    <forfatter>Hector Levesque</forfatter> 
    <utgivelsesår>2000</utgivelsesår> 
    <fagfelt>Kunnskapsrepresentasjon</fagfelt> 
    <fagfelt>Logikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> The MIT Press <url>https://mitpress.mit.edu/</url> 
    </forlag> 
</bok> 

<bok isbn="9781558609327"> 
    <tittle>Knowledge Representation and Reasoning</tittle> 
    <utgave>1</utgave> 
    <forfatter>Ronald Brachman</forfatter> 
    <forfatter>Hector Levesque</forfatter> 
    <utgivelsesår>2004</utgivelsesår> 
    <fagfelt>Kunnskapsrepresentasjon</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Morgan Kaufmann <url>http://store.elsevier.com/product.jsp?isbn=9781558609327</url> 
    </forlag> 
</bok> 

<bok isbn="9780521150118"> 
    <tittle>The description logic handbook </tittle> 
    <utgave>2</utgave> 
    <redaktør>Daniele Nardi</redaktør> 
    <redaktør>Franz Baader</redaktør> 
    <redaktør>Diego Calvanese</redaktør> 
    <utgivelsesår>2007</utgivelsesår> 
    <fagfelt>Kunnskapsrepresentasjon</fagfelt> 
    <fagfelt>Logikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Cambridge University Press <url>http://www.cambridge.org/</url> 
     <kontaktinfo> 
      <telefon>4401223358331</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="9780444522115"> 
    <tittle>Handbook of Knowledge Representation</tittle> 
    <utgave>1</utgave> 
    <redaktør>Frank von Harmelen</redaktør> 
    <redaktør>Vladimir Lifschitz</redaktør> 
    <redaktør>Bruce Porter</redaktør> 
    <utgivelsesår>2008</utgivelsesår> 
    <fagfelt>Kunnskapsrepresentasjon</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Elsevier Science 
      <url>http://store.elsevier.com/product.jsp?isbn=9780444522115</url> 
    </forlag> 
</bok> 

<bok isbn="9780201403756"> 
    <tittle>Prolog Programming for Artificial Intelligence</tittle> 
    <utgave>3</utgave> 
    <forfatter>Ivan Bratko</forfatter> 
    <utgivelsesår>2001</utgivelsesår> 
    <fagfelt>Kunstig Intelligens</fagfelt> 
    <fagfelt>Programmering</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Pearson Education <url>https://www.pearsonhighered.com/</url> 
    </forlag> 
</bok> 


<bok isbn="9780470035610"> 
    <tittle>Computational Intelligence </tittle> 
    <utgave>2</utgave> 
    <forfatter>Andries P. Engelbrecht</forfatter> 
    <utgivelsesår>2007</utgivelsesår> 
    <fagfelt>Kunstig Intelligens</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Wiley <url>http://www.wiley.com/WileyCDA/</url> 
     <kontaktinfo> 
      <telefon>4962016060</telefon> 
      <epost>[email protected]</epost> 
      <adresse> 
       <gate>Boschstrasse</gate> 
       <gatenmr>12</gatenmr> 
       <postnmr>69469</postnmr> 
      </adresse> 
     </kontaktinfo> 
    </forlag> 
</bok> 



<bok isbn="9780137903955"> 
    <tittle> Artificial Intelligence - a modern approach </tittle> 
    <utgave>2</utgave> 
    <forfatter>Stuart Russell</forfatter> 
    <forfatter>Peter Norvig</forfatter> 
    <utgivelsesår>2003</utgivelsesår> 
    <fagfelt>Kunstig Intelligens</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> 「Pearson education」 
      <url>https://www.pearsonhighered.com/product/Russell-Artificial-Intelligence-A- 
      Modern-Approach-2nd-Edition/9780137903955.html</url> 
    </forlag> 
</bok> 


<bok isbn="9780763718435"> 
    <tittle>Discrete structures, logic and computability </tittle> 
    <utgave>2</utgave> 
    <forfatter>James L. Hein</forfatter> 
    <utgivelsesår>2002</utgivelsesår> 
    <fagfelt>Logikk</fagfelt> 
    <fagfelt>Matematikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Jones and Bartlett Learning <url>http://www.jblearning.com/</url> 
     <kontaktinfo> 
      <telefon>8008320034</telefon> 
     </kontaktinfo> 
    </forlag> 
</bok> 


<bok isbn="9780521708777"> 
    <tittle>The mathematics of logic</tittle> 
    <utgave>1</utgave> 
    <forfatter>Richard W. Kaye</forfatter> 
    <utgivelsesår>2007</utgivelsesår> 
    <fagfelt>Logikk</fagfelt> 
    <fagfelt>Matematikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Cambridge University Press <url>http://www.cambridge.org/ </url> 
     <kontaktinfo> 
      <telefon>4401223358331</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 


<bok isbn="9780521365840"> 
    <tittle>Lattices and order </tittle> 
    <utgave>1</utgave> 
    <forfatter>B. A. Davey</forfatter> 
    <forfatter>H. A. Priestley</forfatter> 
    <utgivelsesår>1990</utgivelsesår> 
    <fagfelt>Matematikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Cambridge University Press <url>http://www.cambridge.org/</url> 
     <kontaktinfo> 
      <telefon>4401223358331</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 


<bok isbn="9780201730470"> 
    <tittle>Discrete Mathematics for Computing</tittle> 
    <utgave>1</utgave> 
    <forfatter>Rod Haggarty</forfatter> 
    <utgivelsesår>2001</utgivelsesår> 
    <fagfelt>Matematikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Pearson education <url>https://www.pearsonhighered.com/</url> 
    </forlag> 
</bok> 

<bok isbn="978-0521478175"> 
    <tittle>Conceptual Mathematics: A First Introduction to Categories</tittle> 
    <utgave>1</utgave> 
    <forfatter>F. William Lawvere </forfatter> 
    <forfatter>Stephen Hoel Schanuel</forfatter> 
    <utgivelsesår>1997</utgivelsesår> 
    <fagfelt>Matematikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> ELSEVIER <url>https://www.elsevier.com/</url> 
    </forlag> 
</bok> 


<bok isbn="9780321392794"> 
    <tittle>Data Structures in Java</tittle> 
    <utgave>1</utgave> 
    <forfatter>Simon Gray</forfatter> 
    <utgivelsesår>2007</utgivelsesår> 
    <fagfelt>Programmering</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> 「Pearson education」 <url>https://www.pearsonhighered.com/</url> 
    </forlag> 
</bok> 

<bok isbn="978-0131374690"> 
    <tittle>Java software solutions</tittle> 
    <utgave>3</utgave> 
    <forfatter>John Lewis</forfatter> 
    <forfatter>William Loftus</forfatter> 
    <forfatter>Cara Cocking</forfatter> 
    <utgivelsesår>2003</utgivelsesår> 
    <fagfelt>Programmering</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Pearson education 
     <url>https://www.pearsonhighered.com/</url> 
    </forlag> 
</bok> 

<bok isbn="9780262012423"> 
    <tittle>A Semantic Web Primer</tittle> 
    <utgave>2</utgave> 
    <forfatter>Grigoris Antoniou</forfatter> 
    <forfatter>Frank van Harmelen</forfatter> 
    <utgivelsesår>2004</utgivelsesår> 
    <fagfelt>Web</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> MIT Press 
     <url>https://mitpress.mit.edu/books/semantic-web-primer</url> 
    </forlag> 
</bok> 

<bok isbn="9780321269669"> 
    <tittle>An introduction to XML and techologies</tittle> 
    <utgave>1</utgave> 
    <forfatter>Anders Moller</forfatter> 
    <forfatter>Michael Schwartzbach</forfatter> 
    <utgivelsesår>2005</utgivelsesår> 
    <fagfelt>XML</fagfelt> 
    <fagfelt>Programmering</fagfelt> 
    <fagfelt>Web</fagfelt> 
    <innholdsfortegnelse> 
     <komponent></komponent> 
    </innholdsfortegnelse> 
    <forlag>Pearson Education Cananda 
     <url>http://www.pearsoncanada.ca/</url> 
     <kontaktinfo> 
      <telefon>18005673800</telefon> 
      <epost>[email protected]</epost> 
      <adresse> 
       <gate>Prince Andrew Place</gate> 
       <gatenmr>26</gatenmr> 
       <postnmr>416</postnmr> 
      </adresse> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="2222222"> 
    <tittle>Jeg er en bok om Xpath</tittle> 
    <utgave>2</utgave> 
    <forfatter>Thomas Petersson</forfatter> 
    <utgivelsesår>2016</utgivelsesår> 
    <fagfelt>XML</fagfelt> 
    <innholdsfortegnelse> 
     <komponent></komponent> 
    </innholdsfortegnelse> 
    <forlag> Mitt forlag 
     <url>www.eksempelforlag.no</url> 
    </forlag> 
</bok> 

其他查詢工作,如:

/bøker/bok[./tittle[contains(.,'Xpath')] or ./innholdsfortegnelse[contains(.,'Xpath')]]/tittle 

這將返回它的名字一個書使用XPath。

+0

編碼問題?例如,您列出的最後兩個查詢使用了錯誤的情況:* databaser *與* Databaser *。 – Markus

+0

@Markus我將databaser更改爲Databaser並將其編程爲Programmering,沒有任何改變我很害怕 – Peebl

+0

@Markus最後一個工作時,我改變了兩個關鍵字,休息不會工作雖然 – Peebl

回答

1

有幾件事情需要加以糾正:

  1. 你的XQuery想返回<title>,但它們在輸入XML編寫<tittle>。因此,你可以糾正查詢,像這樣:

    for $x in doc("oblig3.xml")/bøker/bok 
    let $tittle := $x/tittle/text() 
    where $x/fagfelt = "Databaser" 
    order by $tittle 
    return $tittle 
    
  2. 有時候你有幾個<forfater>標籤,你的查詢返回因此不能用作排序鍵幾個節點。一種可能性是,只對遇到的第一個<forfatter>標籤進行排序,就像這樣:因爲幾個<fagfelt>標籤被發現

    for $x in doc("oblig3.xml")/bøker/bok 
    let $forfatter := $x/forfatter[1]/text() 
    where $x/fagfelt/text() = "XML" 
    order by $forfatter 
    return $x/forfatter 
    
  3. 第三個查詢再次失敗。過濾元素的條件應重寫爲不區分大小寫(如Markus的註釋中所指出的)以及返回指令,因爲您無法直接返回該屬性。這應該做好這方面的工作:

    for $x in doc("oblig3.xml")/bøker/bok 
    where $x/fagfelt[lower-case(.) = "databaser"] and $x/fagfelt[lower-case(.) = "programmering"] 
    order by fn:string($x/@isbn) 
    return fn:string($x/@isbn) 
    
+0

非常感謝,很多小愚蠢的錯誤我。不過,我會確保從現在開始使用小寫字母,然後仔細檢查我的拼寫 – Peebl