|
1 | 1 | package org.renci.relationgraph |
2 | 2 |
|
| 3 | +import caseapp._ |
3 | 4 | import caseapp.core.Error.MalformedValue |
4 | 5 | import caseapp.core.argparser.{ArgParser, SimpleArgParser} |
5 | 6 | import org.renci.relationgraph.Config.{BoolValue, FalseValue, TrueValue} |
6 | 7 |
|
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) |
19 | 47 |
|
20 | 48 | object Config { |
21 | 49 |
|
|
0 commit comments