Hmm,

taking a look at the code it seems you use Tinkerpop GraphSail, as that
implementation doesn't support labels or probably better representation of
rdf as property-graph I wonder what it would take to rewrite GraphSail as
part of this extension to properly support the Neo4j property graph model.

I think you should be able to get the size requirements down to a minimal
level and performance up a lot.


On Sat, Nov 22, 2014 at 3:05 AM, Michael Hunger <
[email protected]> wrote:

> Niclas, do you have the perf tests as part of the repository?
>
> On Sat, Nov 22, 2014 at 2:13 AM, Michael Hunger <
> [email protected]> wrote:
>
>> Hey Niclas, when looking at your post, I wondered how you do your cypher
>> query and thought you could easily speed up performance by a factor of 100
>> or 1000
>>
>> look at these nodes -> if you added the "kind" as a label to each node,
>> like :Uri, :Literal, :BNode  and then created an index on :Label(value) for
>> each of those.
>> You could even leave off the "kind" properties then.
>>
>> Alternatively for a quick win you can add a "generic" label, like ":Node"
>> and create an index on :Node(value)
>>
>> Then (depending on the way you resolve things in your sparql impl, you
>> should be able to speed it up massively, by using the label + value to find
>> things (either via cypher or embedded api (graphdb.findByLabelAndProperty()
>>
>> Michael
>>
>> (a {kind: "uri", value: "http://example.com"; })
>> A literal node:
>> (a {kind: "literal", value: "Text", type: "
>> http://www.w3.org/2001/XMLSchema#"})
>> A blank node:
>> (a {kind: "bnode" value: "genid--b1234"})
>>
>>
>> On Sat, Nov 22, 2014 at 2:10 AM, Andrii Stesin <[email protected]> wrote:
>>
>>> Hi Bo,
>>>
>>> yes it definitely has something in common. Would you please mind
>>> pointing me to some explanations, why reification is considered so harmful?
>>>
>>> I see some interesting points there, namely
>>>
>>> The subject of a reification
>>>> <http://www.w3.org/TR/2014/REC-rdf11-mt-20140225/#dfn-reification> is
>>>> intended to refer to a concrete realization of an RDF triple, such as a
>>>> document in a surface syntax, rather than a triple considered as an
>>>> abstract object. This *supports use cases where properties such as
>>>> dates of composition or provenance information are applied to the reified
>>>> triple*, which are meaningful *only when thought of as referring to a
>>>> particular instance* or token of a triple.
>>>
>>>
>>> it seems worth the attention at the very least. And also
>>>
>>> Since the relation between triples and reification
>>>> <http://www.w3.org/TR/2014/REC-rdf11-mt-20140225/#dfn-reification>s of
>>>> triples in any RDF graph or graphs need not be one-to-one, asserting a
>>>> property about some entity described by a reification
>>>> <http://www.w3.org/TR/2014/REC-rdf11-mt-20140225/#dfn-reification>
>>>> need not entail that the same property holds of another such entity, even
>>>> if it has the same components.
>>>
>>>
>>> This seems interesting to me. Also I like dictionary approach like in RDF
>>> HDT format <http://www.rdfhdt.org/technical-specification/#triples>.
>>> What do you think about this combination as a basic data model?
>>>
>>> WBR,
>>> Andrii
>>>
>>> On Saturday, November 22, 2014 12:12:16 AM UTC+2, Bo Ferri wrote:
>>>>
>>>> Hi Andrii,
>>>> well, this looks like a re-incarnation of RDF reification [1], which is
>>>> the worst modelling option for subject-predicate-object statements in
>>>> my
>>>> mind ;)
>>>>
>>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Neo4j" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to