stanbol-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rupert Westenthaler <rupert.westentha...@gmail.com>
Subject Re: Apache Stanbol
Date Mon, 29 Aug 2011 12:59:26 GMT
On Wed, Aug 17, 2011 at 11:46 AM, srecko joksimovic
<sreckojoksimovic@gmail.com> wrote:
> Hi,
> I have to say that everything works perfectly!

good to hear

> I can find there both of my concepts mentioned in the sentence. I also have
> "http://www.lornet.org/acm-ccs/proton#Alias_794fe2e1-441b-4565-bb0e-4d6f0cabed1f"
> But, could you please tell me if it is possible to get
> http://www.lornet.org/acm-ccs/proton#A.2 ?
> What should I do to get Class in result, and not just Alias?

Sorry, but this is not possible. The stanbol enhancer will always
include the Resource that defines the label and this is the Alias.
As a workaround you could use the Entityhub to query for the Class of
the returned Alias.

Based on the provided excerpt of your Ontology parsing this JSON
FieldQuery to the query service of the Entityhub
(http://localhost:8080/entityhub/query) should provide the Class for
the Alias.

    {
    "constraints": [{
        "type": "reference",
        "field": "http://www.lornet.org/acm-ccs/proton#hasMainAlias",
        "value":
"http://www.lornet.org/acm-ccs/proton#Alias_794fe2e1-441b-4565-bb0e-4d6f0cabed1f",
        }]
    }

best
Rupert

> Best,
> Srecko Joksimovic
> On Mon, Aug 15, 2011 at 8:18 PM, Srecko Joksimovic
> <sreckojoksimovic@gmail.com> wrote:
>>
>> 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]
>> 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
>> <sreckojoksimovic@gmail.com> 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 = new URL("http://localhost:8080/engines");
>>        HttpURLConnection con = (HttpURLConnection)url.openConnection();
>>        con.setDoOutput(true);
>>        con.setRequestMethod("POST");
>>        con.setRequestProperty("Accept", "application/rdf+xml");
>>        con.setRequestProperty("Content-type", "text/plain");
>>        OutputStream out = 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 = con.getErrorStream();
>>            if(errorStream != null){
>>                String errorMessage = 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 = 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
>> > <rupert.westenthaler@gmail.com> wrote:
>> >>
>> >> On Mon, Aug 15, 2011 at 1:12 PM, srecko joksimovic
>> >> <sreckojoksimovic@gmail.com> wrote:
>> >> > Hi,
>> >> > I have to ask again...
>> >> > I posted this command: curl -X POST -d "name=Optimization"
>> >> > 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=Optimization&field=http://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
>> >> > <rupert.westenthaler@gmail.com> wrote:
>> >> >>
>> >> >> Hi
>> >> >>
>> >> >> On Mon, Aug 15, 2011 at 12:12 PM, srecko joksimovic
>> >> >> <sreckojoksimovic@gmail.com> 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={concept-uri}
>> >> >>
>> >> >> If you know some labels you can also use the query service
>> >> >>
>> >> >>    curl -X POST -d "name={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=Ivan*&field=http://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
>> >> >> > <rupert.westenthaler@gmail.com> wrote:
>> >> >> >>
>> >> >> >> Hi
>> >> >> >>
>> >> >> >> On Mon, Aug 15, 2011 at 11:06 AM, srecko joksimovic
>> >> >> >> <sreckojoksimovic@gmail.com> 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=http://www.ivan-herman.net/foafExtras.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
>> >> >> >> > <rupert.westenthaler@gmail.com> 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.stanbol.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/indexing/genericrdf/README.md
>> >> >> >> >>
>> >> >> >> >> Am 08.08.2011, 22:53 Uhr, schrieb srecko joksimovic
>> >> >> >> >> <sreckojoksimovic@gmail.com>:
>> >> >> >> >> >
>> >> >> >> >> > 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ße 11
>> >> >> >> >> ++43-699-11108907
>> >> >> >> >> | A-5500 Bischofshofen
>> >> >> >> >
>> >> >> >> >
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> --
>> >> >> >> | Rupert Westenthaler             rupert.westenthaler@gmail.com
>> >> >> >> | Bodenlehenstraße 11
>> >> >> >> ++43-699-11108907
>> >> >> >> | A-5500 Bischofshofen
>> >> >> >
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> | Rupert Westenthaler             rupert.westenthaler@gmail.com
>> >> >> | Bodenlehenstraße 11                            
++43-699-11108907
>> >> >> | A-5500 Bischofshofen
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> | Rupert Westenthaler             rupert.westenthaler@gmail.com
>> >> | Bodenlehenstraße 11                             ++43-699-11108907
>> >> | A-5500 Bischofshofen
>> >
>> >
>>
>>
>>
>> --
>> | Rupert Westenthaler             rupert.westenthaler@gmail.com
>> | Bodenlehenstraße 11                             ++43-699-11108907
>> | A-5500 Bischofshofen
>>
>
>



-- 
| Rupert Westenthaler             rupert.westenthaler@gmail.com
| Bodenlehenstraße 11                             ++43-699-11108907
| A-5500 Bischofshofen

Mime
View raw message