- From: Mike Dupont <jamesmikedupont@googlemail.com>
- Date: Fri, 17 Aug 2012 07:14:09 +0000
- To: Timothy Armstrong <tim.armstrong@gmx.com>
- Cc: semantic-web@w3.org
Hi there, I have also considered this approach. My idea was to extract this semantic information from the compiler itself and make a user library available that reads this data. If you look at the gnome introspection interface https://live.gnome.org/GObjectIntrospection/ you will find something that I consider going in the right direction. mike On Thu, Aug 16, 2012 at 5: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 > > -- James Michael DuPont Member of Free Libre Open Source Software Kosova http://flossk.org Saving wikipedia(tm) articles from deletion http://SpeedyDeletion.wikia.com Contributor FOSM, the CC-BY-SA map of the world http://fosm.org Mozilla Rep https://reps.mozilla.org/u/h4ck3rm1k3
Received on Friday, 17 August 2012 07:14:58 UTC