gpt4 book ai didi

java - 耶拿 - 对元素进行排序

转载 作者:行者123 更新时间:2023-12-01 08:51:50 25 4
gpt4 key购买 nike

大家早上好,

我目前正在为我制作的本体开发一个查看器。我想根据元素的类型对元素(OntPropery、ObjectProperty、Individuals...)进行着色。这是我实现这个的想法:

public Paint transform(RDFNode i) {
if(OntProperty) return Color.RED;
if(ObjectProperty) return Color.BLUE;
if(Individuals) return Color.GREEN;
return Color.GRAY;
}

我为此使用 JenaJung 库。

问题是我没有找到 if 的正确条件。有人有想法吗?

谢谢大家。

最佳答案

这是我找到的解决方案!

@Override
public Paint transform(RDFNode i) {

OntModel model = (OntModel) i.getModel();
Collection classes = JenaJungGraph.asCollection(model.listClasses());

if(classes.stream().anyMatch(x -> x.toString() == i.asResource().toString())) return ontPropertyColor;

return Color.GRAY;
}

对于其他元素,依此类推。

希望对其他人有帮助!

asCollection()函数用于将Iterator组成Collection

static <T> Collection<T> asCollection(final ClosableIterator<? extends T> it) {
Collection<T> toReturn = new HashSet<>();
while (it.hasNext())
if(true)
toReturn.add((T) it.next());

it.close();

return toReturn;
}

关于java - 耶拿 - 对元素进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42339206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com