to X3D Resources

X3D Ontology for Semantic Web

to Web3D home page

The X3D Ontology for Semantic Web provides terms of reference for semantic query of X3D models.

Motivation | Download | Design and Design Patterns | OWLDoc | Queries | References | Tools | TODO | Contact

🔖 Motivation to top

Extensible 3D (X3D) Graphics is the royalty-free open standard for publishing, viewing, printing and archiving interactive 3D models on the 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
"The proof of the pudding is in the eating." Wiktionary

To learn more about publishing 3D graphics on the Web, please see What is X3D? and X3D Version 4 Overview.

🔖 Download to top



Version Control

All work is maintained using subversion at Sourceforge version control under a non-viral Web3D Consortium open-source license (text).

🔖 Design to top

The current X3D Ontology is reasonably stable as we work to make X3D models queriable in interesting ways. These representations fully match the functionality of X3D4.

TODO. More work remains for the X3D Ontology. Expected progression, with adjacent steps typically in tandem:

  1. Continued review of .ttl representations generated from X3DUOM.
  2. Establishing satisfactory URI matching website URL, e.g. (website request pending).
  3. Building an extensive set of SPARQL queries.
  4. Autogenerate and publish RDF-A for all X3D examples, following patterns in Leslie Sikos' book.
  5. Defining use cases for queries and demonstrating examples.
  6. Define similar/corresponding triple constructs for different 3D formats, building upon Leslie's 3dmo.ttl exemplars.
  7. Investigate existing vocabularies and tools for visual 3D shape search including potential analysis and annotation of models.
  8. Use Apache Daffodil (DFDL) to actually parse and subsequently query those other formats coherently.

🔖 Design Patterns

  1. Triple names. Each triple must be uniquely named. Please note that these names are ID labels that can be matched and reported, but the text used for each name cannot be reasoned against.
  2. More to follow.

🔖 Queries to top

X3D Semantic Web Working Group efforts include defining use cases for queries and demonstrating examples, which will like follow three general patterns:

build.all.log.txt and build.SPARQL.query.tests.log.txt each provide a full set of queries and responses. These build logs help practitioners compare results and track progress (or setbacks).

SPARQL Query Graph (triple store) Response Description
X3dOntologyQuery_01.rq X3dOntology4.0.ttl X3dOntologyQuery_01.rq.txt Metaquery (against X3D Ontology itself) to list all properties with corresponding domains and ranges.
X3dOntologyQuery_02.rq X3dOntology4.0.ttl X3dOntologyQuery_02.rq.txt Metaquery (against X3D Ontology itself) to list nodes and statements (concrete owl:Class) with inherited node types and object types.
X3dOntologyQuery_03.rq X3dOntology4.0.ttl X3dOntologyQuery_03.rq.txt Metaquery (against X3D Ontology itself) to list all geometry nodes.
X3dOntologyQuery_04.rq X3dOntology4.0.ttl X3dOntologyQuery_04.rq.txt Metaquery (against X3D Ontology itself) to list all X3D default simple-type field values (ontology annotationProperties).
X3dHelloWorldQuery_01.rq HelloWorld.ttl X3dHelloWorldQuery_01.rq.txt Query HelloWorld.ttl to count number of Shape nodes, with expected result = 2 nodes.
X3dHelloWorldQuery_02.rq HelloWorld.ttl X3dHelloWorldQuery_02.rq.txt Query HelloWorld.ttl to show url values within an ImageTexture node.
X3dHelloWorldQuery_03.rq HelloWorld.ttl X3dHelloWorldQuery_03.rq.txt Query HelloWorld.ttl to show title given to model within a WorldInfo node.
X3dHelloWorldQuery_04.rq HelloWorld.ttl X3dHelloWorldQuery_04.rq.txt Query HelloWorld.ttl to show contained geometry, appearance, material and texture field SFNode values within each Shape node.
X3dHelloWorldQuery_05.rq HelloWorld.ttl X3dHelloWorldQuery_05.rq.txt Query HelloWorld.ttl to show all nodes in 'children' field contained within any Group node.
X3dSanCarlosCathedralAltarQuery_01.rq Altar.ttl X3dSanCarlosCathedralAltarQuery_01.rq.txt Query SanCarlosCathedral Altar.ttl to show the number of shapes composing the altar.
X3dSanCarlosCathedralAltarQuery_02.rq Altar.ttl X3dSanCarlosCathedralAltarQuery_02.rq.txt Query SanCarlosCathedral Altar.ttl to show url addresses of all textures used within the scene.
X3dSanCarlosCathedralAltarQuery_03.rq Altar.ttl X3dSanCarlosCathedralAltarQuery_03.rq.txt Query SanCarlosCathedral Altar.ttl to determine Background skyColor values.
HelloX3dAuthorsAnimationChainQuery_01.rq HelloX3dAuthorsAnimationChain.ttl HelloX3dAuthorsAnimationChainQuery_01.rq.txt Query HelloX3dAuthorsAnimationChain.ttl to determine ROUTE parameters of interest.

Several thousand XML-based .x3d models in the X3D Example Archives have been converted into .ttl Turtle triples, using the X3dToTurtle.xslt conversion stylesheet.

Both .ttl and SPARQL query results are available for each model, as illustrated in the screenshot for the HelloWorld example catalog entry.

Comprehensive conversion and test-query results for all models in X3D Resources, Examples: Scene Archives for X3D are listed in build.turtle.all.log.txt. This is a comprehensive set of unit tests for X3D ontology, xslt model conversion into .ttl, and SPARQL query.

🔖 References to top


Papers and Workshops


🔖 Tools to top

Many tools are available for Semantic Web development. Here are the primary ones used for this work.

🔖 Contact to top

Questions, suggestions, additions and comments about this X3D Ontology for Semantic Web page are welcome. Please send them to Don Brutzman and Jakub Flotyński (email brutzman at and flotynski at
Master version of this X3D Ontology for Semantic Web page is available online at and available in Sourceforge version control.
Updated: 18 January 2021