From grant.ingersoll at gmail.com Tue Nov 6 17:44:45 2007 From: grant.ingersoll at gmail.com (Grant Ingersoll) Date: Tue, 6 Nov 2007 11:44:45 -0500 Subject: [Rdf2go-devel] RDFTool thread safety Message-ID: <33E22F50-4ED1-4326-8D47-74E50008797A@gmail.com> Hi, I am using RDF2Go via Aperture and ran into some thread safety issues around the static DateFormat object used. SimpleDateFormat is not thread safe and thus causes problems for my application. I think the best way to go is to use a ThreadLocal. Below is a start at a patch that changes it to a ThreadLocal approach (I say start, b/c I know next to nothing about RDF2Go and so this patch may not be correct, although it looks like all access to the DateFormat objects are through getters, so it should work.) Please let me know if there is anything I can do to help this get furthered along. Cheers, Grant To be applied in http://semweb4j.googlecode.com/svn/trunk/org.semweb4j.rdf2go.impl.base . Patch was generated using svn diff > dateFormat.patch ----- Index: src/main/java/org/ontoware/rdf2go/util/RDFTool.java =================================================================== --- src/main/java/org/ontoware/rdf2go/util/RDFTool.java (revision 862) +++ src/main/java/org/ontoware/rdf2go/util/RDFTool.java (working copy) @@ -60,12 +60,12 @@ /** * datetime format. */ - private static DateFormat dateTimeFormat = null; + private static ThreadLocal dateTimeFormatTL = new ThreadLocal(); /** * format to express dates in ISO 8601 */ - private static DateFormat dateFormat = null; + private static ThreadLocal dateFormatTL = new ThreadLocal(); /** * @param m @@ -139,9 +139,11 @@ * ISO8601. */ public static DateFormat getDateFormat() { - if (dateFormat == null) { + DateFormat dateFormat = dateFormatTL.get(); + if (dateFormat == null) { dateFormat = new SimpleDateFormat("yyyy-MM- dd"); - } + dateFormatTL.set(dateFormat); + } return dateFormat; } @@ -152,9 +154,11 @@ * @return a dateformat. */ public static DateFormat getDateTimeFormat() { - if (dateTimeFormat == null) { + DateFormat dateTimeFormat = dateTimeFormatTL.get(); + if (dateTimeFormat == null) { dateTimeFormat = new SimpleDateFormat("yyyy- MM-dd'T'HH:mm:ss"); - } + dateTimeFormatTL.set(dateTimeFormat); + } return dateTimeFormat; } From antoni.mylka at gmail.com Mon Nov 12 13:05:11 2007 From: antoni.mylka at gmail.com (=?ISO-8859-2?Q?Antoni_My=B3ka?=) Date: Mon, 12 Nov 2007 13:05:11 +0100 Subject: [Rdf2go-devel] announcement: Aperture 1.0.1-beta Message-ID: <47384177.2090403@gmail.com> ANNOUNCEMENT OF Aperture 1.0.1-beta RELEASE http://aperture.sourceforge.net/ Aperture is a Java framework for extracting full-text content and metadata from various information systems (e.g. file systems, web sites, mail boxes) and the file formats (e.g. documents, images) occurring in these systems. This release bears the mark of the Nepomuk Social Semantic Desktop - a major intiative combining research institutes and commercial companies from around Europe. Aperture is used as one of the pillars of a next-generation platform that changes the way people can organize and use the data stored on their computers. The input from the Nepomuk Community drove us to implement a host of new features that make Aperture more useful, more flexible and more powerful. New Features - Aperture has been migrated to use the newly developed Nepomuk Information Element Ontology framework. This added a new level of precision and expressiveness to the output of Aperture components. The ontology itself is endorsed by the Nepomuk Consortium, well documented and maintained. - The output is now thoroughly tested with an extensible rdf validator for compliance with the ontology. This allowed us to fix a number of bugs that made certain properties appear in places they didn't belong - the data source configuration API has been overhauled and is now much more easy to use - A new facility that allows clients to implement dynamic GUIs for data source configuration. - New JpgExtractor that extracts EXIF annotations from JPG files - four new experimental crawlers (Flickr, Bibsonomy, del.icio.us and Apple IPhoto). - host of small improvements and bug fixes Updated dependencies - Sesame 2.0 beta-6 (was beta-4) - RDF2Go 4.4.6 - RDF2Go driver for sesame - A metadata-extractor-2.4.0-beta-1 library used by the JPGExtractor - POI has been update to 3.0-FINAL - flickrapi-1.0b4 used by the FlickrCrawler - DFKIUtils 2.0 some XML-related utilities are used by the website crawlers - nrlvalidator-0.1 the validator used by the unit tests - infsail-0.1 and unionsail-0.1 dependencies of the validator Best regards Leo Sauermann Christiaan Fluit Antoni Mylka From leo.sauermann at dfki.de Mon Nov 19 18:32:15 2007 From: leo.sauermann at dfki.de (Leo Sauermann) Date: Mon, 19 Nov 2007 18:32:15 +0100 Subject: [Rdf2go-devel] [Fwd: Metadata use by Apache Java projects] - VERY INTERESTING In-Reply-To: <4741725B.6090504@gmail.com> References: <4741725B.6090504@gmail.com> Message-ID: <4741C89F.3030306@dfki.de> Hi Jeremias, I am involved in aperture.sourceforge.net, which is addressing similar things as Tika, we are communicating with Tika, therefore we got your mail also. A few pointers: what you are talking about is an RDF Api that represents annotations as Java objects in-memory. XMP uses RDF underneath, therefore you should aim at an RDF Api. There are many APIs out there: * jena.sourceforge.net - big api for rdf by HP * www.openrdf.org - rdf api optimized for client/server setups * http://wiki.ontoworld.org/wiki/RDF2Go - Abstraction api of above There are many APIs generating "Schema Specific Adapters", the well known in Java are: * http://wiki.ontoworld.org/wiki/RDFReactor * elmo ** http://www.openrdf.net/doc/elmo/1.0/user-guide/index.html ** http://sourceforge.net/project/showfiles.php?group_id=46509&package_id=157314 * https://sommer.dev.java.net/ from the above, elmo is quite stable and advanced. There are murmurs of standardization of RDF Apis, Max V?lkel, Henry Story, and myself repeatedly thought about starting a JSR discussion on an RDF api, but that never happened. The W3C may be interested to do something like this (they did it for DOM I think and for XML, or?), the contact people would be the deployment group: http://www.w3.org/2006/07/SWD/ so, to sum it up: There are many things out there handling RDF in Java, but nothing dominates yet as a single monopoly. In my sourroundings (my company, aperture.sourceforge.net) we prefer to use RDF2Go as "the api", its not perfect but very well suited. best Leo It was Antoni My?ka who said at the right time 19.11.2007 12:24 the following words: > Check it out. > > ------------------------------------------------------------------------ > > Betreff: > Metadata use by Apache Java projects > Von: > Jeremias Maerki > Datum: > Mon, 19 Nov 2007 10:26:47 +0100 > An: > general at xmlgraphics.apache.org, tika-dev at incubator.apache.org, > sanselan-dev at incubator.apache.org, Ben Litchfield > > An: > general at xmlgraphics.apache.org, tika-dev at incubator.apache.org, > sanselan-dev at incubator.apache.org, Ben Litchfield > > > (I realize this is heavy cross-posting but it's probably the best way to > reach all the players I want to address.) > > As you may know, I've started developing an XMP metadata package inside > XML Graphics Commons in order to support XMP metadata (and ultimately > PDF/A) in Apache FOP. Therefore, I have quite an interest in metadata. > > What is XMP? XMP, for those who don't know about it, is based on a > subset of RDF to provide a flexible and extensible way of > storing/representing document metadata. > > Yesterday, I was surprised to discover that Adobe has published an XMP > Toolkit with Java support under the BSD license. In contrast to my > effort, Adobe's toolkit is quite complete if maybe a bit more > complicated to use. That got me thinking: > > Every project I'm sending this message to is using document metadata in > some form: > - Apache XML Graphics: embeds document metadata in the generated files > (just FOP at the moment, but Batik is a similar candidate) > - Tika (in incubation): has as one of its main purposes the extraction > of metadata > - Sanselan (in incubation): extracts and embeds metadata from/in bitmap > images > - PDFBox (incubation in discussion): extracts and embeds XMP metadata > from/in PDF files (see also JempBox) > > Every one of these projects has its own means to represent metadata in > memory. Wouldn't it make sense to have a common approach? I've worked > with XMP for some time now and I can say it's ideal to work with. It > also defines guidelines to embed XMP metadata in various file formats. > It's also relatively easy to map metadata between different file formats > (Dublin Core, EXIF, PDF Info etc.). > > Sanselan and Tika have both chosen a very simple approach but is it > versatile enough for the future? While the simple Map in > Tika allows for multiple authors, for example, it doesn't support > language alternatives for things such as dc:title or dc:description. > > I'm seriously thinking about abandoning most of my XMP package work in > XML Graphics Commons in favor of Adobe's XMP Toolkit. What it doesn't > support, tough: > - Metadata merging functionality (which I need for synchronizing the PDF > Info object and the XMP packet for PDF/A) > - Schema-specific adapters (for Dublin Core and many other XMP Schemas) for > easier programming (which both Ben and I have written for JempBox and > XML Graphics Commons). Adobe's toolkit only allows generic access. > > Some links: > Adobe XMP website: http://www.adobe.com/products/xmp/ > Adobe XMP Toolkit: http://www.adobe.com/devnet/xmp/ > JempBox: http://sourceforge.net/projects/jempbox > Apache XML Graphics Commons: > http://svn.apache.org/viewvc/xmlgraphics/commons/trunk/src/java/org/apache/xmlgraphics/xmp/ > > My questions: > - Any interest in converging on a unified model/approach? > - If yes, where shall we develop this? As part of Tika (although it's > still in incubation)? As a seperate project (maybe as Apache Commons > subproject)? If more than XML Graphics uses this, XML Graphics is > probably not the right home. > - Is Adobe's XMP toolkit interesting for adoption (!=incubation)? Is > the JempBox or XML Graphics Commons approach more interesting? > - Where's the best place to discuss this? We can't keep posting to > several mailing lists. > > At any rate, I would volunteer to spearhead this effort, especially > since I have immediate need to have complete XMP functionality. I've > almost finished mapping all XMP structures in XG Commons but I haven't > committed my latest changes (for structured properties) and I may still > not cover all details of XMP. > > Thanks for reading this far, > Jeremias Maerki > > > -- ____________________________________________________ DI Leo Sauermann http://www.dfki.de/~sauermann Deutsches Forschungszentrum fuer Kuenstliche Intelligenz DFKI GmbH Trippstadter Strasse 122 P.O. Box 2080 Fon: +49 631 20575-116 D-67663 Kaiserslautern Fax: +49 631 20575-102 Germany Mail: leo.sauermann at dfki.de Geschaeftsfuehrung: Prof.Dr.Dr.h.c.mult. Wolfgang Wahlster (Vorsitzender) Dr. Walter Olthoff Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes Amtsgericht Kaiserslautern, HRB 2313 ____________________________________________________ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://ontoware.org/pipermail/rdf2go-devel/attachments/20071119/736bd410/attachment-0001.html From gunnar.grimnes at dfki.de Wed Nov 21 12:00:59 2007 From: gunnar.grimnes at dfki.de (Gunnar Aastrand Grimnes) Date: Wed, 21 Nov 2007 12:00:59 +0100 Subject: [Rdf2go-devel] versioning confusion Message-ID: <47440FEB.70103@dfki.de> Hi all, I am trying to implement an elmo version using RDF2Go, and I've made the step to maven. Now I am a bit confused about which version of rdf2go[api|impl], openrdf-rdf2go, openrdf and elmo go together. I guess the core elmo modules (i.e. elmo-[core|repository|concepts], etc.) are independent from everything else? Currently I tried this in my pom: elmo-[core|repositoyr|concepts|dynabean] 1.0-beta1 rdf2go-[api|impl] 4.5.0 openrdf-rdf2go 4.5.0 and leaving openrdf packages to mvn to sort out. Then I end up with a mix of openrdf beta5 and beta6, and some old version of aduna-lang, which does not include info/aduna/lang/service/FileFormatServiceRegistry Does anyone have a winning combination of versions that will play together? I would prefer not to go to elmo-1.0-SNAPSHOT if possible... Oh, and sorry for the cross-post! Thanks! - Gunnar -- Gunnar Aastrand Grimnes gunnar.grimnes [AT] dfki.de DFKI GmbH Knowledge Management Trippstadter Strasse 122 D-67663 Kaiserslautern Germany Office: +49 631 205 75-117 Mobile: +49 177 277 4397 From voelkel at fzi.de Wed Nov 21 13:46:44 2007 From: voelkel at fzi.de (=?iso-8859-15?Q?Max_V=F6lkel?=) Date: Wed, 21 Nov 2007 13:46:44 +0100 Subject: [Rdf2go-devel] versioning confusion In-Reply-To: <47440FEB.70103@dfki.de> References: <47440FEB.70103@dfki.de> Message-ID: <54034308.20071121134644@fzi.de> Hi Gunnar, GAG> I am trying to implement an elmo version using RDF2Go, why elmo and not rdfreactor? just curious. GAG> and I've made the step to maven. congrats. GAG> Now I am a bit confused about which version of GAG> rdf2go[api|impl], openrdf-rdf2go, openrdf and elmo go together. latest official openrdf2go is here: http://repository.aduna-software.org/maven2/org/openrdf/openrdf-rdf2go/4.5.1/ based on the Sesame 2.0-RC1 and based on rdf2go.api 4.5.0 rdf2go.impl.base 4.5.2 rdf2go.impl.base.test 4.5.2 I don't know about the other versions in Aduna. Kind Regards, Max -- Max V?lkel voelkel at fzi.de | www.Xam.de office +49 721 96 54-854 mobile +49 171 83 59 678 -- FZI Forschungszentrum Informatik an der Universit?t Karlsruhe Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe Tel.: +49-721-9654-0, Fax: +49-721-9654-959 Stiftung des b?rgerlichen Rechts, Az: 14-0563.1 Regierungspr?sidium Karlsruhe. Vorstand: Prof. Dr.-Ing. R?diger Dillmann, Dipl. Wi.-Ing. Michael Flor Prof. Dr. Dr.-Ing. Jivka Ovtcharova, Prof. Dr. rer. nat. Rudi Studer Vorsitzender des Kuratoriums: Ministerialdirigent G?nther Le?nerkraus From gunnar.grimnes at dfki.de Wed Nov 21 15:27:27 2007 From: gunnar.grimnes at dfki.de (Gunnar Aastrand Grimnes) Date: Wed, 21 Nov 2007 15:27:27 +0100 Subject: [Rdf2go-devel] versioning confusion In-Reply-To: <54034308.20071121134644@fzi.de> References: <47440FEB.70103@dfki.de> <54034308.20071121134644@fzi.de> Message-ID: <4744404F.3070301@dfki.de> Max V?lkel wrote: > Hi Gunnar, > GAG> I am trying to implement an elmo version using RDF2Go, > why elmo and not rdfreactor? just curious. It is for another project, mymory, I forget why they wanted to explore this - I can ask again. In the end none of them had time to port the implementation classes to use rdf2go though, so in the end I volunteered to do it to save them from converting everything to sesame, since then all mymory/nepomuk integration would be lost. > GAG> and I've made the step to maven. > congrats. It was much much easier than I imagined :) > latest official openrdf2go is here: > http://repository.aduna-software.org/maven2/org/openrdf/openrdf-rdf2go/4.5.1/ > based on the Sesame 2.0-RC1 > and based on > rdf2go.api > 4.5.0 > > rdf2go.impl.base > 4.5.2 > > rdf2go.impl.base.test > 4.5.2 OK - I will try this again. Am I right that if I say I depend on openrdf-rdf2go maven will automagically find out what openrdf2 packages I will need to match? Thanks, - Gunnar -- Gunnar Aastrand Grimnes gunnar.grimnes [AT] dfki.de DFKI GmbH Knowledge Management Trippstadter Strasse 122 D-67663 Kaiserslautern Germany Office: +49 631 205 75-117 Mobile: +49 177 277 4397 From arjohn.kampman at aduna-software.com Wed Nov 21 19:47:48 2007 From: arjohn.kampman at aduna-software.com (Arjohn Kampman) Date: Wed, 21 Nov 2007 19:47:48 +0100 Subject: [Rdf2go-devel] [Sesame-devel] versioning confusion In-Reply-To: <47440FEB.70103@dfki.de> References: <47440FEB.70103@dfki.de> Message-ID: <47447D54.2020609@aduna-software.com> Gunnar Aastrand Grimnes wrote: > Does anyone have a winning combination of versions that will play > together? I would prefer not to go to elmo-1.0-SNAPSHOT if possible... FWIW: James and I are planning a combined release of Elmo and Sesame end of this week/early next week. This Elmo release will be based on Sesame 2.0-rc2. Updating the rdf2go driver to 2.0-rc2 should be a simple pom-file modification. I would suggest that you work with the SNAPSHOT until then. Arjohn From axel at rauschma.de Sat Nov 24 21:08:09 2007 From: axel at rauschma.de (Axel Rauschmayer) Date: Sat, 24 Nov 2007 21:08:09 +0100 Subject: [Rdf2go-devel] RDF2Go.getModelFactory() Message-ID: <30891C40-2A85-4EFB-932C-DA382CC91315@rauschma.de> I'm working with RDF2Go 4.5.0 and Sesame 2.0b6. I can never get this method to work reliably for me. Is there a class I have to load beforehand? Otherwise I don't see anyway, how the Sesame adapter would register its factory. Thanks! Axel -- Axel.Rauschmayer at ifi.lmu.de http://www.pst.ifi.lmu.de/~rauschma/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://ontoware.org/pipermail/rdf2go-devel/attachments/20071124/b447f4df/attachment.html From voelkel at fzi.de Mon Nov 26 09:17:20 2007 From: voelkel at fzi.de (Max Voelkel) Date: Mon, 26 Nov 2007 09:17:20 +0100 Subject: [Rdf2go-devel] RDF2Go.getModelFactory() In-Reply-To: <30891C40-2A85-4EFB-932C-DA382CC91315@rauschma.de> References: <30891C40-2A85-4EFB-932C-DA382CC91315@rauschma.de> Message-ID: <1342563081.20071126091720@fzi.de> Hi Axel, AR> I'm working with RDF2Go 4.5.0 and Sesame 2.0b6. Ok, loading/binding/etc hasn't changed for a long time. AR> I can never get this method to work reliably for me. There are four ways in principle to get an RDF2Go Model: http://wiki.ontoworld.org/wiki/RDF2Go/Binding RDF2Go.getModelFactory() does two things: * first, it looks if anybody had explicitly registered a ModelFactory to be used via RDF2Go. // register adapter of implementation XYZ, could be Jena or Sesame or anything. RDF2Go.register( new org.ontoware.rdf2go.impl.XYZ.ModelFactoryImpl() ); // start using RDF2Go Model m = RDF2Go.getModelFactory().createModel(); As a fallback, if no RDF2Go.register(..) was ever called, RDF2Go does the same as slf4j, it looks for a staitc binding, that is, it loads the class org.ontoware.rdf2go.impl.StaticBinding - wherever that is found on the classpath. The Sesame adapters e.g. contain such a class. Kind Regards, Max -- Max V?lkel voelkel at fzi.de | www.Xam.de office +49 721 96 54-854 mobile +49 171 83 59 678 -- FZI Forschungszentrum Informatik an der Universit?t Karlsruhe Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe Tel.: +49-721-9654-0, Fax: +49-721-9654-959 Stiftung des b?rgerlichen Rechts, Az: 14-0563.1 Regierungspr?sidium Karlsruhe. Vorstand: Prof. Dr.-Ing. R?diger Dillmann, Dipl. Wi.-Ing. Michael Flor Prof. Dr. Dr.-Ing. Jivka Ovtcharova, Prof. Dr. rer. nat. Rudi Studer Vorsitzender des Kuratoriums: Ministerialdirigent G?nther Le?nerkraus