Hi Jack,
you can execute the script up the RDF2XML step and export the resulting
graph to a file to see what is actually part of that graph. I also
suspect the SXML triples are not present. I assume you have a file with
the sxml:element and sxml:attribute triples. Could you try to add this
file to the script so that it directly becomes another import to the
RDF2XML step, i.e. use ImportRDFFromWorkspace for the sxml file and then
draw an edge from that file to the RDF2XML?
Holger
On 2021-07-02 9:06 am, Jack Hodges wrote:
I am doing something similar to Oleksandr and I know that this is a
very old thread but such is life. I 'am' doing round tripping but here
is my SM workflow:
XML source --> XML-2-RDF module --> RDF-2-RDF using SPIN Map -->
Insert to KG --> DO Stuff with resuting KG --> RDF-2-RDF Reversal
using SPIN Map --> RDF-2-XML module --> Export to remote.
Because (I think) the sxml tags are in the first conversion but not to
my ontology, they are not there when I want to export the XML and the
result is empty. I tried to watch Holger's really old movie but it no
longer seems to exist. My next stop is the SM help page but any help
would be appreciated.
Jack
On Thursday, March 9, 2017 at 7:08:03 AM UTC-8 [email protected] wrote:
Hi Holger,
thank you very much for help!
Best regards,
Oleksandr Mandryk
On Thursday, March 9, 2017 at 1:11:38 AM UTC+1, Holger Knublauch
wrote:
Hi Oleksandr,
we have discovered that the sml:RDFXML mode of sml:ReturnRDF
indeed produces the same output as sml:RDFXMLAbbrev. Something
must have changed in the underlying Jena writer's contract and
this may have gone undetected for quite a while because most
users have switched to Turtle or JSON-LD. I have just updated
our code to use a different RDF/XML writer, and this fix will
go into 5.3. The beta of 5.3 is planned for the end of this
month, so if you urgently require a fix then I am afraid there
is not much I can do right now.
The alternative would be to produce the RDF triples using SWP
- that would give you fine tuned control over the exact output
but is of course also quite a bit of work to get right. I have
attached an example that produces
<rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#
<http://www.w3.org/2000/01/rdf-schema#>">
<rdf:Descriptionrdf:about="http://aldi.de <http://aldi.de>">
<rdfs:label>Test</rdfs:label>
</rdf:Description>
</rdf:RDF>
using SWP. Call it using
http://localhost:8083/tbl/swp?_viewClass=rdfXMLInSWP:Example
<http://localhost:8083/tbl/swp?_viewClass=rdfXMLInSWP:Example>
Another option would be to create the exact RDF/XML with some
3rd party tool such as a Jena command line tool.
Apologies for the inconvenience!
Holger
On 7/03/2017 20:48, Oleksandr Mandryk wrote:
Hi Holger,
thank you very much for your advice!
I've created new SPARQLMotion script with such
modules: spl:Argument -> sml:ApplyConstruct -> sml:ReturnRDF,
where in sml:ApplyConstruct I put this constructQuery:
|
CONSTRUCT {
?a ?b ?c .
}
WHERE {
BIND (smf:buildURI("{?1}",?projectGraph)AS ?graphName).
GRAPH ?graphName {
?a ?b ?c .
}.
}
|
and sml:RDFXMLAbbrev in sml:ReturnRDF
but it produces the same output with sml:RDFXML.
Also I tried to change arg:serialization
in teamwork:ExportEntireProjectPlugin for ExportToRDF, but it
also produces the same output as with sml:RDFXML.
I'm working on EVN Version 5.2.0.v20160909-1520B.
Thank you.
Best regards,
Oleksandr Mandryk
On Tuesday, March 7, 2017 at 4:49:27 AM UTC+1, Holger
Knublauch wrote:
Try to use sml:serialization=sml:RDFXMLAbbrev at
sml:ReturnRDF.
In general, the main alternatives for producing arbitrary
XML are Semantic XML (via sml:ConvertRDFToXML) or SWP.
SWP can produce any XML, assuming you turn each XML
element into a subclass of ui:Element and each XML
attribute into corresponding argument properties at these
elements.
Holger
On 7/03/2017 13:26, Oleksandr Mandryk wrote:
Hi Hogler,
as far as I remember the nested resources was the main
issue. I haven't tried approach that you suggested but
as I can see
here
http://www.topquadrant.com/sparqlmotion/lib.html#sml:ReturnRDF
<http://www.topquadrant.com/sparqlmotion/lib.html#sml:ReturnRDF>
there is no such property in sml:ReturnRDF.
Could you please explain where I can specify sml:RDFXML
/ sml:RDFXMLAbbrev?
BTW: Do we have any alternatives (just in case) to this
approach? I mean if I would like to build totally
different XML from taxonomy RDF what would be the most
appropriate way to do it?
Thank you very much!
Best regards,
Oleksandr Mandryk
On Tuesday, March 7, 2017 at 4:07:44 AM UTC+1, Holger
Knublauch wrote:
Whether resources are nested or remain top-level is
a configuration option in the RDF/XML writer. In
sml:ReturnRDF, try using sml:RDFXML versus
sml:RDFXMLAbbrev (the abbrev option will produce
nested objects). Have you tried this or would there
be other differences from your planned output?
Holger
On 7/03/2017 12:56, Oleksandr Mandryk wrote:
Hi Hogler,
thank you for reply!
Actually RDF/XML is pretty different from what I
need. The biggest issue with RDF/XML for me is
hierarchical structure of relations between nodes,
for example if PARENT_NODE is parent of CHILD_NODE
in RDF/XML it will look like this:
|
<CHILD_NODE>
... properties
<broader>
<PARENT_NODE>
...
<PARENT_NODE>
</broader>
</CHILD_NODE>
|
but I need something like this:
|
<CHILD_NODE>
... properties
<broaderid="PARENT_NODE">
</CHILD_NODE>
<PARENT_NODE>
... properties
<narrowerid="CHILD_NODE">
<PARENT_NODE>
|
so each node should be separate XML element.
Thanks.
Best regards,
Oleksandr Mandryk
On Monday, March 6, 2017 at 11:13:00 PM UTC+1,
Holger Knublauch wrote:
On 7/03/2017 0:40, Oleksandr Mandryk wrote:
Hi,
I'm trying to create a SPARQLMotion script
that will export specified taxonomy to the
custom XML output.
Currently my script is based no these modules:
*
*
*spl:Argument* -> *sml:ImportRDFFromWorkspace*
-> *sml:ConvertRDFToXML* -> *sml:ReturnXML*
But when I run this script I get only the
first (root) node of the specified projectGraph:
|
<skos:Conceptxmlns:composite="http://www.topbraid.org/2007/05/composite.owl"
<http://www.topbraid.org/2007/05/composite.owl>xmlns:skos="http://www.w3.org/2004/02/skos/core"
<http://www.w3.org/2004/02/skos/core>skos:prefLabel=RootTestNode"/>
|
So I have a few questions:
1) Is my approach correct? I mean spl:Argument
-> sml:ImportRDFFromWorkspace ->
sml:ConvertRDFToXML -> sml:ReturnXML
2) Why I'm receiving only first node as result
but not all?
3) How to specify a custom template for the
XML, for example I need something like this:
|
<rdf:RDF
xmlns:ui="http://uispin.org/ui#"
<http://uispin.org/ui#>
xmlns:let="http://uispin.org/let#"
<http://uispin.org/let#>
... >
<rdf:Descriptionrdf:about="http://test.com/Concept_7c932ea3-2b5b-11b2-8037-eac2f42a0c5a"
<http://test.com/Concept_7c932ea3-2b5b-11b2-8037-eac2f42a0c5a>>
<rdfs:labelrdf:datatype="http://www.w3.org/2001/XMLSchema#string"
<http://www.w3.org/2001/XMLSchema#string>>NodeLabel</rdfs:label>
<rdf:typerdf:resource="http://www.w3.org/2004/02/skos/core#Concept"
<http://www.w3.org/2004/02/skos/core#Concept>/>
<skos:broaderrdf:resource="http://test.com/#Concept_7c932e90-2b5b-11b2-8037-eac2f42a0c5a"
<http://test.com/#Concept_7c932e90-2b5b-11b2-8037-eac2f42a0c5a>/>
<skos:narrowerrdf:resource="http://test.com/#Concept_7c932ea8-2b5b-11b2-8037-eac2f42a0c5a"
<http://test.com/#Concept_7c932ea8-2b5b-11b2-8037-eac2f42a0c5a>/>
<skos:narrowerrdf:resource="http://test.com/#Concept_7c932ea5-2b5b-11b2-8037-eac2f42a0c5a"
<http://test.com/#Concept_7c932ea5-2b5b-11b2-8037-eac2f42a0c5a>/>
... other properties
</rdf:Description>
...
</rdf:RDF>
|
This output looks very much like RDF/XML. How
does it differ, and could you simply use
sml:ReturnRDF?
Holger
Thank you very much!
Best regards,
Oleksandr Mandryk
--
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
<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
<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
<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
<https://groups.google.com/d/optout>.
--
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]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/e212825c-575e-4eae-86ef-a9b612ee64adn%40googlegroups.com
<https://groups.google.com/d/msgid/topbraid-users/e212825c-575e-4eae-86ef-a9b612ee64adn%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/eca58319-46dc-fa44-6533-953598151116%40topquadrant.com.