小编Jea*_*Jea的帖子

XQuery/XPath:使用count()和max()函数返回具有最高计数的元素

我有一个包含作者和编辑器的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以更简单的方式完成吗?

最好的祝福,

珍妮特

xpath xquery xpath-2.0

7
推荐指数
2
解决办法
2万
查看次数

使用XQuery将XML文档转换为HTML文档 - 需要帮助替换元素标记

我有一个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)

xml xhtml xquery

2
推荐指数
1
解决办法
1444
查看次数

语义Web应用 - 使用BBC体育本体

我正在尝试创建一个关于在我的区域中运行种族的语义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)

rdf semantic-web ontology jena

2
推荐指数
1
解决办法
1815
查看次数

替换字符串的前两个逗号

是否有正则表达式可用于仅用另一个字符替换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)

java regex string

1
推荐指数
1
解决办法
146
查看次数

Java示例:这是否真的以非静态方式访问静态方法?

我只是从我的教科书中学习一些例子,在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)

我不明白为什么它会有所作为(如果确实如此).有人可以解释一下吗?:)

谢谢,

珍妮特

java

0
推荐指数
1
解决办法
1835
查看次数

标签 统计

java ×2

xquery ×2

jena ×1

ontology ×1

rdf ×1

regex ×1

semantic-web ×1

string ×1

xhtml ×1

xml ×1

xpath ×1

xpath-2.0 ×1