W3C home > Mailing lists > Public > semantic-web@w3.org > February 2013

Semantic Java 0.1.1 released

From: Timothy Armstrong <t.armstrong@gmx.com>
Date: Sun, 24 Feb 2013 09:03:37 -0500
Message-ID: <512A1DB9.30903@gmx.com>
To: semantic-web@w3.org
A new piece of Semantic Web software, Semantic Java, has been released 
open source: http://www.semanticoop.org

The software is a Java library that lets us use the Semantic Web 
technologies in regular Java programs and post Java data directly on the 
Semantic Web.  It treats class membership in object-oriented programming 
as unary predicates and attributes as binary predicates relating two 
entities, so all object-oriented data are triples in RDF.  The subject 
of a triple is a Java object, the predicate is its attribute, and the 
objects are the values of the attribute, Java Collections or arrays for 
non-functional properties, or just Java objects for functional 
properties.  If we make this connection, the OWL and object-oriented 
data models are entirely compatible.

Features include:

-- The ability to translate Java classes, attributes, and objects into 
OWL classes, properties, and individuals and let people post the data 
directly on the Semantic Web.  In fact, we can post all object-oriented 
data directly on the Semantic Web if we copy the code into other 
languages.  Maybe we can get people to post a lot more data, as it is 
much easier now.

-- The ability to run SPARQL SELECT queries on all of Java's main 
memory, albeit indirectly so far.  The software can translate all of 
main memory into RDF in a Jena model, and we can run SELECT queries on 
the model.  SPARQL is close to working more directly, as are rules.

-- The ability to use all the property reasoning with attributes: 
rdfs:subPropertyOf, owl:equivalentProperty, owl:inverseOf, 
owl:ReflexiveProperty, owl:SymmetricProperty, owl:TransitiveProperty, 
owl:propertyChainAxiom, owl:AsymmetricProperty, owl:IrreflexiveProperty, 
and owl:propertyDisjointWith.  We just mark an attribute with Java 
annotations to give it semantics.  An attribute can have subattributes, 
inverse attributes, be transitive, etc., and it all makes perfect 
sense.  People can use the reasoning in any of their object-oriented 

-- The ability to write ontologies entirely in Java using Java 
annotations.  The entire OWL-S, WSMO-Lite, Dublin Core, and FOAF 
ontologies have been translated into Java without loss of information.  
You can use Dublin Core for your Java code as Java annotations.

The software is an alpha release until more people try it, but there is 
quite a lot working.
Received on Sunday, 24 February 2013 22:51:21 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:48:47 UTC