【问题标题】:Convert RDF4J stream filter (lambda?) from Java to Scala将 RDF4J 流过滤器(lambda?)从 Java 转换为 Scala
【发布时间】:2023-03-10 17:05:01
【问题描述】:

Are typed literals "tricky" in RDF4J?的后续行动

我有一些三倍于自卸卡车的重量,使用具有不同数据类型的文字对象。我只对整数值感兴趣,所以我想根据数据类型进行过滤。大约一周前,Jeen Broekstra 发送了一个 Java 解决方案,但我无法将其转换为我团队的首选语言 Scala。

这是我目前所拥有的。 Eclipse 在抱怨

未找到:值 l

val rdf4jServer = "http://host.domain:7200"
val repositoryID = "trucks"
val MyRepo = new HTTPRepository(rdf4jServer, repositoryID)
MyRepo.initialize()
var con = MyRepo.getConnection()

val f = MyRepo.getValueFactory()
val DumpTruck = f.createIRI("http://example.com/dumpTruck")
val Weight = f.createIRI("http://example.com/weight")    
val m = QueryResults.asModel(con.getStatements(DumpTruck, Weight, null))
val intValuesStream = Models.objectLiterals(m).stream()

# OK up to here
# errors start below

val intValuesFiltered = 
  intValuesStream.filter(l -> l.getDatatype().equals(XMLSchema.INTEGER))
val intValues = intValuesFiltered.collect(Collectors.toList())

【问题讨论】:

  • 您也可以避免在您的情况下使用=>,即filter(_.getDatatype().equals(XMLSchema.INTEGER))

标签: scala rdf4j


【解决方案1】:

-> 替换为=>

val intValuesFiltered = intValuesStream.filter(l => l.getDatatype().equals(XMLSchema.INTEGER))

【讨论】:

    猜你喜欢
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 2019-04-12
    • 1970-01-01
    • 2016-08-10
    相关资源
    最近更新 更多