- From: Timothy Armstrong <t.armstrong@gmx.com>
- Date: Sun, 24 Feb 2013 09:03:37 -0500
- 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 programs. -- 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