Class RDFDatabaseBuilderQlever<X extends RDFDatabaseBuilderQlever<X>>

java.lang.Object
org.aksw.jenax.engine.qlever.RDFDatabaseBuilderQlever<X>
All Implemented Interfaces:
org.aksw.commons.util.obj.HasSelf<X>, org.aksw.jenax.dataaccess.sparql.creator.HasProperties<X>, org.aksw.jenax.dataaccess.sparql.creator.RDFDatabaseBuilder<X>

public class RDFDatabaseBuilderQlever<X extends RDFDatabaseBuilderQlever<X>> extends Object implements org.aksw.jenax.dataaccess.sparql.creator.RDFDatabaseBuilder<X>
  • Field Details

    • supportedInputLangs

      public static final List<org.apache.jena.riot.Lang> supportedInputLangs
      Langs supported by this database builder. The builder may convert e.g. rdf/xml to ntriples for the backend.
    • supportedBackendLangs

      public static final List<org.apache.jena.riot.Lang> supportedBackendLangs
    • config

      protected QleverIndexBuilderConfig config
    • shortNameMgr

      protected org.aksw.jenax.arq.util.prefix.ShortNameMgr shortNameMgr
      Mapping from absolute file paths on the host names to file names.
    • sysRuntime

      protected org.aksw.shellgebra.exec.SysRuntime sysRuntime
    • args

    • errorCollector

      protected List<Map.Entry<org.apache.jena.riot.Lang,Throwable>> errorCollector
    • containerFifoPath

      protected String containerFifoPath
      Base path within the container where to mount any named pipes. Must end with '/'.
    • containerPathResolver

      protected org.aksw.commons.util.docker.ContainerPathResolver containerPathResolver
      A resolver for host paths if the database builder is used from within docker (dind).
  • Constructor Details

    • RDFDatabaseBuilderQlever

      public RDFDatabaseBuilderQlever()
  • Method Details

    • getSupportedBackendContentTypes

      public List<String> getSupportedBackendContentTypes()
      The content types supported by the backend.
    • setSysRuntime

      public X setSysRuntime(org.aksw.shellgebra.exec.SysRuntime sysRuntime)
    • setDockerImageName

      public X setDockerImageName(String dockerImageName)
    • getDockerImageName

      public String getDockerImageName()
    • setDockerImageTag

      public X setDockerImageTag(String dockerImageTag)
    • getDockerImageTag

      public String getDockerImageTag()
    • setName

      public X setName(String name)
      Specified by:
      setName in interface org.aksw.jenax.dataaccess.sparql.creator.RDFDatabaseBuilder<X extends RDFDatabaseBuilderQlever<X>>
    • setIndexName

      public X setIndexName(String name)
    • setOutputFolder

      public X setOutputFolder(Path outputFolder)
      Specified by:
      setOutputFolder in interface org.aksw.jenax.dataaccess.sparql.creator.RDFDatabaseBuilder<X extends RDFDatabaseBuilderQlever<X>>
    • setStxxlMemory

      public X setStxxlMemory(String stxxlMemory)
    • getStxxlMemory

      public String getStxxlMemory()
    • setParserBufferSize

      public X setParserBufferSize(String bufferSize)
    • getParserBufferSize

      public String getParserBufferSize()
    • addPath

      public X addPath(String source, org.apache.jena.riot.Lang lang, org.apache.jena.graph.Node g, Boolean splittable) throws IOException
      Specified by:
      addPath in interface org.aksw.jenax.dataaccess.sparql.creator.RDFDatabaseBuilder<X extends RDFDatabaseBuilderQlever<X>>
      Throws:
      IOException
    • addPath

      protected void addPath(Path source, org.apache.jena.graph.Node graph, List<String> encodings, org.apache.jena.riot.Lang lang, Boolean splittable)
    • convertArgToOp

      public org.aksw.shellgebra.algebra.cmd.arg.CmdArg convertArgToOp(RDFDatabaseBuilderQlever.FileLoadEntry loadEntry)
    • buildInputSpec

      protected List<org.aksw.shellgebra.algebra.cmd.arg.CmdArg> buildInputSpec(Supplier<Path> hostTempPath) throws NoSuchFileException
      Throws:
      NoSuchFileException
    • buildFileEntryArgs

      protected List<org.aksw.shellgebra.algebra.cmd.arg.CmdArg> buildFileEntryArgs(Supplier<Path> hostTempPathSupp, org.aksw.shellgebra.algebra.cmd.arg.CmdArg cmdArg, org.apache.jena.graph.Node graph, org.apache.jena.riot.Lang lang) throws NoSuchFileException
      Throws:
      NoSuchFileException
    • langToFormat

      protected String langToFormat(org.apache.jena.riot.Lang lang)
    • getFinalIndexName

      public String getFinalIndexName()
    • build

      Determine the types of arguments: If all files are directly nq or ttl then use them as file arguments. Otherwise, build a stream from the argument: - A mix of nq and ttl is not supported. - Use cat or a codec to decode files - Use a flag whether to use process substitution or command grouping.
      Specified by:
      build in interface org.aksw.jenax.dataaccess.sparql.creator.RDFDatabaseBuilder<X extends RDFDatabaseBuilderQlever<X>>
      Returns:
      Throws:
      IOException
      InterruptedException
    • build

      public RdfDatabaseQlever build(String finalImageName, String indexBuilderCommand) throws IOException, InterruptedException
      Build for 'v1' command line using IndexBuilderMain
      Throws:
      IOException
      InterruptedException
    • setProperty

      public X setProperty(String key, Object value)
      Specified by:
      setProperty in interface org.aksw.jenax.dataaccess.sparql.creator.HasProperties<X extends RDFDatabaseBuilderQlever<X>>
    • getProperty

      public <T> T getProperty(String key)
      Specified by:
      getProperty in interface org.aksw.jenax.dataaccess.sparql.creator.HasProperties<X extends RDFDatabaseBuilderQlever<X>>