I need to extract the trailing field of a URI to use as text.
First it is necessary to cast the URI to text, for which STR() seems to be
the thing.
Then SPARQL 1.1 STRAFTER() would be ideal, but does not appear to be
supported by TopBraid yet.
So I'm trying to do something with tops:split.
This is how far I've got:
SELECT *
WHERE {
?subject a owl:Class .
BIND ( str(?subject) AS ?c)
?cc tops:split ( ?c "#" )
}
However, I'm getting only an apparently random subset of the expected
results, and the following error
com.hp.hpl.jena.graph.Node$NotLiteral: ?c is not a literal node
at com.hp.hpl.jena.graph.Node.getLiteralLexicalForm(Node.java:165)
at
org.topbraid.spin.functions.internal.magic.SplitPFunction.exec(SplitPFunction.java:52)
at
com.hp.hpl.jena.sparql.pfunction.PropertyFunctionBase$RepeatApplyIteratorPF.nextStage(PropertyFunctionBase.java:94)
at
com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:91)
(lots more in the trace, but I guess these are the important lines. )
Is it me or is it TopBraid?
--
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary
Network (EVN), TopBraid Composer, TopBraid Live,
TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en