Skip to content

Commit a2f2f63

Browse files
authored
Improve CLI options descriptions. (#112)
1 parent 7828caa commit a2f2f63

1 file changed

Lines changed: 40 additions & 12 deletions

File tree

src/main/scala/org/renci/relationgraph/Config.scala

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,49 @@
11
package org.renci.relationgraph
22

3+
import caseapp._
34
import caseapp.core.Error.MalformedValue
45
import caseapp.core.argparser.{ArgParser, SimpleArgParser}
56
import org.renci.relationgraph.Config.{BoolValue, FalseValue, TrueValue}
67

7-
final case class Config(ontologyFile: String,
8-
outputFile: String,
9-
mode: Config.OutputMode = Config.RDFMode,
10-
property: List[String] = Nil,
11-
propertiesFile: Option[String],
12-
outputSubclasses: BoolValue = FalseValue,
13-
reflexiveSubclasses: BoolValue = TrueValue,
14-
equivalenceAsSubclass: BoolValue = TrueValue,
15-
outputClasses: BoolValue = TrueValue,
16-
outputIndividuals: BoolValue = FalseValue,
17-
disableOwlNothing: BoolValue = FalseValue,
18-
verbose: Boolean = false)
8+
@AppName("relation-graph")
9+
@ProgName("relation-graph")
10+
final case class Config(
11+
@HelpMessage("Input OWL ontology")
12+
@ValueDescription("filename")
13+
ontologyFile: String,
14+
@HelpMessage("File to stream output triples to.")
15+
@ValueDescription("filename")
16+
outputFile: String,
17+
@HelpMessage("Configure style of triples to be output. RDF mode is the default; each existential relation is collapsed to a single direct triple.")
18+
@ValueDescription("RDF|OWL")
19+
mode: Config.OutputMode = Config.RDFMode,
20+
@HelpMessage("Property to restrict output relations to. Provide option multiple times for multiple properties.")
21+
@ValueDescription("IRI")
22+
property: List[String] = Nil,
23+
@HelpMessage("File containing line-separated property IRIs to restrict output relations to.")
24+
@ValueDescription("filename")
25+
propertiesFile: Option[String],
26+
@HelpMessage("Include entailed rdfs:subClassOf or owl:equivalentClass relations in output (default false)")
27+
@ValueDescription("bool")
28+
outputSubclasses: BoolValue = FalseValue,
29+
@HelpMessage("When outputting rdfs:subClassOf, include relations to self for every class (default true)")
30+
@ValueDescription("bool")
31+
reflexiveSubclasses: BoolValue = TrueValue,
32+
@HelpMessage("When outputting equivalent classes, output reciprocal rdfs:subClassOf triples instead of owl:equivalentClass triples (default true)")
33+
@ValueDescription("bool")
34+
equivalenceAsSubclass: BoolValue = TrueValue,
35+
@HelpMessage("Output any triples where classes are subjects (default true)")
36+
@ValueDescription("bool")
37+
outputClasses: BoolValue = TrueValue,
38+
@HelpMessage("Output triples where individuals are subjects, with classes as objects (default false)")
39+
@ValueDescription("bool")
40+
outputIndividuals: BoolValue = FalseValue,
41+
@HelpMessage("Disable inference of unsatisfiable classes by the whelk reasoner (default false)")
42+
@ValueDescription("bool")
43+
disableOwlNothing: BoolValue = FalseValue,
44+
@HelpMessage("Set log level to INFO")
45+
@ValueDescription("bool")
46+
verbose: Boolean = false)
1947

2048
object Config {
2149

0 commit comments

Comments
 (0)