- From: Martynas Jusevicius <martynas@graphity.org>
- Date: Fri, 17 Aug 2012 10:33:57 +0300
- To: Timothy Armstrong <tim.armstrong@gmx.com>
- Cc: semantic-web@w3.org
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