<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Don, is this worth updating the autogenerated JSON schema to handle stuff you posted?</p><p class=MsoNormal>====================================================================================================================</p><p class=MsoNormal>Would welcome discussions on how to convert XML data to OWL/RDF/RDFS.  Once we get a good pattern for an element, I will start a serializer or stylesheet (prototypical stylesheet recommendations?).   Also, is there a naming schema for the stylesheet file you want to use for converting XML data?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Alternatively, I have seen some online converters, but I’m not sure if we can do that or not.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We needs patients for the doctors to examine, right?   It takes a psychologist to examine an Archetype and a doctor to examine a Prototype.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Has the abstract ontology settled enough for us to start handling individuals?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I assume we will follow the roundtrip methodology from RDF individuals back to XML data.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:brutzman@nps.edu">Brutzman, Donald (Don) (CIV)</a><br><b>Sent: </b>Monday, September 16, 2019 3:35 PM<br><b>To: </b><a href="mailto:flotynski@kti.ue.poznan.pl">Jakub Flotyński</a>; <a href="mailto:semantics@web3d.org">semantics@web3d.org</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: [Semantics] X3DMetadataObject refactoring for X3D XML Schema,X3DUOM, X3DJSAIL and X3D Ontology progress</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>While adapting X3DUOM, noticed an important mistake:  X3DMetadataObject was a subclass of X3DNode, which is incorrect.  All of the X3D*Object definitions are abstract interfaces, and not part of a class hierarchy.  This refactoring of the Metadata* nodes fixes a major problem that Roy Walmsley unsuccessfully wrestled with a few years back, thankfully.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>As with any X3DUOM change, it ripples out in multiple directions:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>====================================================================</p><p class=MsoNormal>XML Schema changelog:</p><p class=MsoNormal>https://www.web3d.org/specifications/x3d-schema-changelog.txt</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>15 SEP 2019, brutzman</p><p class=MsoNormal>- X3DMetadataObject is abstract and cannot implement X3DNode, this changed</p><p class=MsoNormal>   Metadata* node inheritance signatures</p><p class=MsoNormal>- Improved X3DUOM inclusion of inheritedFrom object types and interfaces</p><p class=MsoNormal>- TODO check Layout*, Script and Shader* nodes for potentially similar issues</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>====================================================================</p><p class=MsoNormal>Updated XML schemas and documentation available at</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>X3D Specifications: Schema and DOCTYPE Validation</p><p class=MsoNormal>http://www.web3d.org/specifications</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>http://www.web3d.org/specifications/x3d-4.0.xsd</p><p class=MsoNormal>http://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0.html</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>====================================================================</p><p class=MsoNormal>Updated X3DUOM, Java package, Python package and X3D Ontology, all autogenerated and cross checked:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>http://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>https://www.web3d.org/specifications/java/X3dJavaSceneAuthoringInterface.html</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>https://www.web3d.org/x3d/stylesheets/python/python.html</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>====================================================================</p><p class=MsoNormal>Directories for version control can provide diffs if full detail is desired:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/semantics/</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/specifications/</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/</p><p class=MsoNormal>https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java</p><p class=MsoNormal>https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>====================================================================</p><p class=MsoNormal>Further progress with autogenerated ontology includes offline query testing:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>https://www.web3d.org/x3d/content/semantics/ontologies/X3dOntology4.0.ttl</p><p class=MsoNormal>https://www.web3d.org/x3d/content/semantics/ontologies/X3dOntologyQueries.rq</p><p class=MsoNormal>https://www.web3d.org/x3d/content/semantics/build.all.log.txt</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>excerpt follows:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Test X3D Ontology queries</p><p class=MsoNormal>=========================</p><p class=MsoNormal># X3dOntologyQueries.rq</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#></p><p class=MsoNormal>PREFIX owl:  <http://www.w3.org/2002/07/owl#></p><p class=MsoNormal>PREFIX xsd:  <http://www.w3.org/2001/XMLSchema#></p><p class=MsoNormal>PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#></p><p class=MsoNormal>PREFIX x3d:  <https://www.web3d.org/specifications/x3d-4.0.xsd#></p><p class=MsoNormal>PREFIX x3do: <https://www.web3d.org/semantics/ontologies/X3dOntology4.0#></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>###############################################</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>SELECT distinct ?property ?domain ?range</p><p class=MsoNormal>WHERE</p><p class=MsoNormal>{</p><p class=MsoNormal>                ?property rdfs:range  ?range .</p><p class=MsoNormal>                ?property rdfs:domain ?domain .</p><p class=MsoNormal>}</p><p class=MsoNormal>ORDER by ASC(?property) # alphabetize</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>###############################################</p><p class=MsoNormal>=========================</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>C:\languages\java\apache-jena-3.12.0\bat\arq.bat --data ontologies/X3dOntology4.0.ttl --query X3dOntologyQueries.rq</p><p class=MsoNormal>---------------------------------------------------------------------------------------------------------------------------------------</p><p class=MsoNormal>| property                                        | domain                                  | range                                   |</p><p class=MsoNormal>=======================================================================================================================================</p><p class=MsoNormal>| x3do:AS                                         | x3do:EXPORT                             | x3d:SFString                            |</p><p class=MsoNormal>| x3do:AS                                         | x3do:IMPORT                             | x3d:SFString                            |</p><p class=MsoNormal>| x3do:DEF                                        | x3do:Anchor                             | x3d:SFString                            |</p><p class=MsoNormal>| x3do:DEF                                        | x3do:Appearance                         | x3d:SFString                            |</p><p class=MsoNormal>| x3do:DEF                                        | x3do:Arc2D                              | x3d:SFString                            |</p><p class=MsoNormal>[...]</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This was accomplished using Apache Jena ARQ, which validates the ontology while performing the query.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                ARQ - A SPARQL Processor for Jena</p><p class=MsoNormal>                https://jena.apache.org/documentation/query</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Next up will be a better documentation page for collecting and presenting that work.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Finally Jakub - I got things to the point where the following pattern could be improved, but so many previously filtered properties are now present that I can't find what your example below says.  I doubt it got resolved but am having trouble finding an example.  Please check and let me know again so that we can fix that pattern, TIA.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 9/2/2019 9:20 AM, Jakub Flotyński wrote:</p><p class=MsoNormal>> Don,</p><p class=MsoNormal>> </p><p class=MsoNormal>> I'm preparing and testing queries to the ontology and see some problems with the XSLT. Every time it meets a property in X3D UOM, it generates a triple describing its domain. E.x., for the translation property, we get:</p><p class=MsoNormal>> </p><p class=MsoNormal>> :translationrdfs:domain:GeoTransform; :translationrdfs:domain :X3DNBodyCollidableNode ;</p><p class=MsoNormal>> :translationrdfs:domain :CADPart ;</p><p class=MsoNormal>> :translationrdfs:domain :EspduTransform ;</p><p class=MsoNormal>> ...</p><p class=MsoNormal>> </p><p class=MsoNormal>> It is wrong. Instead, it should be:</p><p class=MsoNormal>> </p><p class=MsoNormal>> :translationrdfs:domain[ owl:unionOf (:GeoTransform  :X3DNBodyCollidableNode :CADPart :EspduTransform ... ) ] ;</p><p class=MsoNormal>> </p><p class=MsoNormal>> Could you please send me the XSLT? I don't see it in the repositoryhttps://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/semantics/.</p><p class=MsoNormal>> I would try to correct it.</p><p class=MsoNormal>> </p><p class=MsoNormal>> Best regards</p><p class=MsoNormal>> Jakub</p><p class=MsoNormal>all the best, Don</p><p class=MsoNormal>-- </p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal>-- </p><p class=MsoNormal>Semantics mailing list</p><p class=MsoNormal>Semantics@web3d.org</p><p class=MsoNormal>http://web3d.org/mailman/listinfo/semantics_web3d.org</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>