Thanks Luigi.  Creating an abstract class to represent an interface won't 
work*.  If you did this then the interface implementers would have to 
inherit from the interface class, which it turn would mean they could not 
inherit from any erstwhile superclasses.  Reference the small class diagram 
image I included earlier.  If Zapper where made a class then, in order to 
create an edge between an instance of Foo and an instance of Baz, class Baz 
would have to inherit from class Zapper.  This is not possible if class Baz 
already inherits from class Bar.

For now I'm substituting all interfaces with class V and implementing 
additional type checking in the application layer.  I'm still really 
excited to finally be given the go ahead to try to replace our use of RDBMS 
with OrientDB and I'm forging ahead.

* Note -- I'm entirely wrong about this if OrientDB supports multiple 
inheritance.  I can't find any indication that it does.  Please let me know 
if I'm wrong because it will make things much easier for me.

It would be really nice to have ability to have the storage model (i.e. 
OrientDB) more closely represent the classifiers used to implement a 
problem domain in the application layer.  While I'm not a fan of multiple 
inheritance for classes, interfaces are a very good idea and multiple 
inheritance for interfaces (i.e. interfaces can extend multiple interfaces) 
is quite acceptable.  This is quite normal in Java (and lots of other 
languages).  Consider this a feature request ;-)

Thanks,
Michael



On Tuesday, February 26, 2019 at 2:27:58 AM UTC-5, Luigi Dell'Aquila wrote:
>
> Hi Michael,
>
> OrientDB does not have a concept for interfaces, but you can use abstract 
> classes and make them extends V (so that you can then create edges between 
> them)
>
> I hope it helps
>
> Thanks
>
> Luigi
>
> Il giorno lun 25 feb 2019 alle ore 16:17 Michael Faughn <
> [email protected] <javascript:>> ha scritto:
>
>> I'm having a go at implementing an OGM for Ruby.  More precisely, an OGM 
>> that is driven by UML class diagrams.  Is there a good way to handle 
>> properties that are typed as interfaces?  
>>
>> Referencing the image below, how can I create a property for class Foo 
>> that is typed as a link to a Zapper?  How can I create an edge to a Zapper?
>>
>>
>>
>>
>>
>> [image: orient_iface_example.jpg]
>>
>> -- 
>>
>> --- 
>> 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