我有一个包含作者和编辑器的XML文件.
<?xml version="1.0" encoding="UTF-8"?>
<?oxygen RNGSchema="file:textbook.rnc" type="compact"?>
<books xmlns="books">
<book ISBN="i0321165810" publishername="OReilly">
<title>XPath</title>
<author>
<name>
<fname>Priscilla</fname>
<lname>Walmsley</lname>
</name>
</author>
<year>2007</year>
<field>Databases</field>
</book>
<book ISBN="i0321165812" publishername="OReilly">
<title>XQuery</title>
<author>
<name>
<fname>Priscilla</fname>
<lname>Walmsley</lname>
</name>
</author>
<editor>
<name>
<fname>Lisa</fname>
<lname>Williams</lname>
</name>
</editor>
<year>2003</year>
<field>Databases</field>
</book>
<publisher publishername="OReilly">
<web-site>www.oreilly.com</web-site>
<address>
<street_address>hill park</street_address>
<zip>90210</zip>
<state>california</state>
</address>
<phone>400400400</phone>
<e-mail>oreilly@oreilly.com</e-mail>
<contact>
<field>Databases</field>
<name>
<fname>Anna</fname>
<lname>Smith</lname>
</name>
</contact>
</publisher>
</books>
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来返回作为作者和/或编辑被列出次数最多的人.解决方案应该是XQuery 1.0(XPath 2.0)兼容.
我正在考虑使用FLWOR查询迭代所有作者和编辑,然后计算唯一的作者/编辑,然后返回匹配最高计数的作者/编辑.但我一直无法找到合适的解决方案.
有没有人对如何写这样的FLWOR查询有任何建议?可以使用XPath以更简单的方式完成吗?
最好的祝福,
珍妮特
我有一个XML文档,我想将其转换为HTML.我正在使用Xquery和Oxygen解析器.
这是xml:
<?xml version="1.0" encoding="UTF-8"?>
<?oxygen RNGSchema="file:textbook.rnc" type="compact"?>
<books xmlns="books">
<book ISBN="i0321165810" publishername="OReilly">
<title>XPath</title>
<author>
<name>
<fname>Priscilla</fname>
<lname>Warnley</lname>
</name>
<address>
<street_address>Hill Park<street_address>
<zip>90210</zip>
<state>california</state>
</address>
<phone>00000000</phone>
<e-mail>priscilla@oreilly.com</e-mail>
</author>
<year>2007</year>
<field>Databases</field>
<TOC>
<component>
<type>Part</type>
<title>Xpath</title>
<component>
<title>Chapter... A tour of xquery</title>
<pages>3</pages>
<component>
<title>Introductions</title>
</component>
<component>
<title>Getting started</title>
</component>
</component>
</component>
</TOC>
</book>
<publisher publishername="OReilly">
<web-site>www.oreilly.com</web-site>
<address>
<street_address>hill park</street_address>
<zip>90210</zip>
<state>california</state>
</address>
<phone>400400400</phone>
<e-mail>oreilly@oreilly.com</e-mail>
<contact>
<field>Databases</field>
<name>
<fname>Anna</fname>
<lname>Smith</lname>
</name>
</contact>
</publisher>
</books>
Run Code Online (Sandbox Code Playgroud)
我先做这个Xquery查询:
declare default element namespace "books";
<html>
<head> …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个关于在我的区域中运行种族的语义Web应用程序(10k,半程马拉松,马拉松).更具体地说,我想收集和发布(在RDF中)有关种族,参与者和结果的数据,并合并类似的数据.过去几周我一直在测试Jena(包括TDB),从静态网站上做一些关于运行比赛和阅读词汇和本体的网页.
我认为用于我的应用程序的最有信誉的本体,以及进入门槛最低(不是非常过度设计)的本体,是BBC体育本体论. http://www.bbc.co.uk/ontologies/sport/2011-02-17.shtml
我有一些关于使用BBC体育和制作应用程序的问题:
即使我只使用它的一小部分,我可以使用BBC体育本体吗?
我想查看本体的模式以更好地理解它,但我似乎无法在任何地方找到它.BBC是保守秘密,还是我一直在错误的地方寻找它?
有没有办法让我确定我是否正确使用本体?我的母语不是英语,所以我担心我可能会误解本体中的一些概念.
当我向我的(TDB)三元组商店添加新的三元组时,为资源创建新URI的惯例是什么?更具体地说,URI应该以名称还是uid结尾?这会影响来自不同数据集的类似数据的合并吗?
您能否推荐任何语义Web工具来使资源URI可解除引用?我不会很快将应用程序放在网上,但如果我可以在本地访问URI,那仍然会很好
http://localhost/running/12345.
Run Code Online (Sandbox Code Playgroud) 是否有正则表达式可用于仅用另一个字符替换String中的两个第一个逗号?
我需要这个的原因是我正在使用RDF三元组,我需要分别处理主题,谓词和对象.所以我使用String.split()方法将它们分成三个独立的部分.
这是我需要拆分的字符串示例:
[ http://dbpedia.org/resource/Tom_Mathisen,http://www.w3.org/2000/01/rdf-schema#comment,"汤姆·马蒂森(1952年出生8月14日)是挪威的喜剧演员,演员,编剧他经常处理低音,吉他和人声.1976年至1983年,他与Jahn Teigen和Herodes Falsk一起进入了喜剧小组Prima Vera.后来他继续与Herodes Falsk合作,参与许多电视/现场表演和唱片. @en]
例如,我希望这个String看起来像这样,所以我可以使用$分割:
[ http://dbpedia.org/resource/Tom_Mathisen $ http://www.w3.org/2000/01/rdf-schema#comment $"Tom Mathisen(1952年8月14日出生)是挪威喜剧演员,演员,编剧他经常处理低音,吉他和人声.1976年至1983年,他与Jahn Teigen和Herodes Falsk一起进入了喜剧小组Prima Vera.后来他继续与Herodes Falsk合作,参与许多电视/现场表演和唱片. @en]
我以不太优雅的方式做到了:
StringBuilder stringbuilder = new StringBuilder(str);
int commaCounter = 0;
for (int i = 0; i < stringbuilder.length(); i++) {
if (stringbuilder.charAt(i) == ',') {
stringbuilder.setCharAt(i, '$');
commaCounter++;
if (commaCounter == 2) {
break;
}
}
}
str = stringbuilder.toString();
Run Code Online (Sandbox Code Playgroud) 我只是从我的教科书中学习一些例子,在Eclipse中编写代码来弄清楚它.
这是我有问题的方法的代码:
public void run() {
//Get the lock before entering the loop
synchronized(getClass()) {
for (int i =0; i<N; i++) {
System.out.println(getName() + " is tired");
try{
Thread.currentThread().sleep(DELAY);
} catch (InterruptedException e) {}
System.out.println(getName() + " is rested");
}
Run Code Online (Sandbox Code Playgroud)
在线上:
Thread.currentThread().sleep(DELAY)
Run Code Online (Sandbox Code Playgroud)
Eclipse给出了一个警告:"应该以静态方式访问Thread类型的静态方法sleep(long)".Eclipse建议使用以下解决方案:
Thread.currentThread();
Thread.sleep(DELAY);
Run Code Online (Sandbox Code Playgroud)
我不明白为什么它会有所作为(如果确实如此).有人可以解释一下吗?:)
谢谢,
珍妮特