All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eu.ostrzyciel.jelly.convert.rdf4j.rio.JellyParserSettings.scala Maven / Gradle / Ivy

package eu.ostrzyciel.jelly.convert.rdf4j.rio

import eu.ostrzyciel.jelly.core.JellyOptions
import eu.ostrzyciel.jelly.core.proto.v1.RdfStreamOptions
import org.eclipse.rdf4j.rio.ParserConfig
import org.eclipse.rdf4j.rio.helpers.*

object JellyParserSettings:
  val defaultOptions: RdfStreamOptions = JellyOptions.defaultSupportedOptions

  def configFromOptions(opt: RdfStreamOptions): ParserConfig =
    val c = new ParserConfig()
    c.set(PROTO_VERSION, opt.version.toLong)
    c.set(ALLOW_GENERALIZED_STATEMENTS, opt.generalizedStatements)
    c.set(ALLOW_RDF_STAR, opt.rdfStar)
    c.set(MAX_NAME_TABLE_SIZE, opt.maxNameTableSize.toLong)
    c.set(MAX_PREFIX_TABLE_SIZE, opt.maxPrefixTableSize.toLong)
    c.set(MAX_DATATYPE_TABLE_SIZE, opt.maxDatatypeTableSize.toLong)
    c

  val PROTO_VERSION = new LongRioSetting(
    "eu.ostrzyciel.jelly.convert.rdf4j.rio.protoVersion",
    "Maximum supported Jelly protocol version",
    defaultOptions.version.toLong
  )

  val ALLOW_GENERALIZED_STATEMENTS = new BooleanRioSetting(
    "eu.ostrzyciel.jelly.convert.rdf4j.rio.allowGeneralizedStatements",
    "Allow decoding generalized statements",
    defaultOptions.generalizedStatements
  )

  val ALLOW_RDF_STAR = new BooleanRioSetting(
    "eu.ostrzyciel.jelly.convert.rdf4j.rio.allowRdfStar",
    "Allow decoding RDF-star statements",
    defaultOptions.rdfStar
  )

  val MAX_NAME_TABLE_SIZE = new LongRioSetting(
    "eu.ostrzyciel.jelly.convert.rdf4j.rio.maxNameTableSize",
    "Maximum size of the name table",
    defaultOptions.maxNameTableSize.toLong
  )

  val MAX_PREFIX_TABLE_SIZE = new LongRioSetting(
    "eu.ostrzyciel.jelly.convert.rdf4j.rio.maxPrefixTableSize",
    "Maximum size of the prefix table",
    defaultOptions.maxPrefixTableSize.toLong
  )

  val MAX_DATATYPE_TABLE_SIZE = new LongRioSetting(
    "eu.ostrzyciel.jelly.convert.rdf4j.rio.maxDatatypeTableSize",
    "Maximum size of the datatype table",
    defaultOptions.maxDatatypeTableSize.toLong
  )





© 2015 - 2025 Weber Informatics LLC | Privacy Policy