Yes such deep links are a common scenario. We have a convenience
function teamwork:editorLink for this job. For 5.3 this takes three
arguments (projectGraph, resource (optional), tag (optional)) and has
the following body:
SELECT ?link
WHERE {
BIND (CONCAT(teamwork:graphIdFromGraph(?projectGraph),
IF(bound(?tag), CONCAT(".", teamwork:tagId(?tag)), ""), ".editor",
IF(bound(?resource), CONCAT("#", ENCODE_FOR_URI(str(?resource))), ""))
AS ?link) .
}
It's basically producing the URL that you see when the editor starts
plus the deep link after the #
(In 5.2 this function exists too but does not yet support working
copies, which I believe would not be needed by your use case anyway)
HTH
Holger
On 10/01/2017 3:31, Adam Kimball wrote:
Thanks for this info, Holger.
I'm sure I didn't explain myself well enough in the previous post.
What I'd really like to do is create a link from one EVN vocabulary to
another. Let's assume I have two projects:
Project A - Taxonomy
Project B - Ontology
Sometimes, it will be beneficial for users in Project A to follow a
link to a resource /inside/ Project B. I'm wondering if there is a
helper function somewhere we I can say, render a like to Resource X
within Project B.
Let me know if that makes sense, and thanks again.
-Adam
*From: *<[email protected]> on behalf of Holger
Knublauch <[email protected]>
*Reply-To: *"[email protected]"
<[email protected]>
*Date: *Thursday, December 29, 2016 at 8:32 PM
*To: *"[email protected]" <[email protected]>
*Subject: *Re: [topbraid-users] Generating links to non-imported
taxonomies/ontologies in EVN
Hi Adam,
the swa:ResultSetObjectsViewer eventually calls swa:ObjectViewer,
which is the extension point to custom viewers. So to implement
special handling of certain values, I would recommend creating a
subclass of swa:ObjectViewer similar to swa:URIResourcViewer (e.g.
start with a clone of that). Modify the swa:objectWidgetWeight so that
your widget is chosen for "external" resources, e.g. those that have
no rdf:type triple, with a swa:weight of +10 or so. You could also
make your widget selectable by predicate if all values of that
property only has external values: use something like ?predicate =
ex:myProperty as swa:expression.
HTH
Holger
On 23/12/2016 3:58, Adam Kimball wrote:
Hi all,
I have a form which displays some incoming references on the
instance view. For instance:
<swa:ObjectsEnum arg:hideIfEmpty="false" arg:label="Content
Asset Mappings" arg:open="false" arg:openable="true">
<ui:setContext ui:queryGraph="{=
ui:graphWithImports(hw-int-spin:getCurrentContentAssetGraph()) }">
<ui:call arg:concept="{= ?this }"
ui:template="hw-int-spin:L1ContentAssetsForConceptTemplate">
<swa:ResultSetObjectsView arg:label="Level 1" arg:resultSet="{=
?rs }"/>
</ui:call>
</ui:setContext>
</swa:ObjectsEnum>
I use this pattern quite regularly to tie to closely related (but
not imported) vocabularies together and it works great. I get the
output on the form like I wanted. The issue is that the links
that are rendered from the swa:ResultSetObjectsView widget makes
links that assume the resource is in scope, which it isn't. What
I would like to do is customize the ResultSetObjectsView object
such that I can provide a master graph and have it render the
links to that. When I traced the link source code, it seemed like
my solution would likely include overriding
http://topbraid.org/swa#createDefaultLink but I'm not convinced
that this is right.
Hoping someone might point me towards some docs or an example that
might help me.
Thanks and Happy Holidays-
Adam
--
You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include the
TopBraid Suite family of products and its base technologies such
as SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
[email protected]
<mailto:[email protected]>
---
You received this message because you are subscribed to the Google
Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include the TopBraid
Suite family of products and its base technologies such as
SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
---
You received this message because you are subscribed to the Google
Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include the TopBraid
Suite family of products and its base technologies such as
SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
---
You received this message because you are subscribed to the Google
Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Group "TopBraid
Suite Users", the topics of which include the TopBraid Suite family of products and
its base technologies such as SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
---
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.