Return-Path: X-Original-To: apmail-incubator-stanbol-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-stanbol-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5E2327656 for ; Mon, 15 Aug 2011 18:19:06 +0000 (UTC) Received: (qmail 38942 invoked by uid 500); 15 Aug 2011 18:19:06 -0000 Delivered-To: apmail-incubator-stanbol-dev-archive@incubator.apache.org Received: (qmail 38897 invoked by uid 500); 15 Aug 2011 18:19:05 -0000 Mailing-List: contact stanbol-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stanbol-dev@incubator.apache.org Delivered-To: mailing list stanbol-dev@incubator.apache.org Received: (qmail 38889 invoked by uid 99); 15 Aug 2011 18:19:05 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Aug 2011 18:19:05 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of sreckojoksimovic@gmail.com designates 209.85.161.47 as permitted sender) Received: from [209.85.161.47] (HELO mail-fx0-f47.google.com) (209.85.161.47) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Aug 2011 18:18:58 +0000 Received: by fxg11 with SMTP id 11so4065794fxg.6 for ; Mon, 15 Aug 2011 11:18:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:references:in-reply-to:subject:date:message-id:mime-version :content-type:content-transfer-encoding:x-mailer:thread-index :content-language; bh=VuvTA9hGKWNLzRyup9GuMIzVvFqpo+k1kfdPSeodByY=; b=wx/wYkmaNoYiCOg4htgkzDlYMWb47+4FhoQrt+nc7kgQVzm8Pjon9cy1jGXht5ur2j rGhi2GxIiQy6H4CD5bsrricKSm8+y/jzL5rIdTv50vQJOT2zErX6HyCm7SNkRk3pUT8+ 0HAUKxedTss5IJU3eQjvG6WXd/kneVKNrL7qA= Received: by 10.223.2.139 with SMTP id 11mr1820898faj.102.1313432318350; Mon, 15 Aug 2011 11:18:38 -0700 (PDT) Received: from Joksimovic (dynamic-91-185-108-22.cpe.vektor.net [91.185.108.22]) by mx.google.com with ESMTPS id 6sm5208779fas.26.2011.08.15.11.18.34 (version=SSLv3 cipher=OTHER); Mon, 15 Aug 2011 11:18:36 -0700 (PDT) From: "Srecko Joksimovic" To: "'Rupert Westenthaler'" , References: In-Reply-To: Subject: RE: Apache Stanbol Date: Mon, 15 Aug 2011 20:18:00 +0200 Message-ID: <002301cc5b77$ab7a8130$026f8390$@com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AcxbWas8AIbgh5GqT+a/10nFN+sO8wAHdL7Q Content-Language: en-us X-Virus-Checked: Checked by ClamAV on apache.org Hi, I will have to try this, as soon as possible, but I am sure it will be = alright. Thank you very much! Best, Srecko Joksimovic -----Original Message----- From: Rupert Westenthaler [mailto:rupert.westenthaler@gmail.com]=20 Sent: Monday, August 15, 2011 16:43 To: srecko joksimovic; stanbol-dev@incubator.apache.org Subject: Re: Apache Stanbol On Mon, Aug 15, 2011 at 3:06 PM, srecko joksimovic wrote: > That was the problem! Great! It works now. > Still, my old (boring) question... how to access service from Java > application and post string which I would like to annotate? I know how = to > implement service client, but could you describe me the process in = this > case? to send text to the stanbol enhancer you need to use the /engines = endpoint For the documentation go to http://localhost:8080/engines and click on REST API in the right top corner. Here a small example using Apache Commons IOUtils and the normal java.net classes URL url =3D new URL("http://localhost:8080/engines"); HttpURLConnection con =3D = (HttpURLConnection)url.openConnection(); con.setDoOutput(true); con.setRequestMethod("POST"); con.setRequestProperty("Accept", "application/rdf+xml"); con.setRequestProperty("Content-type", "text/plain"); OutputStream out =3D con.getOutputStream(); IOUtils.write("The text to enhance", out); IOUtils.closeQuietly(out); con.connect(); //send the request if(con.getResponseCode() > 299){ //assume an error //error response InputStream errorStream =3D con.getErrorStream(); if(errorStream !=3D null){ String errorMessage =3D IOUtils.toString(errorStream); IOUtils.closeQuietly(errorStream); //write a error message } else { //no error data //write default error message with the status code } } else { //get the enhancement results InputStream enhancementResults =3D con.getInputStream(); //parse this stream to the RDF/XML parser of the RDF = framework of //you choice } best Rupert > Best, > Srecko Joksimovic > On Mon, Aug 15, 2011 at 1:22 PM, Rupert Westenthaler > wrote: >> >> On Mon, Aug 15, 2011 at 1:12 PM, srecko joksimovic >> wrote: >> > Hi, >> > I have to ask again... >> > I posted this command: curl -X POST -d "name=3DOptimization" >> > http://localhost:8080/entityhub/find >> > and the result is as follows: >> > { >> > "query": { >> > "selected": [ >> > >> > "http:\/\/www.iks-project.eu\/ontology\/rick\/model\/description", >> > = "http:\/\/www.iks-project.eu\/ontology\/rick\/query\/score", >> > = "http:\/\/www.iks-project.eu\/ontology\/rick\/model\/label" >> > ], >> > "constraints": [{ >> > "type": "text", >> > "patternType": "wildcard", >> > "text": "Optimization", >> > "field": >> > "http:\/\/www.iks-project.eu\/ontology\/rick\/model\/label" >> >> Looks like that the default search field for the Entityhub is still >> "http:\/\/www.iks-project.eu\/ontology\/rick\/model\/label" and not >> rdfs:label. >> >> I was in the impression that I have changed that some time ago to >> "rdfs:label" as it is the case for ReferencedSites. >> >> In that case you need to explicitly parse rdfs:label as field as in = the >> following example >> >> curl -X POST -d >> = "name=3DOptimization&field=3Dhttp://www.w3.org/2000/01/rdf-schema#label" >> http://localhost:8080/entityhub/find >> >> best >> Rupert >> >> > }], >> > "limit": 5, >> > "offset": 0 >> > }, >> > "results": [] >> > } >> > I did something wrong, but I am not sure what. Could you please = help me >> > on >> > this one? >> > On Mon, Aug 15, 2011 at 12:28 PM, Rupert Westenthaler >> > wrote: >> >> >> >> Hi >> >> >> >> On Mon, Aug 15, 2011 at 12:12 PM, srecko joksimovic >> >> wrote: >> >> > Thank you! >> >> > Now I got message which says: >> >> > Unable to create an Entity that does already exist >> >> >> >> This simple tells you that an Entity you tried to create already >> >> existed. >> >> So I assume that a previous import of your Ontology was = successful. >> >> >> >> > as I understand, this means that I did it right first time. How = I can >> >> > read >> >> > ID of this Entity? I did not use -v switch first time when I = tried >> >> > upload, >> >> > and now I do not know ID. Or maybe I do, but I am not aware of >> >> > that... >> >> >> >> You should know the URIs of the concepts in your Ontology. >> >> >> >> curl http://localhost:8080/entityhub/entity?id=3D{concept-uri} >> >> >> >> If you know some labels you can also use the query service >> >> >> >> curl -X POST -d "name=3D{label}" = http://localhost:8080/entityhub/find >> >> >> >> name takes wildcard searches such as "Her?a*" and reaches for = values >> >> of the "rdfs:label" property. >> >> >> >> if you want to search labels for properties other than = "rdfs:label" >> >> you can use the field parameter. >> >> Here an example for searching all Persons with a "foaf:name" = "Ivan*" >> >> >> >> curl -X POST -d = "name=3DIvan*&field=3Dhttp://xmlns.com/foaf/0.1/name" >> >> http://localhost:8080/entityhub/find >> >> >> >> >> >> As an alternative you could also use the query interface as = described >> >> on >> >> >> >> http://localhost:8080/entityhub/query >> >> >> >> best >> >> Rupert >> >> >> >> > And only one more simple question... Could you please provide me = a >> >> > code >> >> > example? I will try to search archive, or other resources that = you >> >> > gave >> >> > me. >> >> > Anyway, I would be grateful if you could help me. >> >> > Once again, thank you very much! >> >> > Best, >> >> > Srecko Joksimovic >> >> > On Mon, Aug 15, 2011 at 11:57 AM, Rupert Westenthaler >> >> > wrote: >> >> >> >> >> >> Hi >> >> >> >> >> >> On Mon, Aug 15, 2011 at 11:06 AM, srecko joksimovic >> >> >> wrote: >> >> >> > Hello Mr Westenthaler, >> >> >> > I have configured Apache Stanbol. I can access services using >> >> >> > http://localhost:8080. I tried to do steps that you = described, and >> >> >> > I >> >> >> > did >> >> >> > not >> >> >> > have a problem with step 2, but I am not sure that I did step >> >> >> > 1 correctly. >> >> >> > When I issued command like this one: >> >> >> > curl -X POST -H "Content-Type: application/rdf+xml" --data >> >> >> > "@acm_ccs-proton_rdfxml.owl" >> >> >> > http://localhost:8080/entityhub/entity >> >> >> > I got response: >> >> >> > curl: (52) Empty reply from server >> >> >> > This file which I am trying to upload is almost 1MB big. It = should >> >> >> > not >> >> >> > be a >> >> >> > problem with memory. >> >> >> > Do you have any idea what could be a problem? How I can check = that >> >> >> > I >> >> >> > did >> >> >> > the >> >> >> > job correctly? >> >> >> >> >> >> >> >> >> when you add the '-v' switch to 'curl' than you should see the >> >> >> returned HTTP status code of the response. >> >> >> >> >> >> In case of a success the server returns a "201 Created" and the = ID >> >> >> of >> >> >> the first created entity in the >> >> >> Location header field >> >> >> >> >> >> here an example of an response after importing the FOAF file of = Ivan >> >> >> Herman >> >> >> >> >> >> < HTTP/1.1 201 Created >> >> >> < Location: >> >> >> >> >> >> >> >> >> = http://localhost:8080/entityhub/entity?id=3Dhttp://www.ivan-herman.net/fo= afExtras.rdf%23Liddy >> >> >> >> >> >> with a simple curl request to the url returned for the Location >> >> >> header >> >> >> you can easily test the imported data for this entity. To test = other >> >> >> resources simple exchange the URI. >> >> >> >> >> >> best >> >> >> Rupert Westenthaler >> >> >> >> >> >> > Best, >> >> >> > Srecko Joksimovic >> >> >> > On Tue, Aug 9, 2011 at 4:45 PM, Rupert Westenthaler >> >> >> > wrote: >> >> >> >> >> >> >> >> Hallo Mr Srecko Joksimovic >> >> >> >> >> >> >> >> Two initial Notes: >> >> >> >> >> >> >> >> * I am sending this also to the stanbol-dev list, because I = am on >> >> >> >> vacation until end of August and will only read/answer mails = from >> >> >> >> time >> >> >> >> to time until than. So maybe others of the Stanbol community = will >> >> >> >> be >> >> >> >> able to answer questions more quickly then myself. >> >> >> >> * I am sending this reply via my gmail account, because = somehow I >> >> >> >> am >> >> >> >> not able to connect to the SMTP server of = salzburgresearch.at. >> >> >> >> >> >> >> >> - - - >> >> >> >> >> >> >> >> Actually this is possible by using the TaxonomyLinkingEngine = that >> >> >> >> is >> >> >> >> currently in development. >> >> >> >> >> >> >> >> Basically there are two steps: >> >> >> >> >> >> >> >> (1) upload your Ontology to the Entityhub >> >> >> >> (2) configure an instance of the TaxonomyLinkingEngine to = use >> >> >> >> your >> >> >> >> ontology (as stored by the Entityhub) to enhance your = documents >> >> >> >> >> >> >> >> >> >> >> >> for (1) there are two possibilities >> >> >> >> >> >> >> >> (1a) upload your ontology directly to the "/entityhub" >> >> >> >> >> >> >> >> If you have a Stanbol instance running at >> >> >> >> "http://localhost:8080/" >> >> >> >> the >> >> >> >> followng curl command can be used to upload an RDF graph = (such as >> >> >> >> your >> >> >> >> ontology) >> >> >> >> >> >> >> >> curl -X POST -H "Content-Type: application/rdf+xml" --data >> >> >> >> "@{rdfXmlFile}" http://localhost:8080/entityhub/entity >> >> >> >> >> >> >> >> This assumes that your Ontology is encoded as >> >> >> >> "application/rdf+xml". >> >> >> >> {rdfXmlFile} denotes to the path to the file on the local = file >> >> >> >> system. >> >> >> >> Please also have a look at [1] for a more detailed = description on >> >> >> >> how >> >> >> >> to upload RDF data to the "/entityhub" endpoint. >> >> >> >> >> >> >> >> (1b) manage the RDF data as an own ReferencedSite >> >> >> >> >> >> >> >> The Entityhub also supports the configuration of so called >> >> >> >> ReferencedSites. This allows to manage different RDF = datasets >> >> >> >> (e.g. >> >> >> >> dbpedia.org, geonames.org, IPTC thesaurus [2], your = ontology, >> >> >> >> ...). >> >> >> >> Such sites are read-only and accessible under >> >> >> >> http://localhost:8080/entityhub/site/{siteId} >> >> >> >> >> >> >> >> Stanbol also includes an indexing tool that helps you in = creating >> >> >> >> such >> >> >> >> "referencedSites" for local datasets (such as your = Ontology). A >> >> >> >> detailed description of this process can be found at [3]. = [2] is >> >> >> >> a >> >> >> >> specific configuration of [3] for the IPTC thesaurus. >> >> >> >> >> >> >> >> In general for testing I would suggest to use (1a) because = it is >> >> >> >> much >> >> >> >> easer to start with. However (1a) will require to load your >> >> >> >> ontology >> >> >> >> in memory therefore it will not work for big datasets. In >> >> >> >> addition >> >> >> >> (1b) allows you to optimize your ontology (by defining = mappings) >> >> >> >> during the indexing process and it gives you the possibility = to >> >> >> >> use >> >> >> >> different Ontologies for enhancing your content. Therefore = for >> >> >> >> more >> >> >> >> complex usage scenarios option (1b) is typically the better >> >> >> >> solution. >> >> >> >> >> >> >> >> (2) Configure the TaxonomylinkingEngine >> >> >> >> >> >> >> >> This Engine is by default included in the Full launcher of >> >> >> >> Stanbol. >> >> >> >> If >> >> >> >> you prefer the stable launcher you will need to manually = install >> >> >> >> it >> >> >> >> (e.g. by using the Apache Felix Wenconsole accessible under >> >> >> >> http://localhost:8080/system/console default user: admin = pwd: >> >> >> >> admin). >> >> >> >> The bundle to install can be found at >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> = "{stanbol-trunk}/enhancer/engines/taxonomylinking/target/org.apache.stanb= ol.enhancer.engine.taxonomy-0.9.0-incubating-SNAPSHOT.jar" >> >> >> >> >> >> >> >> Assuming a running Stanbol Instance that includes the >> >> >> >> TaxonomyLinkingEngine the following steps are required for = the >> >> >> >> configuration: >> >> >> >> 1. go the "configuration tab" >> >> >> >> (http://localhost:8080/system/console/configMgr) >> >> >> >> 2. search for "Apache Stanbol Enhancement Engine for = Taxonomy >> >> >> >> linking" >> >> >> >> 3. pres on the [+] button on the end of this line (this will = open >> >> >> >> the >> >> >> >> dialog to configure a new instance of this engine) >> >> >> >> 4. configure the source. If you used (1a) put "entityhub" in = case >> >> >> >> of >> >> >> >> (1b) you must enter the siteId of the referenced site. >> >> >> >> 5. configure the property used to search for labels of the >> >> >> >> concepts >> >> >> >> in >> >> >> >> your Ontology. The default is rdfs:label (typically used for >> >> >> >> labeling >> >> >> >> concepts within ontologies, but you might also want to use a >> >> >> >> different >> >> >> >> one based on your ontology >> >> >> >> >> >> >> >> I would not recommend to change any other properties because = this >> >> >> >> engine is currently under development and changes to this = values >> >> >> >> might >> >> >> >> not be implemented or even worse break this engine. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> best >> >> >> >> Rupert Westenthaler >> >> >> >> >> >> >> >> [1] http://markmail.org/message/plertstj6fx4xutj >> >> >> >> [2] http://markmail.org/message/rgwug74s3u6olrby >> >> >> >> [3] >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> = http://svn.apache.org/repos/asf/incubator/stanbol/trunk/entityhub/indexin= g/genericrdf/README.md >> >> >> >> >> >> >> >> Am 08.08.2011, 22:53 Uhr, schrieb srecko joksimovic >> >> >> >> : >> >> >> >> > >> >> >> >> > Hello Mr Westenthaler, >> >> >> >> > >> >> >> >> > Mr Pereira gave me your contact, in order to ask you a few >> >> >> >> > questions >> >> >> >> > about >> >> >> >> > Apache Stanbol. I suppose that you have received Mr = Pereira's >> >> >> >> > email >> >> >> >> > which he >> >> >> >> > sent to me, and you maybe already know what the problem = is. >> >> >> >> > >> >> >> >> > Mr Pereira suggested me to use Apache Stanbol. The idea is = to >> >> >> >> > load >> >> >> >> > my >> >> >> >> > ontology, and than to call method which is going to = annotate >> >> >> >> > provided >> >> >> >> > text, >> >> >> >> > based on loaded ontology. Could you please explain to me = how to >> >> >> >> > implement >> >> >> >> > scenario which I described using Apache Stanbol? If you = could >> >> >> >> > provide >> >> >> >> > me >> >> >> >> > a >> >> >> >> > code example, I would be very grateful. >> >> >> >> > >> >> >> >> > Thank you very much. >> >> >> >> > >> >> >> >> > Best, >> >> >> >> > Srecko Joksimovic >> >> >> >> >> >> >> >> -- >> >> >> >> | Rupert Westenthaler = rupert.westenthaler@gmail.com >> >> >> >> | Bodenlehenstra=C3=9Fe 11 >> >> >> >> ++43-699-11108907 >> >> >> >> | A-5500 Bischofshofen >> >> >> > >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> | Rupert Westenthaler rupert.westenthaler@gmail.com >> >> >> | Bodenlehenstra=C3=9Fe 11 = ++43-699-11108907 >> >> >> | A-5500 Bischofshofen >> >> > >> >> > >> >> >> >> >> >> >> >> -- >> >> | Rupert Westenthaler rupert.westenthaler@gmail.com >> >> | Bodenlehenstra=C3=9Fe 11 = ++43-699-11108907 >> >> | A-5500 Bischofshofen >> > >> > >> >> >> >> -- >> | Rupert Westenthaler rupert.westenthaler@gmail.com >> | Bodenlehenstra=C3=9Fe 11 = ++43-699-11108907 >> | A-5500 Bischofshofen > > --=20 | Rupert Westenthaler rupert.westenthaler@gmail.com | Bodenlehenstra=C3=9Fe 11 ++43-699-11108907 | A-5500 Bischofshofen