Thanks for the (very very) quick reply ! I've already implemented my little 
hack (I knew it was one :) ). I deploy it on our dev server so that other 
developers can work on top of it and I'll start working on a PR right away.
I loved working with OrientDB so far and your reply make me wanted to do 
even more :)
Thanks.

On Wednesday, February 11, 2015 at 8:44:07 AM UTC+1, Luigi Dell'Aquila 
wrote:
>
> Hi guys,
>
> you have two easy ways to do this (the first one is easier IMHO):
> 1. copy Dijkstra implementation to another class (put it in the same 
> package and give it another name), do your changes and register it in com
> .orientechnologies.orient.graph.sql.functions.OGraphFunctionFactory. 
> Then, in the OrientDB sources root directory and type
>
> > ant clean install
>
> the build process will create a distribution for you (you need Java and 
> Ant installed)
>
> 2. write your own function in a separate Java project, then create a .jar 
> file from that and copy it in the /libs directory; you also have to 
> register it (see 
> http://www.orientechnologies.com/docs/last/orientdb.wiki/SQL-Functions.html 
> )
>
> Or you could just wait for this to be implemented ;-) 
> https://github.com/orientechnologies/orientdb/issues/1975
> but it's low priority at this time, so it will probably take a few weeks.
>
> @Rémi the trick of putting a high weight on edges to ignore is actually a 
> hack, 
> but it will work fine and I think it won't be so inefficient in the end ;-)
>
> Luigi
>
>
>
>
> 2015-02-11 8:29 GMT+01:00 Rémi ALVADO <[email protected] <javascript:>>:
>
>> Hi Luigi,
>>
>> I'm new to graph databases and I have the same question as Georg 
>> regarding shortestPath restricted to an edge class. I think you're right 
>> and it will probably spend a few hours preparing a pull request to 
>> implement this kind of filter in OSQLFunctionShortestPath.java 
>> <https://github.com/orientechnologies/orientdb/blob/develop/graphdb/src/main/java/com/orientechnologies/orient/graph/sql/functions/OSQLFunctionShortestPath.java>.
>>  
>> I have the same issue Georg has : it's been a while since my last Java 
>> project and, even if it shouldn't be too hard to write the code, I will 
>> spend countless hours trying to prepare a dev environment :(
>>
>> But, on short term, would it be a good idea to use Dijkstra algorithm 
>> while playing with weights. I explain : I have a graph with User and 
>> Company vertices. One User can be Connected to another User, one User can 
>> Follow a Company and one Company can have been FoundedBy a User. So, a 
>> typical graph would be : 
>>
>> User A -> Connected -> User B -> Connected -> User C -> Connected -> User 
>> D
>>
>> User A -> Follow -> Company B -> FoundedBy -> User D
>>
>> When I try to get the shortestPath between User A and User D, I would get 
>> the second path (the one using Company B). I'm using this query to help 
>> User A to get in touch with User D. User B and User C are real people so 
>> they can introduce User A to User D. Something that Company B obviously 
>> can't do :(
>> Is it a good idea to add a "userConnectionWeight" attribute to Connected 
>> edges with value 0 and to Follow and FoundedBy edges with value 99999999 
>> so that the dijkstra algorithm would return the first path ? It seems like 
>> a bit of a hack, don't you think ? :(
>> I'm using OrientDB 2.0.1 BTW.
>> Thanks !
>>
>>
>> On Tuesday, February 10, 2015 at 8:53:58 AM UTC+1, Luigi Dell'Aquila 
>> wrote:
>>>
>>> Hi Georg,
>>>
>>> in current implementation it's not possible. Anyway Dijkstra and 
>>> ShortestPath functions are quite simple (links to the source code below), 
>>> you could just implement your own version starting from them and (why not?) 
>>> send a pull request and become OrientDB contributor.
>>>
>>> https://github.com/orientechnologies/orientdb/
>>> blob/develop/graphdb/src/main/java/com/orientechnologies/
>>> orient/graph/sql/functions/OSQLFunctionShortestPath.java
>>>
>>>
>>> https://github.com/orientechnologies/orientdb/
>>> blob/develop/graphdb/src/main/java/com/orientechnologies/
>>> orient/graph/sql/functions/OSQLFunctionDijkstra.java
>>>
>>> Thanks
>>>
>>> Luigi
>>>
>>> 2015-02-10 3:20 GMT+01:00 Georg Göttlich <[email protected]>:
>>>
>>>> Hello eveyone.
>>>>
>>>> I wanted to know if there is a way to restrict path finding 
>>>> (shortestPath, Dijkstra) to a certain type of Edges?
>>>>
>>>> If not, what would be the suggested route to integrate this (and also 
>>>> the dynamic weight property feature from my other post) myself?
>>>>
>>>> Thanks a lot.
>>>>
>>>> Cheers
>>>> Georg
>>>>
>>>> -- 
>>>>
>>>> --- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "OrientDB" 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 
>> "OrientDB" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" 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