Re: Enhancing object-oriented programming with OWL

Hey Timothy,

are you familiar with JenaBean? It uses annotations for a similar purpose:
http://code.google.com/p/jenabean/wiki/AnnotationGuide

Martynas
graphity.org

On Thu, Aug 16, 2012 at 8:42 PM, Timothy Armstrong
<tim.armstrong@gmx.com> wrote:
> Hello everyone,
>
> My understanding is that we can post all object-oriented data on the
> Semantic Web, as object-oriented programming and OWL and are entirely
> compatible.  I have a correspondence between OOP and OWL. Object-oriented
> classes are OWL classes, object-oriented attributes are OWL properties,
> object-oriented operations are Semantic Web Services, and object-oriented
> packages are ontologies.  Class membership is unary predicates, and
> attributes are binary predicates, relating two entities.  In Java, if a
> field is a Java Collection or an array, each element in it is just the
> object of a triple.  I interpret all object-oriented data as being triples
> in RDF.  So we should be able to serialize all object-oriented data to RDF.
> We can thus have lots more data on the Semantic Web!
>
> Based on these principles, what we want to do is extend OOP to make it into
> OWL, i.e. to make it better.  I've developed an extension to Java using OWL
> and have just released it open source: http://www.semanticoop.org.  I'm
> looking to talk to people about it.  I've translated the entire RDF, RDFS,
> and OWL ontologies into Java; see the packages beginning with org.w3 at
> http://www.semanticoop.org/xref/.  Here is rdfs:comment, for instance, as a
> Java annotation in a file comment.java:
>
> @AnnotationProperty
> @label("comment")
> @comment("A description of the subject resource.")
> @isDefinedBy("http://www.w3.org/2000/01/rdf-schema#")
> @domain(Resource.class)
> @range(Literal.class)
>
> @Documented
> @Retention(RetentionPolicy.RUNTIME)
> public @interface comment
> {
>     public String[] value();
> }
>
> The OWL annotation properties are Java annotations, so I can write
> ontologies entirely in Java.
>
> The proof that the correspondence between attributes and properties holds up
> is just that I have most of the property reasoning working for attributes,
> and it all makes sense and seems like it would be very useful in
> object-oriented programming.  We will allow programmers to define classes as
> intersections, unions, or complements of other classes, run SPARQL queries
> and rules on main memory, and do everything else we can do with OWL inside
> an object-oriented language, object database, or object-relational database.
>
> I have a lot working.  I came across other software that treats attributes
> as properties, like AliBaba, very late in the development process.  I think
> I did a lot differently.  Would anyone be interested in talking about it or
> hearing more?  This is the first I'm announcing the project.  I've just done
> everything myself to this point, so I've gotten as far as I could.  I was
> trying to do it as part of my Ph.D. research.  I'm currently looking to talk
> to people about the software rather than for people to use it yet. Well, I
> hope people like it.
>
> Thank you,
> Tim Armstrong
>
>

Received on Friday, 17 August 2012 07:34:26 UTC