[x3d-public] X3D Semantic Web minutes 14 OCT 2019: paper plans, mailing lists, X3D examples unit testing, X3D Ontology

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Mon Oct 14 09:35:30 PDT 2019

The X3D Semantic Web Working Group mission is to publish models to the Web using X3D in order to best gain Web interoperability and enable intelligent 3D applications, feature-based 3D model querying, and reasoning over 3D scenes.


We plan to hold a regular weekly meeting Monday 14 OCT 2019 at regular time, 0800-0900 pacific.


Attendees:  Jakub Flotynsky, Athanasios Malamos, Don Brutzman.


1. *Conference and paper publication planning*

Current work.

a. Thanos and Jakub discussed possible visits and European Union collaboration support under Erasmus program.

	Erasmus+: International Collaboration Between Transilvania University of Brasov (Romania) and Georgia Southern University

Felix: it looks like you had some interesting X3D presentations last year.  We are happy to share the information if that is OK.  Also wondering whether ERASMUS+ support for work with USA is possible.

2018 Presentations
* March 21 – Prof. Felix Hamza-Lup, presented “Introduction to X3D – Paradigms, Static and Dynamic Scenes” at the Transilvania University in Brasov, Romania.
* March 22 – Prof. Felix Hamza-Lup, presented “Web-based 3D User Interfaces”, at the Transilvania University in Brasov, Romania.


b. Abstract has been accepted for presentation at 1630 on Tuesday 3 December 2019 t Semantic Web Pro (SemWeb.Pro) conference in Paris.


Christophe, might you and Yves be able to handle the presentation duties?  Jakub will work to be available during the presentation, if needed we can reserve the Web3D Zoom channel for his audio and video connection.  I am also interested in connecting as well (Thanos is teaching at that time).

Don will add the event and abstract to the website, Jakub will provide updated slides when available (extending the Web3D 2019 slides).

c. IC3D Paper has been submitted (shared previously) and we are awaiting review comments.

Jakub, I am hoping that we can update and publish your TTL and SPARQL queries to match our current X3D Ontology.  We will try to do that over email.  (Confirming that all nodes are named for .x3d to .ttl conversion.)

d. Thanos discussed book-chapter possibilities... more to follow during next week's regular teleconference, he is outlining a draft.


2. *Mailing list change*.  As requested and discussed, we now have a new semantics-public mailing list.


Transition message:

	semantics-public mailing list is now primary for X3D Semantic Web Working Group discussions

> Since this has been discussed and planned over the course of multiple meetings, for communications continuity and as a convenience I've taken the liberty of subscribing all of the current 11 participants there.
> In general we will use the semantics-public list for working group traffic.  We have not had any member-only information during the past year of effort. Past mail archives remain at
> 	Semantics at web3d.org Archives
> 	http://web3d.org/mailman/private/semantics_web3d.org
> If you want to modify your mailing-list membership information for any reason, please do so.  Both the webmaster and I are ready to help, if needed.
> 	semantics-public at web3D.org
> 	semantics-public -- X3D Semantic Web Working Group (public discussion)
> 	https://www.web3d.org/mailman/listinfo/semantics-public_web3d.org
> 	semantics at web3D.org
> 	semantics -- X3D Semantic Web (member-only discussion)
> 	http://web3d.org/mailman/listinfo/semantics_web3d.org
> All questions and suggestions are welcome.  Looking forward to continuing progress together.

3. *X3D Example Archive Updates*

* /Triple naming/

As reported in last week's X3D Working Group minutes, several thousand XML-based .x3d models in the X3D Example Archives have been converted into .ttl Turtle Triples.

Great work by Jakub on the X3dToTurtle.xslt conversion stylesheet!  After omitting default attribute values and adding name uniqueness, I've only had to do a few minor touchups to handle special cases in the mass unit testing.

Note that the naming of triples is derived on original scene-graph structure, allowing unnamed (no DEF) nodes to be correlated in original model.  For example, in attached HelloWorld.ttl model:

* Since they are singletons, :X3D :head and :Scene are always the same for a given model.

* No anonymous node names are used.

* :meta_1_2      means first child element under X3D (head) followed by second child element (second meta tag).

* :Shape_2_2_2_1 means second child element under X3D (Scene), followed by second child element (Group), followed by second child (Transform), then first child (the Shape of interest).

* :MaterialLightBlue means the node having DEF="MaterialLightBlue"

* :MaterialLightBlue-USE-1 means the first node with USE="MaterialLightBlue"

For example, in original .x3d and derived .ttl representations, we find

  <Material DEF='MaterialLightBlue' diffuseColor='0.1 0.5 1'/>
  <Material USE='MaterialLightBlue'/>

:MaterialLightBlue a owl:NamedIndividual, x3d:Material ;
   x3d:diffuseColor "0.1 0.5 1" .

:MaterialLightBlue-USE-1 a owl:NamedIndividual, x3d:Material .

The sequence of RDF/OWL definitions does not matter.  These numbers refer to placement in the original .x3d scene graph.

Note that a USE node cannot have a corresponding DEF.  We could have the default naming convention for USE nodes, in which case it would have been named something much less descriptive, such as

Perhaps there is one or more relationships we want to add for USE nodes that indicates it is related to the original node, as a draft example for instance:

:MaterialLightBlue-USE-1 a owl:NamedIndividual, x3d:Material;
   x3d:isUseCopyOf :MaterialLightBlue; # superfluous or useful?
   owl:sameAs :MaterialLightBlue .

or, perhaps even better, we define in X3D ontology the following relationship:

x3d:isUseCopyOf rdfs:subPropertyOf owl:sameAs.

The resulting construct in a .ttl translation would then be

:MaterialLightBlue-USE-1 a owl:NamedIndividual, x3d:Material;
   x3d:isUseCopyOf :MaterialLightBlue .

This is an improvement: we have a human-readable label, we have a formal relationship that can be reasoned over.  However a deficiency is that original scene graph structure can't necessarily be reconstructed as an X3D model.  So we either need to change label for consistency to something like

Pressing even farther, perhaps better is to simply define the parent of each element as a contained property.  This would give us *our expected change* to look like

:MaterialLightBlue-USE-1 a owl:NamedIndividual, x3d:Material;
   x3d:isUseCopyOf :MaterialLightBlue;
# owl:sameAs :MaterialLightBlue ; # derived by reasoner
   x3d:hasParent :Appearance_2_2_3_1_2 .

... and so on.  Happily this also provides all of the parent/child/ancestor/descendant relationships in a scene!

Here are the relationships which Jakub already wrote in X3D Ontology:


# Special Properties

:hasChild a owl:ObjectProperty ;
   rdfs:subPropertyOf :hasDescendant ;
   dc:description "X3D element (node or statement) has a child element" .

:hasParent a owl:ObjectProperty ;
   owl:inverseOf :hasChild;
   rdfs:subPropertyOf :hasAncestor ;
   dc:description "X3D element (node or statement) has a parent element" .

:hasDescendant a owl:ObjectProperty ;
   owl:inverseOf :hasAncestor;
   dc:description "X3D element (node or statement) has descendant element" .
:hasAncestor a owl:ObjectProperty , owl:TransitiveProperty ;
   dc:description "X3D element (node or statement) has ancestor element" .


We discussed the warning in the ontology validator... not sure why it is occurring, possibly overzealous, potentially an issue in our use of transitive properties.  Our definition seems correct so we will leave it as is.

Property Analysis
   Non-simple properties
		Explanation: 1
			Transitive: hasAncestor
		Explanation: 1
			Transitive: hasAncestor
	hasDescendant InverseOf hasAncestor


Future TODO: figure out how to reconstruct original model from the .ttl.

I will add these improvements to the X3dToTurtle.xslt conversion stylesheet, and add this design pattern description to X3D Ontology page.


* /Build log of conversions results/

Build log reveals very few conversion errors when tested using a simple SPARQL query.


When a query table by Apache Jena ARQ is empty, as follows, that means the query succeeded but found no WorldInfo nodes to report results.

create turtle:
C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/Buildings//ArchHalf.x3d processing with X3dToTurtle stylesheet...
C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/Buildings//ArchHalf.ttl self-validation test:
Copying 1 file to C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling\Buildings
C:\languages\java\apache-jena-3.12.0\bat\arq.bat --data C:\x3d-code\www.web3d.org\semantics/ontologies/X3dOntology4.0.ttl --query C:\x3d-code\www.web3d.org\semantics/queries/X3dHelloWorldQuery_03.rq --graph Buildings//ArchHalf.ttl
| WorldInfoNode | title |
X3dToTurtle.xslt conversion of ArchHalf.x3d to ArchHalf.ttl complete.

create turtle:
C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/HelloWorldScenes//HelloCostaRica.x3d processing with X3dToTurtle stylesheet...
C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/HelloWorldScenes//HelloCostaRica.ttl self-validation test:
Copying 1 file to C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling\HelloWorldScenes
C:\languages\java\apache-jena-3.12.0\bat\arq.bat --data C:\x3d-code\www.web3d.org\semantics/ontologies/X3dOntology4.0.ttl --query C:\x3d-code\www.web3d.org\semantics/queries/X3dHelloWorldQuery_03.rq --graph HelloWorldScenes//HelloCostaRica.ttl
| WorldInfoNode   | title                          |
| "WorldInfo_2_1" | "¡Hola Costa Rica: Pura Vida!" |
X3dToTurtle.xslt conversion of HelloCostaRica.x3d to HelloCostaRica.ttl complete.

Pretty simple query, and so a good combined unit test of X3D ontology, xslt model conversion into ttl, and SPARQL query.

Hmmm, we should probably add more WorldInfo nodes and titles to the archive example models.

Other comments and TODO suggestions?


* /Other details/

X3D meeting minutes excerpt follows, exemplar screenshot again attached.

	[x3d-public] X3D minutes 11 OCT 2019: Web3DUX, semantics progress, implementations status, mantis issues, texture/material, X3D-Edit

> 3. *X3D Semantic Web Working Group*
> Much progress.  Paper accepted to Semantic Web Pro, additional papers planned.
> [3] [x3d-public] Minutes X3D Semantic Web 7 OCT 2019: X3D Ontology improvements review, X3dToTurtle.xslt plans
>       http://web3d.org/pipermail/x3d-public_web3d.org/2019-October/011324.html
> Key page reflecting steady progress:
> 	X3D Ontology for Semantic Web
> 	https://www.web3d.org/x3d/content/semantics/semantics.html
> Further activity this week:
> a. /New mailing list/. semantics-public at web3D has been established.  We'll be moving most working-group traffic to that list.  If you'd like to listen or join:
> 	Semantics-public -- X3D Semantics public discussion
> 	http://web3d.org/mailman/listinfo/semantics-public_web3d.org
> ----
> b. X3dToTurtle.xslt unit testing on X3D Examples Archives now instrumented for full unit testing of 3000+ scenes.  (Full uploads in morning.)  Available at
> 	https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples
> 	Hello World .ttl Turtle source (experimental) with SPARQL query
> 	https://www.web3d.org/x3d/content/examples/HelloWorld.ttl
> 	https://www.web3d.org/x3d/content/examples/HelloWorld.rq.txt
> Example screenshot and alternate pattern-match success follows:
> 	https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorldIndex.html
> 	https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.ttl
> 	https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.rq.txt
> ----
> c. /Reflection/.  Discussions on this challenging topic began a year ago, and the X3D Semantic Web Working Group began at the beginning of the year.  Really impressive progress - we are now evaluating the power and expressiveness of X3D model queries.  Use cases and feedback continue to be welcome.  More to follow!  8)
> 	https://www.web3d.org/working-groups/x3d-semantic-web
> "The X3D Semantic Web Working Group mission is to publish models to the Web using X3D in order to best gain Web interoperability and enable intelligent 3D applications, feature-based 3D model querying, and reasoning over 3D scenes."
> Motivating insights:
> * "The answer to your question is the response to the query." Jim Hendler and Dean Allemang
> * "Trying to use the Semantic Web without SPARQL is like trying to use a relational database without SQL." Tim Berners-Lee


4. *X3D Ontology Updates*.  Key page:

	X3D Ontology for Semantic Web

Lot of refinements, the queries are working well.  Much more is now possible.


The Owldoc produced by Protege is interesting.


X3dSemanticWebDevelopmentArchive.zip is now available, collecting current assets for easier download and use.


More design-pattern information would be helpful describing the current rules for the ontology.


5. *Potential Future Work*

John Carlson had a number of leading questions about next steps.  Regarding OSNAP.


Nicholas joined for Web3DUX call and said that we are getting closer, this will soon be possible.


So, looking forward:

- most email traffic will be on semantics-public at web3d.org
- meeting minutes and announcements will copied to x3d-public at web3d.org

Wow - what a lot of progress we have made together.  Pretty amazing.

All feedback is welcome.  Have fun with X3D Semantic Web!  8)

all the best, Don
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: HelloWorldCatalogIncludesTurtleAndSparql.png
Type: image/png
Size: 171530 bytes
Desc: HelloWorldCatalogIncludesTurtleAndSparql.png
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20191014/44eef0e8/attachment-0001.png>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: HelloWorld.ttl
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20191014/44eef0e8/attachment-0001.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: HelloWorld.x3d
Type: model/x3d+xml
Size: 3430 bytes
Desc: HelloWorld.x3d
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20191014/44eef0e8/attachment-0001.x3d>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20191014/44eef0e8/attachment-0001.html>

More information about the x3d-public mailing list