You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
(5) |
Jul
(2) |
Aug
|
Sep
(17) |
Oct
|
Nov
(3) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
(4) |
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: [Ricardo Rodrí. e. <ric...@eb...> - 2009-08-30 22:07:15
|
Hi! I've been browsing your quite interesting project in SourceForge and see that there are almost three years without any new message or software commitment. Please, is the project alive? I am afraid I am not a developer. Sorry! But I think you could consider me as a "developer to be" :-) I am quite interested in collaborative ontologies development based on wiki technologies. Please, let me know if anybody still involved with this project receive this message. Thanks! All the best, Ricardo -- Ricardo Rodríguez CTO eBiotic. Life Sciences, Data Modeling and Information Management Systems |
From: Laurian G. <la...@gr...> - 2005-04-15 14:51:18
|
sirfaber wrote: > > We (me and Paolo) got in touch with this editor that seems to be very > cool... > > #-----------------------------------------------------------------------------------------# > > TinyMCE is a platform independent web based Javascript HTML WYSIWYG > editor control released as Open Source under LGPL by Moxiecode Systems > AB. > It has the ability to convert HTML TEXTAREA fields or other HTML elements > to editor instances. TinyMCE is very easy to integrate into other CMS > systems. > > - http://tinymce.moxiecode.com/index.php > <https://webmail.securesites.it/horde/util/go.php?url=http%3A%2F%2Ftinymce.moxiecode.com%2Findex.php&PHPSESSID=b8540e0ecf25df2b71b16884bc29e24b> > > It's nice, but it lacks the server side implementation of image upload and image browse and chooser, which FCKEditor has. Cheers, Laur |
From: sirfaber <sir...@em...> - 2005-04-15 14:34:00
|
Hi all. We (me and Paolo) got in touch with this editor that seems to be very cool... #-----------------------------------------------------------------------------------------# TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances. TinyMCE is very easy to integrate into other CMS systems. - http://tinymce.moxiecode.com/index.php <https://webmail.securesites.it/horde/util/go.php?url=http%3A%2F%2Ftinymce.moxiecode.com%2Findex.php&PHPSESSID=b8540e0ecf25df2b71b16884bc29e24b> Bye -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Giornata faticosa? Rilassati con il Cuscino per Massaggi che vibra! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=2742&d=15-4 |
From: Laurian G. <la...@gm...> - 2005-02-22 10:56:05
|
Hello, On Tue, 22 Feb 2005 11:55:01 +0100, Stefano Campanini <cam...@ya...> wrote: > I'm reading about the Java Plug in Framework (JPF), it seem in early > state , but could be useful. > Also I like to understand how to re factor the controller. > > At the moment I see two ways: > > 1) Using Struts, with a javax.filter before the Struts Servlet that hide > the bad mapping Url ("*.do"), > this solution give us almost all advantages of the Struts Framework, but > we have a big framework included in the project > > 2) Using Jakarta.commons.Chain developing our custom controller, this > solution give us the advantage to have a clean project (only what we > need) and give the possibility (it use the Inversion of Control > paradigm) to test almost completely "Actions" without using a Web Client. > But we have to develop and maintain our controller. > > I try the second way creating a small prototype. (2) is better, especially if we want to decouple Platypus from the servlet framework implementation. Cheers, -- Laurian Gridinoc, www.grapefruit.ro |
From: Stefano C. <cam...@ya...> - 2005-02-22 10:51:43
|
Hi Paolo, I'm reading about the Java Plug in Framework (JPF), it seem in early state , but could be useful. Also I like to understand how to re factor the controller. At the moment I see two ways: 1) Using Struts, with a javax.filter before the Struts Servlet that hide the bad mapping Url ("*.do"), this solution give us almost all advantages of the Struts Framework, but we have a big framework included in the project 2) Using Jakarta.commons.Chain developing our custom controller, this solution give us the advantage to have a clean project (only what we need) and give the possibility (it use the Inversion of Control paradigm) to test almost completely "Actions" without using a Web Client. But we have to develop and maintain our controller. I try the second way creating a small prototype. Bye Campa |
From: Stefano C. <cam...@ya...> - 2005-02-16 11:01:32
|
Creating a Policy-Aware Web: Discretionary, Rule-based Access for the World Wide Web http://morenews.blogspot.com/2005/02/quick-links.html Ciao |
From: Stefano C. <cam...@ya...> - 2005-02-16 10:29:33
|
Hi Paolo, I'm doing the garbage collect activity (refactoring) on the MetaManager class. I done some work, but we have to change the old platypus wiki paradigm: In fact for every HTTP request the paradigm is: 1. get the URL, (identify the "current resource") 2. load form the file system the "local jena model" 3. creating the MetaManager object, with the local jena model 4. and so on ... The "Local Model" is a list of all triples that have the "current resource" as subject or object (in other words: all resources that have a distance of one arc in the rdf graph from the "current resource"). Now we have decided to get also: labels, dc:title etc... for every Resources (with distance one arc) in the Local Model. These resources (labels, dc:title, etc..) are not at one arc distance from the current resource so: we have to change the RepositoryManager class to get also these nodes. At this moment of development, I suppose to have these in the metamanager model, and wait your updates on RepositoryManager class. In this way, my methods will work also having a total model (all triples of platypus). I like to rafact also the controller...using the Apache.Jakarta.Commons.Chain. I suggest to use the Jena Event paradigm to get synch the FileSystem model and the memory/DBMS model... We will discuss about it next Friday. :) Bye Campa |
From: Stefano C. <cam...@ya...> - 2004-12-28 14:27:17
|
Hi, Wiki metadata visualization... using CSS ? Here we can find some ideas.. http://www.w3.org/2001/11/IsaViz/gss/gssmanual.html Bye Stefano |
From: Laurian G. <la...@gm...> - 2004-12-15 12:06:01
|
Hello, > Considering only metadata. > For simplicity we have to select the "master copy" of metadata. > In my opinion if we use a "RDF Repository" (Sesame or others) it's not > useful to mantain a file system repository. > We can generate on the fly the metadata organized as the current file > system using querys. > > We can have an "export-import" tool that generate the "namespace-zip" > including metadata taken by querys and contents (or only URLs to > contents) and vice versa. perfect. > >- any other ideas for triple editing (the super pull-down menus) such > >that we don't load an entire namespace into the client UI? > > > We have to think ... how ... > One solution is to use a approach similar to the "simile logwell" using > collapsable boxes, server side, for each namespaces/resources during > the selection... a lot of work todo ... I would like to have it like the auto completion you have in Gmail. Anyway won't be feasible to load all the namespace(s) into the client for this feature, and doing it by server round trips is subject to latency... > I'm studying to design a "RDF repository independent" java interface ... > Stefano We'll need also a plugin architecture, that will allow also parallel development and experimentation with the underlying (future) repository framework. Cheers, -- Laurian Gridinoc Chief Developer GRAPEFRUIT www.grapefruit.ro |
From: Stefano C. <cam...@ya...> - 2004-12-13 16:13:14
|
Laurian Gridinoc wrote: >Hello, > > Hi Laurian, >And thank you all for everything :) > >I'll try to list here things we discussed, please add what I missed here... > >Paolo, I wait for the scans ;) > >On platypus core, we discussed the triple repository (which adds query >and inference support) versus file based system (which is easy to >manipulate: zip, rename, etc), I believe that the next step in this >direction will have to use both systems (and by this will be backward >compatible): > >I mean that we keep the file based stuff, and on each operation as it >works now, we do that onto the repository too, but all the queries are >made against the repository. > >And we'll have to add 2 synchronization tools: to refresh the >repository with the data in the file system (ie. I get a zip with >another wiki namespace from a different platypus), and one that may >overwrite the filesys metadate within the repository (writing the >concise boundary description to the page metadata) > > >This imply also removing "incoming" arcs to a page, since we display >that from the repository. And this eases the use of the filesystem. > >What do you think? > > Considering only metadata. For simplicity we have to select the "master copy" of metadata. In my opinion if we use a "RDF Repository" (Sesame or others) it's not useful to mantain a file system repository. We can generate on the fly the metadata organized as the current file system using querys. We can have an "export-import" tool that generate the "namespace-zip" including metadata taken by querys and contents (or only URLs to contents) and vice versa. > >On platypus UI: >1. Viewing >- we have to see how can we have the user modify the templates with >ease, XSL which I like is too much for end-users, Velocity (Paolo >proposed) is pretty ok; but a solution in which the user can do >everything at CSS level only would be great (plus some includes of >header/footer) >- I'll study the collapsing of sidebars and sidebar boxes (as in simile) >- I'll see how can we display expandable trees in sidebar (for blank nodes) > > Ok. >2. Editing >- FCKEditor must be fully implemented into (with image upload, etc) >plus link types and transclusion. > > ok. >- any other ideas for triple editing (the super pull-down menus) such >that we don't load an entire namespace into the client UI? > > We have to think ... how ... One solution is to use a approach similar to the "simile logwell" using collapsable boxes, server side, for each namespaces/resources during the selection... a lot of work todo ... >Stefano, we were talking of Waterken (http://www.waterken.com/) and >Pico container (http://www.picocontainer.org/), and on web >continuations in java: https://rife.dev.java.net/ > > Thanks.. > > >More as I remember... I'm still dizzy after the trip. > >Cheers, > > I'm studying to design a "RDF repository independent" java interface ... Bye Bye Stefano |
From: Stefano C. <cam...@ya...> - 2004-11-23 09:36:11
|
Hello Laurian, I'd like to have already implemented this feature ... Roberto worked on it, for some time, but it seem he has not implemented yet ... We have many ideas and not enough time to transalte these ideas in code ... Bye Stefano Laurian Gridinoc wrote: >Hello, > >I made a manual/rough import of some e-mail schemas (is there any >simple way to import a schema into platypus?): > >http://www.wiredo.net:8080/platypus/doaml/ >and >http://www.wiredo.net:8080/platypus/thread/ >http://www.wiredo.net:8080/platypus/replyType/ > >I'm trying to establish a way of RDFizing emails, without blank nodes. > >I see that if I edit the RDF of a node, the namespace's RDF goes blank... > >Cheers, >Laur > > > |
From: Stefano C. <cam...@ya...> - 2004-11-22 16:36:53
|
Welcome on board Marco !! Bye Stefano Ing Marco Riva wrote: >Message body follows: > >dear Stefano, >I'm very happy to partecipate in the platypus denvelopment. > >Kind regards. > >Marco Riva > >-- >This message has been sent to you, a registered SourceForge.net user, >by another site user, through the SourceForge.net site. This message >has been delivered to your SourceForge.net mail alias. You may reply >to this message using the "Reply" feature of your email client, or >using the messaging facility of SourceForge.net at: >https://sourceforge.net/sendmessage.php?touser=1163850 > > > |
From: Laurian G. <la...@gm...> - 2004-11-18 13:44:06
|
Hello, Thank you for the postcard. I'll be in Ancona on 10 December :) Cheers, -- Laurian Gridinoc Chief Developer GRAPEFRUIT www.grapefruit.ro |
From: Laurian G. <la...@gm...> - 2004-09-26 01:38:10
|
On Sat, 25 Sep 2004 18:23:58 +0200, Paolo Castagna <p.c...@ti...> wrote: > > By this we can have some wikipages exhibit the needed behaviour for > > annotea queries and email archive thread listing. > ... we have discussed a lot with Roberto and Stefano... each page > should have some "code" associated with, a beavior... > > - a page has content in XHTML > - a page has metadata in RDF > - a page has beaviour in Python (with Jython) > - a page has a style/template/css > > ... you can associate a beaviour to a page with RDF, > the same with a template, ecc... you can inferre a > beaviour or a template for a page... :) why not? check the part/partData/view examples from http://haystack.lcs.mit.edu/documentation/ui.pdf (Chapter 5, page 39) You set the wiki page with a rdf:type, somewhere you define a template which has the reffered type as its domain, and you're there by a simple query :) Cheers, -- Laurian Gridinoc Chief Developer GRAPEFRUIT DESIGN www.gd.ro |
From: Laurian G. <la...@gm...> - 2004-09-25 15:15:35
|
Hello, On Sat, 25 Sep 2004 15:28:38 +0200, Paolo Castagna <p.c...@ti...> wrote: [...] > Yes... we must find a way to represent Bags, Seqs, ecc... > But for Bag of Bag? > Anyway... a tree with a [+] sign should be fine, but > has an high cost to implement, so for now we can posticipate > it... high cost in what way, too much info to render for one page? you won't display more than you have in the rdf file of the page... Cheers, -- Laurian Gridinoc Chief Developer GRAPEFRUIT DESIGN www.gd.ro |
From: Stefano C. <cam...@ya...> - 2004-09-22 15:39:07
|
Laurian Gridinoc wrote: > Stefano Campanini wrote: > >> Laurian Gridinoc wrote: >> >>> Looking over Annotea protocols [1], storing an annotation is not a >>> problem, i.e.: >>> /annotations/ namespace >>> /annotations/S2eeEfew24 an annotation (actual annotation as RDF, wiki >>> page maybe as annotated resource cached representation) >>> >>> Looking up annotations for a given subject, requires querying the >>> namespace, how does the Lucene search work in platypus, we'll need to >>> retrieve the metadata of all annotations (wiki pages) that are of >>> <rdf:type> <http://www.w3.org/2000/10/annotation-ns#Annotation>? >>> >>> [1] http://www.w3.org/2001/Annotea/User/Protocol.html >>> >> Now isn't implemented yet, but is in our plan. > > > Also, for both annotea and mail lists archive integration we'll need > that the output of a page, at least the namespace root page, to be > handled in various ways; we'll need a way of specifing this i.e. > having in metadata: > annotations:->platypus:handler->org.platypus.servlet.plugin.annotea > either in the RDF metadata of the page, either in a platypus only > metadate of the namespaces, either (simplest, but ugly case) in the > namespace links properties... > > Such that, when accessing /annotations/, the controller servlet will > redirect to the handler servlet > > Please feedback, > > Laur > Hi Laur, I'm working on the index... Paolo is the Servlet-Controller-Man, but in these days (I think this week) is away. I suggest you, to prepare the code to insert in the controller and send it to Paolo when he comeback .... he will see it and give you his feedback. But If you think isn't a big change do it. Bye Bye Laur |
From: Laurian G. <la...@gd...> - 2004-09-22 14:38:51
|
Stefano Campanini wrote: > Laurian Gridinoc wrote: > >> Looking over Annotea protocols [1], storing an annotation is not a >> problem, i.e.: >> /annotations/ namespace >> /annotations/S2eeEfew24 an annotation (actual annotation as RDF, wiki >> page maybe as annotated resource cached representation) >> >> Looking up annotations for a given subject, requires querying the >> namespace, how does the Lucene search work in platypus, we'll need to >> retrieve the metadata of all annotations (wiki pages) that are of >> <rdf:type> <http://www.w3.org/2000/10/annotation-ns#Annotation>? >> >> [1] http://www.w3.org/2001/Annotea/User/Protocol.html >> > Now isn't implemented yet, but is in our plan. Also, for both annotea and mail lists archive integration we'll need that the output of a page, at least the namespace root page, to be handled in various ways; we'll need a way of specifing this i.e. having in metadata: annotations:->platypus:handler->org.platypus.servlet.plugin.annotea either in the RDF metadata of the page, either in a platypus only metadate of the namespaces, either (simplest, but ugly case) in the namespace links properties... Such that, when accessing /annotations/, the controller servlet will redirect to the handler servlet Please feedback, Laur |
From: Stefano C. <cam...@ya...> - 2004-09-22 13:34:13
|
Laurian Gridinoc wrote: >Hello, > >On Thu, 16 Sep 2004 14:47:53 +0200, Stefano Campanini > 9. > > >> subj: integrate with Annotea >> tips: ?? >> >> > >Looking over Annotea protocols [1], storing an annotation is not a >problem, i.e.: >/annotations/ namespace >/annotations/S2eeEfew24 an annotation (actual annotation as RDF, wiki >page maybe as annotated resource cached representation) > >Looking up annotations for a given subject, requires querying the >namespace, how does the Lucene search work in platypus, we'll need to >retrieve the metadata of all annotations (wiki pages) that are of ><rdf:type> <http://www.w3.org/2000/10/annotation-ns#Annotation>? > >[1] http://www.w3.org/2001/Annotea/User/Protocol.html > >Cheers, > > Now isn't implemented yet, but is in our plan. Bye |
From: Laurian G. <la...@gm...> - 2004-09-22 13:05:38
|
On Wed, 22 Sep 2004 14:01:03 +0200, Stefano Campanini <cam...@ya...> wrote: > Laurian Gridinoc wrote: > > >I always thought at this sha1 result as an URI, I would use the > >already used format of identification of resources by sha1 content sum > >used in P2P software: > > > >urn:sha1:XSQCZ3UK3PPW6Y6HOVLTIX2QFMZ3TFFB > >----------------^ base32 of sha1 sum of the content - in our case of > >the n-triple > > > >I using for base32: com.bitzi.util.Base32: > >URI urn = new URI("urn", "sha1:" + Base32.encode(sha1digest), null); > > > >You proposed base64, I would go for base32, theoretically we would be > >able to identify (in the future) individual RDF statements over P2P > >networks :) > > > > > Hi Laurian, > > Where I can find an up-to-date copy of the com.bitzi.util.Base32 class ? > I found it, but in the context of other projects. I'd like to get the > original source. > It is better to find a LGPL o more free licensed code. In this manner, > in the future, we can change to" a more free open source" Platypus license. > > Thanks in advance. > Stefano > It is in public domain, I'm digging now for the original... http://bitzi.com/developer/code The javacode is derrived from bitcollider which is in public domain: http://sourceforge.net/projects/bitcollider and you have the java version in CVS http://cvs.sourceforge.net/viewcvs.py/bitcollider/jbitprint/src/com/bitzi/util/Base32.java?rev=1.1&view=auto labeled public domain Cheers, -- Laurian Gridinoc Chief Developer GRAPEFRUIT DESIGN www.gd.ro |
From: Laurian G. <la...@gm...> - 2004-09-22 12:51:23
|
Hello, On Thu, 16 Sep 2004 14:47:53 +0200, Stefano Campanini > 9. > subj: integrate with Annotea > tips: ?? Looking over Annotea protocols [1], storing an annotation is not a problem, i.e.: /annotations/ namespace /annotations/S2eeEfew24 an annotation (actual annotation as RDF, wiki page maybe as annotated resource cached representation) Looking up annotations for a given subject, requires querying the namespace, how does the Lucene search work in platypus, we'll need to retrieve the metadata of all annotations (wiki pages) that are of <rdf:type> <http://www.w3.org/2000/10/annotation-ns#Annotation>? [1] http://www.w3.org/2001/Annotea/User/Protocol.html Cheers, -- Laurian Gridinoc Chief Developer GRAPEFRUIT DESIGN www.gd.ro |
From: Stefano C. <cam...@ya...> - 2004-09-22 11:56:09
|
Laurian Gridinoc wrote: >I always thought at this sha1 result as an URI, I would use the >already used format of identification of resources by sha1 content sum >used in P2P software: > >urn:sha1:XSQCZ3UK3PPW6Y6HOVLTIX2QFMZ3TFFB >----------------^ base32 of sha1 sum of the content - in our case of >the n-triple > >I using for base32: com.bitzi.util.Base32: >URI urn = new URI("urn", "sha1:" + Base32.encode(sha1digest), null); > >You proposed base64, I would go for base32, theoretically we would be >able to identify (in the future) individual RDF statements over P2P >networks :) > > Hi Laurian, Where I can find an up-to-date copy of the com.bitzi.util.Base32 class ? I found it, but in the context of other projects. I'd like to get the original source. It is better to find a LGPL o more free licensed code. In this manner, in the future, we can change to" a more free open source" Platypus license. Thanks in advance. Stefano |
From: Laurian G. <la...@gm...> - 2004-09-20 09:53:20
|
Hello, On Fri, 17 Sep 2004 18:35:46 +0200, Stefano Emilio Campanini [...] > >>In Platypus, when we create a refication we put the new resource (the > >>refified triple) in the namespcace "reifications", so the URI is > >>something like this: reifications:_086yskjf (reification+_CRC(s,p,o)). > >>I consider this " reifications:_086yskjf" as the ID/URI of the triple, > >>isn't it? > >I won't add semantics to the URI, in this case using a schema for > >identifying reified statements, if your sha1(statement) is in the > >system, then is reified. > >>If a triple isn't reificated? what is it's ID/URI? > >same, but if you don;t have its sha1 ID in the index, you may assume > >is not reified, at least not in the system :) > >It would be dangerous to change the ID of a statement just to mark > >that is reified, and won't be interoperable. > Yes... > Following the Playtipus Way we have to permit to create a page (XHTM) > that describe the statement as for others resources. So, we need a > namespace or a better way (We have to invent it) to save the "index.rdf" > and the "index.html" describing it as other Wiki resources. > Do you think it is useful for the user reificate a triple and describe > it using a wiki page? yes, we may consider the wiki page as an human readable explanation of the reification... > I propose that way: > * All Wiki triples are in an implicit way reificated (only in the index) > and its URI is as your proposal (new URI("urn", "sha1:" + > Base32.encode(sha1digest), null) .... You mean are in an implicit way identified bu the proposed URI scheme... > * If a user wants to create a wiki page that describe a triple we have > to save RDF reification (s, o, p etc...) and the page. Where we can > save the page? For the moment they are saved under "reification" > namespace/dir. Would be ok, for the sake of microcontent. > We add some semantics to the triple .. yes ... but ... the user create > it intentionally, using the one determined Wiki Installation. I found > the adding of this semantics not well but not so bad. > So, I suggest to permit the user to save it in any other namespace > selecting it. hmmm, why not `under' the current resource? :) for /foo/bar we have the refication wiki page under /foo/bar/reified? Cheers, -- Laurian Gridinoc Chief Developer GRAPEFRUIT DESIGN www.gd.ro |
From: Stefano E. C. <cam...@ya...> - 2004-09-17 16:31:41
|
Laurian Gridinoc wrote: >On Fri, 17 Sep 2004 09:18:24 +0200, Stefano Campanini ><cam...@ya...> wrote: > > >>>On Wed, 15 Sep 2004 07:16:15 +0200, Paolo Castagna >>> >>> >>>>>>... we need an unique identifier for a statement >>>>>>in the index and for reification. >>>>>> <subject uri> <predicate uri> <object uri> >>>>>>Is there any problem if we use SHA1? >>>>>> sha1(<subject uri> <predicate uri> <object uri>)? >>>>>> >>>>>> >>Ok, I have added the follow methods in MetaManager class: >>/* >> *@return the Triple ID >> * >> */ >> public static String getStmtId(final URI subject, final URI >>predicate, final URI object) throws NoSuchAlgorithmException { >> final String tbDigest = >>subject.toString()+predicate.toString()+object.toString(); >> byte[] digest = getDigest(tbDigest.getBytes()); >> Base64 base = new Base64(); >> byte[] encoded = base.encode(digest); >> final String result = new String(encoded); >> return result; >> } >> >>So, we can calculate the ID of triples (tbd: literals ). >> >> > >Instead of sha1 of strings concatenation: >subject.toString()+predicate.toString()+object.toString() >I would propose sha1 of the n-triple.toString() representing the >triple, I think this will include the optional xsd datatype and >language too, and would be easyer to describe/interoperate. > >Consider: > ><http://www.grapefruit.ro> <http://purl.org/dc/terms/1.0/title> "Grapefruit" . > >sha1("http://www.grapefruit.rohttp://purl.org/dc/terms/1.0/titleGrapefruit") >doesn't look nice but: >sha1("<http://www.grapefruit.ro> <http://purl.org/dc/terms/1.0/title> >\"Grapefruit\" .") does, I would include the final . too, for ease of >script processing if ever needed by us or by third parties. > >also using n-triples would allow to identify by different URIs these statements: ><http://www.grapefruit.ro> <http://purl.org/dc/terms/1.0/title> "Grapefruit" . ><http://www.grapefruit.ro> <http://purl.org/dc/terms/1.0/title> >"Grapefruit"@en . ><http://www.grapefruit.ro> <http://purl.org/dc/terms/1.0/title> >"Grapefruit"^^xsd:string . > > Ok, is better use n-triple.toStirng(): > > >>I'd like thinking at the ID as a URI of the triple. In fact, this is >>what happen during the reification. >> >> > >I always thought at this sha1 result as an URI, I would use the >already used format of identification of resources by sha1 content sum >used in P2P software: > >urn:sha1:XSQCZ3UK3PPW6Y6HOVLTIX2QFMZ3TFFB >----------------^ base32 of sha1 sum of the content - in our case of >the n-triple > >I using for base32: com.bitzi.util.Base32: >URI urn = new URI("urn", "sha1:" + Base32.encode(sha1digest), null); > >You proposed base64, I would go for base32, theoretically we would be >able to identify (in the future) individual RDF statements over P2P >networks :) > > Ok, I like it. > > >>In Platypus, when we create a refication we put the new resource (the >>refified triple) in the namespcace "reifications", so the URI is >>something like this: reifications:_086yskjf (reification+_CRC(s,p,o)). >>I consider this " reifications:_086yskjf" as the ID/URI of the triple, >>isn't it? >> >> > >I won't add semantics to the URI, in this case using a schema for >identifying reified statements, if your sha1(statement) is in the >system, then is reified. > > > >>If a triple isn't reificated? what is it's ID/URI? >> >> > >same, but if you don;t have its sha1 ID in the index, you may assume >is not reified, at least not in the system :) > >It would be dangerous to change the ID of a statement just to mark >that is reified, and won't be interoperable. > > Yes... Following the Playtipus Way we have to permit to create a page (XHTM) that describe the statement as for others resources. So, we need a namespace or a better way (We have to invent it) to save the "index.rdf" and the "index.html" describing it as other Wiki resources. Do you think it is useful for the user reificate a triple and describe it using a wiki page? I propose that way: * All Wiki triples are in an implicit way reificated (only in the index) and its URI is as your proposal (new URI("urn", "sha1:" + Base32.encode(sha1digest), null) .... * If a user wants to create a wiki page that describe a triple we have to save RDF reification (s, o, p etc...) and the page. Where we can save the page? For the moment they are saved under "reification" namespace/dir. We add some semantics to the triple .. yes ... but ... the user create it intentionally, using the one determined Wiki Installation. I found the adding of this semantics not well but not so bad. So, I suggest to permit the user to save it in any other namespace selecting it. What do you think Laurian ? >>May be: >>namespace:_SHA1 (subjURI, predicateURI, objectURI/Literal) >>Or directly >>SHA1 (subjURI, predicateURI, objectURI/Literal) >>In my opinion we are creating a new RDF resource naming it, so it could >>be in a fixed "installation depending" namespace. >>I need this ID, becouse I use it to "add" or "remove" triples from the >>Lucene index. >> >> > >Cheers, > > In these days I start working on Unique Identifiers for triple in ways that you suggested above to use it in the Lucene index. Bye Bye |
From: Laurian G. <la...@gm...> - 2004-09-17 12:31:02
|
On Fri, 17 Sep 2004 09:18:24 +0200, Stefano Campanini <cam...@ya...> wrote: > >On Wed, 15 Sep 2004 07:16:15 +0200, Paolo Castagna > >>>>... we need an unique identifier for a statement > >>>>in the index and for reification. > >>>> <subject uri> <predicate uri> <object uri> > >>>>Is there any problem if we use SHA1? > >>>> sha1(<subject uri> <predicate uri> <object uri>)? > Ok, I have added the follow methods in MetaManager class: > /* > *@return the Triple ID > * > */ > public static String getStmtId(final URI subject, final URI > predicate, final URI object) throws NoSuchAlgorithmException { > final String tbDigest = > subject.toString()+predicate.toString()+object.toString(); > byte[] digest = getDigest(tbDigest.getBytes()); > Base64 base = new Base64(); > byte[] encoded = base.encode(digest); > final String result = new String(encoded); > return result; > } > > So, we can calculate the ID of triples (tbd: literals ). Instead of sha1 of strings concatenation: subject.toString()+predicate.toString()+object.toString() I would propose sha1 of the n-triple.toString() representing the triple, I think this will include the optional xsd datatype and language too, and would be easyer to describe/interoperate. Consider: <http://www.grapefruit.ro> <http://purl.org/dc/terms/1.0/title> "Grapefruit" . sha1("http://www.grapefruit.rohttp://purl.org/dc/terms/1.0/titleGrapefruit") doesn't look nice but: sha1("<http://www.grapefruit.ro> <http://purl.org/dc/terms/1.0/title> \"Grapefruit\" .") does, I would include the final . too, for ease of script processing if ever needed by us or by third parties. also using n-triples would allow to identify by different URIs these statements: <http://www.grapefruit.ro> <http://purl.org/dc/terms/1.0/title> "Grapefruit" . <http://www.grapefruit.ro> <http://purl.org/dc/terms/1.0/title> "Grapefruit"@en . <http://www.grapefruit.ro> <http://purl.org/dc/terms/1.0/title> "Grapefruit"^^xsd:string . > I'd like thinking at the ID as a URI of the triple. In fact, this is > what happen during the reification. I always thought at this sha1 result as an URI, I would use the already used format of identification of resources by sha1 content sum used in P2P software: urn:sha1:XSQCZ3UK3PPW6Y6HOVLTIX2QFMZ3TFFB ----------------^ base32 of sha1 sum of the content - in our case of the n-triple I using for base32: com.bitzi.util.Base32: URI urn = new URI("urn", "sha1:" + Base32.encode(sha1digest), null); You proposed base64, I would go for base32, theoretically we would be able to identify (in the future) individual RDF statements over P2P networks :) > In Platypus, when we create a refication we put the new resource (the > refified triple) in the namespcace "reifications", so the URI is > something like this: reifications:_086yskjf (reification+_CRC(s,p,o)). > I consider this " reifications:_086yskjf" as the ID/URI of the triple, > isn't it? I won't add semantics to the URI, in this case using a schema for identifying reified statements, if your sha1(statement) is in the system, then is reified. > If a triple isn't reificated? what is it's ID/URI? same, but if you don;t have its sha1 ID in the index, you may assume is not reified, at least not in the system :) It would be dangerous to change the ID of a statement just to mark that is reified, and won't be interoperable. > May be: > namespace:_SHA1 (subjURI, predicateURI, objectURI/Literal) > Or directly > SHA1 (subjURI, predicateURI, objectURI/Literal) > In my opinion we are creating a new RDF resource naming it, so it could > be in a fixed "installation depending" namespace. > I need this ID, becouse I use it to "add" or "remove" triples from the > Lucene index. Cheers, -- Laurian Gridinoc Chief Developer GRAPEFRUIT DESIGN www.gd.ro |
From: Stefano C. <cam...@ya...> - 2004-09-17 07:13:38
|
Laurian Gridinoc wrote: >On Wed, 15 Sep 2004 07:16:15 +0200, Paolo Castagna > > >>>>... we need an unique identifier for a statement >>>>in the index and for reification. >>>> <subject uri> <predicate uri> <object uri> >>>>Is there any problem if we use SHA1? >>>> sha1(<subject uri> <predicate uri> <object uri>)? >>>> >>>> >>>Very OK with me, I mentioned it in a discussion about reification: >>>http://lists.w3.org/Archives/Public/www-rdf-interest/2004Aug/0194.html >>>but no one argued back with me :( >>> >>> >>So, it's decided: we'll use SHA1 ;) >>I don't know how to tell in english... but: >>"chi tace acconsente" :) >> >> Ok, I have added the follow methods in MetaManager class: /* *@return the Triple ID * */ public static String getStmtId(final URI subject, final URI predicate, final URI object) throws NoSuchAlgorithmException { final String tbDigest = subject.toString()+predicate.toString()+object.toString(); byte[] digest = getDigest(tbDigest.getBytes()); Base64 base = new Base64(); byte[] encoded = base.encode(digest); final String result = new String(encoded); return result; } private static byte[] getDigest(byte[] buffer) throws NoSuchAlgorithmException { MessageDigest md5 = MessageDigest.getInstance("SHA1"); md5.update(buffer); return md5.digest(); } So, we can calculate the ID of triples (tbd: literals ). I'd like thinking at the ID as a URI of the triple. In fact, this is what happen during the reification. In Platypus, when we create a refication we put the new resource (the refified triple) in the namespcace "reifications", so the URI is something like this: reifications:_086yskjf (reification+_CRC(s,p,o)). I consider this " reifications:_086yskjf" as the ID/URI of the triple, isn't it? If a triple isn't reificated? what is it's ID/URI? May be: namespace:_SHA1 (subjURI, predicateURI, objectURI/Literal) Or directly SHA1 (subjURI, predicateURI, objectURI/Literal) In my opinion we are creating a new RDF resource naming it, so it could be in a fixed "installation depending" namespace. I need this ID, becouse I use it to "add" or "remove" triples from the Lucene index. Any ideas? |