Package org.apache.jena.reasoner.rulesys
Class Util
- java.lang.Object
-
- org.apache.jena.reasoner.rulesys.Util
-
public class Util extends java.lang.Object
A small random collection of utility functions used by the rule systems.
-
-
Constructor Summary
Constructors Constructor Description Util()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Boolean
checkBinaryPredicate(Property predicate, Resource configuration)
Helper method - extracts the truth of a boolean configuration predicate.static boolean
comparable(Node n1, Node n2)
Test if two literals are comparable by an order operator (both numbers or both times)static int
compareInstants(Node n1, Node n2)
Compare two time Instant nodes.static int
compareNumbers(Node n1, Node n2)
Compare two numeric nodes.static int
compareTypedLiterals(Node n1, Node n2)
General order comparator for typed literal nodes, works for all numbers and for date times.static boolean
convertBooleanPredicateArg(Property parameter, java.lang.Object value)
Convert the value of a boolean configuration parameter to a boolean value.static int
convertIntegerPredicateArg(Property parameter, java.lang.Object value)
Convert the value of an integer configuration parameter to an int value.static java.util.List<Node>
convertList(Node root, RuleContext context)
Convert an (assumed well formed) RDF list to a java list of Nodesstatic java.lang.Integer
getIntegerPredicate(Property predicate, Resource configuration)
Helper method - extracts the value of an integer configuration predicate.static int
getIntValue(Node n)
Return the integer value of a literal nodestatic Node
getPropValue(Node root, Node prop, Graph context)
Helper - returns the (singleton) value for the given property on the given root node in the data graph.static Node
getPropValue(Node root, Node prop, Finder context)
Helper - returns the (singleton) value for the given property on the given root node in the data graph.static Node
getPropValue(Node root, Node prop, RuleContext context)
Helper - returns the (singleton) value for the given property on the given root node in the data graph.static boolean
isInstant(Node n)
Check whether a Node is an Instant (DateTime) valuestatic boolean
isNumeric(Node n)
Check whether a Node is a numeric (integer) valuestatic Rule.Parser
loadRuleParserFromResourceFile(java.lang.String filename)
Open a resource file and read it all into a single string.static java.lang.String
loadURLFile(java.lang.String urlStr)
Open a file defined by a URL and read all of it into a single string.static Node
makeDoubleNode(double value)
Construct a new double valued nodestatic Node
makeIntNode(int value)
Construct a new integer valued nodestatic Node
makeList(Node[] nodes, Graph graph)
Construct an RDF list from the given array of nodes and assert it in the graph returning the head of the list.static Node
makeLongNode(long value)
Construct a new long valued nodestatic void
updateParameter(Resource config, Property parameter, java.lang.Object value)
Replace the value for a given parameter on the resource by a new value.
-
-
-
Method Detail
-
isNumeric
public static boolean isNumeric(Node n)
Check whether a Node is a numeric (integer) value
-
getIntValue
public static int getIntValue(Node n)
Return the integer value of a literal node
-
isInstant
public static boolean isInstant(Node n)
Check whether a Node is an Instant (DateTime) value
-
comparable
public static boolean comparable(Node n1, Node n2)
Test if two literals are comparable by an order operator (both numbers or both times)
-
compareNumbers
public static int compareNumbers(Node n1, Node n2)
Compare two numeric nodes.- Parameters:
n1
- the first numeric valued literal noden2
- the second numeric valued literal node- Returns:
- -1 if n1 is less than n2, 0 if n1 equals n2 and +1 if n1 greater than n2
- Throws:
java.lang.ClassCastException
- if either node is not numeric
-
compareInstants
public static int compareInstants(Node n1, Node n2)
Compare two time Instant nodes.- Parameters:
n1
- the first time instant (XSDDateTime) valued literal noden2
- the second time instant (XSDDateTime) valued literal node- Returns:
- -1 if n1 is less than n2, 0 if n1 equals n2 and +1 if n1 greater than n2
- Throws:
java.lang.ClassCastException
- if either not is not numeric
-
compareTypedLiterals
public static int compareTypedLiterals(Node n1, Node n2)
General order comparator for typed literal nodes, works for all numbers and for date times.
-
getPropValue
public static Node getPropValue(Node root, Node prop, Finder context)
Helper - returns the (singleton) value for the given property on the given root node in the data graph.
-
getPropValue
public static Node getPropValue(Node root, Node prop, Graph context)
Helper - returns the (singleton) value for the given property on the given root node in the data graph.
-
getPropValue
public static Node getPropValue(Node root, Node prop, RuleContext context)
Helper - returns the (singleton) value for the given property on the given root node in the data graph.
-
convertList
public static java.util.List<Node> convertList(Node root, RuleContext context)
Convert an (assumed well formed) RDF list to a java list of Nodes- Parameters:
root
- the root node of the listcontext
- the graph containing the list assertions
-
makeIntNode
public static Node makeIntNode(int value)
Construct a new integer valued node
-
makeLongNode
public static Node makeLongNode(long value)
Construct a new long valued node
-
makeDoubleNode
public static Node makeDoubleNode(double value)
Construct a new double valued node
-
makeList
public static Node makeList(Node[] nodes, Graph graph)
Construct an RDF list from the given array of nodes and assert it in the graph returning the head of the list.
-
loadRuleParserFromResourceFile
public static Rule.Parser loadRuleParserFromResourceFile(java.lang.String filename)
Open a resource file and read it all into a single string. Treats lines starting with # as comment lines, as per stringFromReader
-
loadURLFile
public static java.lang.String loadURLFile(java.lang.String urlStr) throws java.io.IOException
Open a file defined by a URL and read all of it into a single string. If the URL fails it will try a plain file name as well.- Throws:
java.io.IOException
-
checkBinaryPredicate
public static java.lang.Boolean checkBinaryPredicate(Property predicate, Resource configuration)
Helper method - extracts the truth of a boolean configuration predicate.- Parameters:
predicate
- the predicate to be testedconfiguration
- the configuration node- Returns:
- null if there is no setting otherwise a Boolean giving the setting value
-
getIntegerPredicate
public static java.lang.Integer getIntegerPredicate(Property predicate, Resource configuration)
Helper method - extracts the value of an integer configuration predicate.- Parameters:
predicate
- the predicate to be testedconfiguration
- the configuration node- Returns:
- null if there is no such configuration parameter otherwise the value as an integer
-
convertBooleanPredicateArg
public static boolean convertBooleanPredicateArg(Property parameter, java.lang.Object value)
Convert the value of a boolean configuration parameter to a boolean value. Allows the value to be specified using a String or Boolean.- Parameters:
parameter
- the configuration property being set (to help with error messages)value
- the parameter value- Returns:
- the converted value
- Throws:
IllegalParameterException
- if the value can't be converted
-
convertIntegerPredicateArg
public static int convertIntegerPredicateArg(Property parameter, java.lang.Object value)
Convert the value of an integer configuration parameter to an int value. Allows the value to be specified using a String or Number.- Parameters:
parameter
- the configuration property being set (to help with error messages)value
- the parameter value- Returns:
- the converted value
- Throws:
IllegalParameterException
- if the value can't be converted
-
updateParameter
public static void updateParameter(Resource config, Property parameter, java.lang.Object value)
Replace the value for a given parameter on the resource by a new value.- Parameters:
config
- the resource whose values are to be updatedparameter
- a predicate defining the parameter to be setvalue
- the new value
-
-