On Dec 9, 2010, at 7:48 AM, Daniel Mekonnen wrote:
> * With the kennedys.rdf ontology in the foreground, running the
> following query:
>
> SELECT ?g { GRAPH ?g { ?s kennedys:child ?o . } }
>
> Gives the initial exception:
>
> java.lang.IllegalArgumentException: Missing Calais license key - see
> Calais Preferences (under Window > Preferences... > TopBraid Composer)
> at org.topbraid.calais.CalaisUtil.callCalais(CalaisUtil.java:39)
> at
> org.topbraid.calais.graphstore.CalaisGraphStore.load(CalaisGraphStore.java:
> 63)
>
>
> Which was unexpected –why is the SPARQL engine, or TBC, trying to
> connect to Calais?? I wasn’t expecting to query the entire
> universe!? <MontyPythonReference>[Enter stage left] TBL, Eric & Andy:
> "No one ever expects to query the entire universe!"</
> MontyPythonReference>
Well, not the whole universe, but the whole workspace. The graph is a variable,
and the system will iterate over all graphs that it knows, i.e. every RDF, OWL,
TDB etc file. Calais is used for files ending with .txt, so you may want to
delete those, or close the projects in which they reside, if you really want to
query all graphs at the same time.
> * The query template that appears in a PerformUpdate module’s
> sml:updateQuery does not contain a GRAPH modifier –understandable
> since it cannot be predicted where one is needed. However, a query
> can be filled out without an indicated graph and the syntax is treated
> as valid (no red outline in the query box). An update to the syntax
> checking may be in order here.
You don't need to specify a GRAPH anywhere. It will simply run the WHERE clause
over the input graph of the current module, i.e. the union of its predecessors
in the SM graph.
> * Using PerformUpdate I add new triples into http://tb-session . When
> viewing the debugger’s “Input Graph” tab, I do not see this graph
> listed.
The debugger only lists the graphs that are input to the current module. Unless
you have done something like sml:ImportCurrentRDF, this will not be the case.
> As a side note, the “subject”, “predicate”, “object” columns
> in this tab should be sortable.
Ok.
>
> * A PerformUpdate cannot be used following an ApplyConstruct because
> the URI of the constructed graph is unknown –I think even undefined.
The WHERE clause will work fine - as explained above. Just don't specify a
GRAPH and it will work. The recent change was to disallow not specifying INSERT
INTO ... and DELETE FROM ... in sml:PerformUpdate.
Regards,
Holger
--
You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include TopBraid Composer,
TopBraid Live, TopBraid Ensemble, SPARQLMotion 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