Re: Posting object-oriented data directly on the Semantic Web

Hello Michael,

Thank you for the response.  I really appreciate it.

Well yes, it makes it so that we can write SPARQL queries on 
object-oriented data alongside any other data that is in RDF, and I 
think in meaningful ways.  We can ask any question of the 
object-oriented data that we like with SPARQL.  Of course, there is a 
lot of object-oriented data that is just used in programs that is not 
useful to have on the Semantic Web.  I think there is a lot that would 
be useful to have, though.

I actually have a method to convert all of Java's main memory into RDF 
in a Jena model, so we can run SPARQL SELECT queries on all of Java's 
main memory, on the model.  I thought it would be something good if we 
could run SPARQL on all of main memory.  (Normally we don't have access 
to all the objects in memory in Java, of course, but I use AspectJ to 
get access.  Whenever an object is created with the "new" operator, 
AspectJ adds the object to a map from each class to instantiated members 
of the class.)

Oh, I'm not sure.  Are you saying that converting data from the 
object-oriented data model to good knowledge representation in the 
RDF/OWL data model is more involved than the simple conversion I 
described?  Probably that's true.

Thank you again for your response.

Sincerely,
Tim Armstrong
http://www.semanticoop.org


On 04/01/2013 04:56 AM, Michael Brunnbauer wrote:
> Hello Timothy,
>
> I am working on something similar right now - not with a programming language
> but with a complex data format.
>
> You are probably aware that a data model and an ontology are slightly different
> things and that people using your software are taking the "shortcut" of
> modelling the ontology exactly like the data. Java objects are abtractions
> that often do not represent real world objects but the needs of the application.
>
> In many cases, this will not generate "first class" RDF with clean knowledge
> representation but at least queryable RDF. This is much better than nothing -
> especially for organisations trying to make big amounts of heterogenous data
> queryable via a single interface. But the benefit of posting such data on the
> semantic web is arguable.
>
> Regards,
>
> Michael Brunnbauer
>
> On Sun, Mar 31, 2013 at 03:43:45PM -0400, Timothy Armstrong wrote:
>> Hello everyone,
>>
>> I came up with a very simple interpretation of object-oriented
>> programming that, if you think it holds up, will allow us to post any
>> object-oriented data directly on the Semantic Web.  I have code to
>> translate any Java data into RDF in a Jena model.  By this
>> interpretation, there is really this very common class of data that we
>> can post directly.  My motivation is to get more data on the Semantic
>> Web by making it easier to post data.  I would really value the
>> opportunity to talk to anyone.
>>
>> We can treat object-oriented objects belonging to classes as unary
>> predicates, as in the Semantic Web, and object-oriented attributes as
>> binary predicates relating two entities.  We can interpret all
>> object-oriented data as being logical statements. The attribute is the
>> predicate, the object with the attribute is the first argument to the
>> predicate, and each value of the attribute is a second argument to the
>> predicate. In Java, if an attribute is a Set, it is a set of logical
>> statements. When a List or array is used in an attribute, sometimes what
>> is really meant is a set of logical statements, and sometimes what is
>> really meant is an ordered list like rdf:List.  Of course, the Semantic
>> Web has means of representing lists in logic.
>>
>> So all object-oriented data are logical statements, are triples in RDF.
>> Once I figured out how to access private fields in Java and came up with
>> appropriate conventions for URI's, it was very easy to translate Java
>> data into a Jena model.  So we can make an N3 or RDF/XML file out of
>> Java data, view it in Protege, or load it into a triplestore.  Well, I
>> really did my best with the code working on my own, and I think it will
>> work for you if you try it.  If you try it with any of your Java data, I
>> think you would agree the logic holds up.
>>
>> The web site is http://www.semanticoop.org .  Well, thank you if anyone
>> would care to discuss it.
>>
>>   Sincerely,
>>   Tim Armstrong

Received on Tuesday, 2 April 2013 11:09:01 UTC