[
https://issues.apache.org/jira/browse/STANBOL-1183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13800540#comment-13800540
]
Rupert Westenthaler edited comment on STANBOL-1183 at 10/21/13 1:29 PM:
------------------------------------------------------------------------
# Entity Disambiguation Context
Describes the disambiguation context known for an Entity. An `EntityContext`
may have several `ContextField<VT>`. Those fields may represent different types
of contexts (e.g. spacial, social, ...). An EntityContext defines values of
type `<VT>` for a given `ContextField`. Optionally those values can be
`Weighted`.
{code}
EntityContext
uri :: String // the URI of the entity
fields :: Set<ContextField<VT>> //fields present in the context
values(ContextField<VT> field) :: Set<VT>
ContextField<VT>
uri :: String // the property of the field
valueType :: Class<VT> // the generic type of values
weighted :: boolean //if VT implements Weighted
<<additional metadata>>
Weighted /* used for values with weight */
weight :: double //the weight
{code}
The value MUST BE available via the "toString() :: String" method of the
`ContextField#valueType` property. This will allow valueType agnostic
implementations. For simple implementations `java.lang.String` can be used as
`valueType`.
# EntityContextProvider
This service will provide `EntityContext` information for Entities
{code}
EntityContextProvider
boolean knowsEntity(Sugestion suggestion)
EntityContext getContext(Sugestion suggestion)
{code}
EntityContextProvider will also need to have some additional OSGI properties to
allow engines to filter for them (e.g. a name). Properties might also be
implementation specific (e.g. the Entityhub Site name ...)
# Possible Implementations
* Entityhub based
* Entityhub Site based implementation of the `EntityContextProvider`
* Entityhub Representation based implementation of the `EntityContext`
* No support for `Weighted`possible
* Entityhub Indexing Tool can be used to generate contexts. Especially
LDPath can be very useful for the creation of those)
* Also Yards backed by RDF triple stores could be used (Clerezza, Sesame)
* Lucene/Solr based
* `EntityContextProvider` based on simple get requests. Provider needs to
be configured with the ContextField#uri to Solr field name mappings.
* SolrDocument based implementation of `EntityContext`
* No support for `Weighted`possible
* Clerezza based
* `EntityContextProvider based on TripleCollection
* `EntityContext` based on GraphNode
* Sesame based
* Jena based
* Blueprint/Tinkerpop based
* as this uses a property graph it could even support `Weighted`
* [~adperezmorales] also used Tinkerpop for his Disambiguation engine
(STANBOL-1156)
was (Author: rwesten):
# Entity Disambiguation Context
Describes the disambiguation context known for an Entity. An `EntityContext`
may have several `ContextField<VT>`. Those fields may represent different types
of contexts (e.g. spacial, social, ...). An EntityContext defines values of
type `<VT>` for a given `ContextField`. Optionally those values can be
`Weighted`.
{code}
EntityContext
uri :: String // the URI of the entity
fields :: Set<ContextField<VT>> //fields present in the context
values(ContextField<VT> field) :: Set<VT>
ContextField<VT>
uri :: String // the property of the field
valueType :: Class<VT> // the generic type of values
weighted :: boolean //if VT implements Weighted
<<additional metadata>>
Weighted /* used for values with weight */
weight :: double //the weight
{code}
The value MUST BE available via the "toString() :: String" method of the
`ContextField#valueType` property. This will allow valueType agnostic
implementations. For simple implementations `java.lang.String` can be used as
`valueType`.
# EntityContextProvider
This service will provide `EntityContext` information for Entities
{code}
EntityContextProvider
boolean knowsEntity(Sugestion suggestion)
EntityContext getContext(Sugestion suggestion)
{code}
EntityContextProvider will also need to have some additional OSGI properties to
allow engines to filter for them (e.g. a name). Properties might also be
implementation specific (e.g. the Entityhub Site name ...)
> Stanbol Disambiguation API
> --------------------------
>
> Key: STANBOL-1183
> URL: https://issues.apache.org/jira/browse/STANBOL-1183
> Project: Stanbol
> Issue Type: New Feature
> Reporter: Rupert Westenthaler
>
> Module providing an API for implementing disambiguation enhancement engines.
--
This message was sent by Atlassian JIRA
(v6.1#6144)